Windows - Agregar botón a ventana

   
Vista:

Agregar botón a ventana

Publicado por Daniel (16 intervenciones) el 09/09/2008 23:57:53
Hola a todos
Les pido una ayudita para poder seguir.-
Lo que necesito es que alguien me diga las líneas que debo ingresar y en que lugar para agregarle a esta ventana un botón y una etiqueta (creo que así se llaman) El curso que estoy leyendo dice como hacerlo pero todos están en ventanas que son activadas a través de menúes y lo que quiero es tenerlos en la ventana principal.-

---------------------------------------------------------------------------------------------------------------------------
#include <windows.h>

#include "ids.h"

LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain (HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)
{
int iWidth = 500, iHeight = 300;
int iLeft = (GetSystemMetrics(SM_CXSCREEN ) / 2)-(iWidth / 2);
int iTop= (GetSystemMetrics(SM_CYSCREEN ) / 2)-(iHeight / 2);

HWND hwnd;
MSG mensaje;
WNDCLASSEX wincl;

wincl.hInstance = hInstance;
wincl.lpszClassName = "NUESTRA_CLASE";
wincl.lpfnWndProc = WindowProcedure;
wincl.style = CS_DBLCLKS;
wincl.cbSize = sizeof (WNDCLASSEX);
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL;
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hbrBackground = GetSysColorBrush(10);

if(!RegisterClassEx(&wincl)) return 0;

hwnd = CreateWindowEx(
0,
"NUESTRA_CLASE",
" Gestión comercial",
WS_OVERLAPPEDWINDOW,
iLeft, iTop, iWidth, iHeight,
HWND_DESKTOP, // La ventana es hija del escritorio
LoadMenu(hInstance, "Menu"),
hInstance,
NULL
);

ShowWindow(hwnd, SW_SHOWDEFAULT);

while(TRUE == GetMessage(&mensaje, NULL, 0, 0))
{
TranslateMessage(&mensaje);
DispatchMessage(&mensaje);
}
return mensaje.wParam;
}

LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg)
{
case WM_COMMAND:
switch(LOWORD(wParam))
{
case CM_ARTICULOS:
MessageBox(hwnd, " No desarrollado ", " Artículos ", MB_OK);
break;
case CM_CLIENTES:
MessageBox(hwnd, " No desarrollado ", " Clientes ", MB_OK);
break;
case CM_SALIR:
PostQuitMessage(0);
break;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, msg, wParam, lParam);
}
return 0;
}
---------------------------------------------------------------------------------------------------------------------------

Desde ya muchas gracias
Un gran saludo
El autodidacta Daniel C++
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Agregar botón a ventana

Publicado por Daniel (16 intervenciones) el 11/09/2008 04:31:14
Hola a todos
Bueno al fin pude lograrlo, estoy seguro que me adelante porque alguien que ayuda en este foro seguramente
iba a poner la solución, pero hago esto porque estoy ansioso por seguir adelante.-
Después de mostrar el código les voy a pedir una nueva ayuda.-
---------------------------------------------------------------------------------------------------------------------------------------------
...................
...................
hThisInstance,
NULL
);

#define BOTON 1001
HWND boton = CreateWindowEx(0,"BUTTON"," &Salir" ,
BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP,
400,220,80,40,hwnd,(HMENU)BOTON,NULL,NULL);
SetFocus(boton);

SetMenu( hwnd, LoadMenu(hThisInstance, "Menu") );
.......................
.......................

.......................
.......................
switch (mensaje)
{

case WM_COMMAND:
if(LOWORD(wParam) == BOTON)
PostQuitMessage (0);
break;
.......................
.......................
---------------------------------------------------------------------------------------------------------------------------------------------
Lo que necesito es hacer esto del botón pero sin ponerlo en el .cpp principal sino en un archivo de recursos.-

Desde ya muchas gracias
Un gran abrazo
El autodidacta Daniel C++
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Agregar botón a ventana

Publicado por francis (1 intervención) el 02/10/2014 18:12:30
Yo la verdad que no entiendo nada y soy menos que un aprendiz, pero creo que el boton es como una funcion y que sentido tiene que hagas una funcion en el rc si en llamarla desde el archivo main va ocupar el mismo espacio que la propia funcion a no se que hagas un control donde puedas poner muchos otros botones y todos desde el enlace de una ventanita tipo menu por ejemplo. Igual es solo mi opinion pero ya te digo que soy menos que novato, me sirvió tu codigo asias y un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar