Windows窗口創建的具體步驟

/*
實現窗口創建的六步驟:
第一步:創建入口函數WinMain
第二步:註冊窗口類
第三部:實現回調函數的功能
第四步:顯示窗口
第五步:更新窗口
第六步:消息循環
*/

#include "stdafx.h"
//回調函數
LRESULT CALLBACK WinProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam )
{
switch(uMsg)
{
case WM_CREATE:
{
MessageBox(NULL,"即將創建一個窗口!","Infor",MB_OK);
}
break;
case WM_DESTROY:
{
PostQuitMessage(0);
}
break;
}
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}
//創建入口函數
int APIENTRY WinMain(
 HINSTANCE hInstance,  
 HINSTANCE hPrevInstance,
 LPSTR lpCmdLine,
 int ShowCmd
 )
{
HWND hWnd=0;
MSG nMsg={0};
//註冊窗口類
WNDCLASS cs={0};
cs.cbClsExtra=0;
cs.cbWndExtra=0;
cs.hbrBackground=(HBRUSH)(COLOR_WINDOW+2);
cs.hCursor=NULL;
cs.hIcon=NULL;
cs.hInstance=hInstance;
cs.lpfnWndProc=(WNDPROC)WinProc;
cs.lpszClassName="Main";
cs.lpszMenuName=NULL;
cs.style=CS_VREDRAW|CS_HREDRAW;
RegisterClass(&cs);//實現註冊窗口
//創建窗口
hWnd=CreateWindow("Main","Windows",WS_OVERLAPPEDWINDOW,200,200,500,500,NULL,NULL,hInstance,NULL);
//顯示窗口
ShowWindow(hWnd,SW_SHOW);
//更新窗口
UpdateWindow(hWnd);
//消息循環
while(GetMessage(&nMsg,0,NULL,NULL))
{
TranslateMessage(&nMsg);
DispatchMessage(&nMsg);
}
return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章