資源描述:
《【win32】編寫程序窗口的步驟.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、QQ交流群:14973398,期待你的加入!第一個(gè)窗口程序環(huán)境:VisualC++6.0.File—New—workspaceFile—New—Project—Win32Application—ASimpleApplication—finishe—OK步驟:1.定義WinMain函數(shù):程序的入口2.定義窗口過(guò)程函數(shù):處理消息1)窗口過(guò)程函數(shù)2)缺省過(guò)程函數(shù)3.注冊(cè)窗口類:先注冊(cè)才能創(chuàng)建1)窗口類結(jié)構(gòu)體:WNDCLASSEXwcex;2)注冊(cè)窗口類RegisterClass(&exec);4.創(chuàng)建窗口:在內(nèi)存中創(chuàng)建窗口對(duì)象,并不可見(jiàn)。Create
2、Window,返回值為步驟5所用5.顯示窗口:在屏幕上顯示窗口1)顯示:ShowWindow(步驟4的句柄,顯示方式)2)刷新:UpdateWindow(步驟4的句柄)6.消息循環(huán):重復(fù)執(zhí)行提取消息、翻譯消息、派發(fā)消息,處理消息1)從窗口的消息隊(duì)列中提取一條消息GetMessage2)將虛鍵消息翻譯為字符消息TranslateMessage3)將消息派發(fā)到窗口過(guò)程函數(shù)DispatchMessage4)在窗口過(guò)程函數(shù)中處理消息,即執(zhí)行步驟2程序:#include"stdafx.h"LPCTSTRg_pszAppName="WinHello";//
3、應(yīng)用程序名,用于標(biāo)題欄(全局)LPCTSTRg_pszMainWndClass="MAIN";//主窗口類名,窗口的標(biāo)識(shí)(全局)HINSTANCEg_hInstance=NULL;//應(yīng)用程序的實(shí)例句柄(全局)//主窗口過(guò)程函數(shù),LRESULTCALLBACKMainWndProc(HWNDhWnd,UINTuMsg,WPARAMwParam,LPARAMlParam){switch(uMsg){caseWM_DESTROY:PostQuitMessage(0);return0;}returnDefWindowProc(hWnd,uMsg,wP
4、aram,lParam);}//注冊(cè)窗口類typedefunsignedshortWORD;typedefWORDATOM;ATOMInitApplication(HINSTANCEhInstance){WNDCLASSEXwcex={0};//定義窗口類,以下設(shè)置窗口類成員屬性,可查WNDCLASSEXwcex.cbSize=sizeof(wcex);//結(jié)構(gòu)體的大小,在調(diào)用GetClassInfoEx函數(shù)確保已設(shè)置。wcex.style=CS_HREDRAW
5、CS_VREDRAW;//窗口風(fēng)格wcex.lpfnWndProc=MainWnd
6、Proc;//窗口過(guò)程函數(shù)wcex.cbClsExtra=0;//窗口類附加數(shù)據(jù)緩沖區(qū)字節(jié)數(shù)wcex.cbWndExtra=0;//窗口附加數(shù)據(jù)緩沖區(qū)字節(jié)數(shù)wcex.hInstance=hInstance;//窗口實(shí)例句柄wcex.hIcon=LoadIcon(NULL,IDI_APPLICATION);//大圖標(biāo)QQ交流群:14973398,期待你的加入!wcex.hIconSm=LoadIcon(NULL,IDI_APPLICATION);//小圖標(biāo)wcex.hCursor=LoadCursor(NULL,IDC_ARROW);//光標(biāo)wc
7、ex.hbrBackground=GetSysColorBrush(COLOR_WINDOW);//背景wcex.lpszMenuName=NULL;//菜單項(xiàng),MAKEINTRESOURCE(IDR_MENU1)wcex.lpszClassName=g_pszMainWndClass;//窗口類名returnRegisterClassEx(&wcex);//注冊(cè)窗口類,直接為CreateWindowEx調(diào)用函數(shù)所使用.}//創(chuàng)建并顯示窗口BOOLInitInstance(HINSTANCEhInstance,intnCmdShow){g_hI
8、nstance=hInstance;HWNDhwndMain=CreateWindowEx(//返回創(chuàng)建窗口句柄WS_EX_CLIENTEDGE,//ExtendedWindowStyles,本例為3D效果窗口g_pszMainWndClass,//注冊(cè)的類名g_pszAppName,//窗體名,標(biāo)題欄顯示名稱WS_OVERLAPPEDWINDOW,//窗口風(fēng)格CW_USEDEFAULT,//窗體水平位置CW_USEDEFAULT,//窗體垂直位置CW_USEDEFAULT,//窗體寬度CW_USEDEFAULT,//窗體高度NULL,//窗體
9、句柄NULL,//菜單句柄hInstance,//實(shí)例窗體句柄NULL);//創(chuàng)建窗體的數(shù)據(jù)if(!hwndMain)returnFALSE;Show