#include <windows.h>
LRESULT CALLBACK WinProc(HWND window,UINT msg,WPARAM wParam,LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
HWND hwnd;
WNDCLASSEX win;//Declara variável para a classe da janela
MSG message;
win.cbClsExtra=0;//Quantidade extra de dados alocados na meória pela classe
win.cbSize=sizeof(win);//Tamanho da estrutura
win.cbWndExtra=0;//Quantidade extra de dados alocados na meória pela classe por cada janela do tipo especifidado.
win.hbrBackground=GetSysColorBrush(COLOR_WINDOW);//Cor de fundo da janela
win.hCursor=LoadCursor(NULL,IDC_ARROW);//Ponteiro do mouse
win.hIcon=LoadIcon(NULL,IDI_APPLICATION);//O ícone da janela
win.hIconSm=LoadIcon(NULL,IDI_APPLICATION);//Ícone da janela quando é pressionado ALT+TAB.
win.hInstance=hInstance;//Instância da janela, o mesmo valor declarado em WinMain.
win.lpfnWndProc=WinProc;//Função que irá receber as mensagens enviadas à nossa janela. Esta é a função que controla os eventos, como cliques, movimento de mouse, etc.
win.lpszClassName="Janela";//Nome da classe da janela
win.lpszMenuName=NULL;//Especifica o nome de do menu a ser utilizado na janela.
win.style=0;//Especifica o tipo inicial da janela.
if(!RegisterClassEx(&win))//Registra nossa classe, caso ocorra um erro, o programa encerra.
return 0;
hwnd = CreateWindowEx(0,"Janela","Minha janelinha",WS_OVERLAPPED|WS_SYSMENU,300,****400,400,NULL,NULL,hInstance,NULL);
if(hwnd == NULL)
return 0;
ShowWindow(hwnd,SW_SHOW);
UpdateWindow(hwnd);
while(GetMessage(&message,0,0,0)){
TranslateMessage(&message);
DispatchMessage(&message);
}
return message.wParam;
}
LRESULT CALLBACK WinProc(HWND window,UINT msg,WPARAM wParam,LPARAM lParam){
switch(msg)
{
case WM_CLOSE:
DestroyWindow(window);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(window, msg, wParam, lParam);
}
return 0;
}