標籤:windows 編程 c++ sdk mfc
一、第一個視窗程序
1 入口函數 WinMain
2 視窗處理函數
LRESULT CALLBACK WndProc( HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam )
{
return DefWindowProc( hWnd, nMsg, wParam, lParam );
}
當視窗處理訊息事件時 調用該函數
LRESULT CALLBACK WndProc( HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam )
{
return DefWindowProc( hWnd, nMsg, wParam, lParam )
}
3 註冊視窗類別型
typedef struct _WNDCLASS { UINT style; //視窗風格 WNDPROC lpfnWndProc; //視窗處理函數指標 int cbClsExtra; //視窗類別的附加資料大小 int cbWndExtra; //視窗的附加大小
HINSTANCE hInstance; //當前應用程式的執行個體控制代碼 HICON hIcon; //視窗的表徵圖 HCURSOR hCursor; //視窗的滑鼠 HBRUSH hbrBackground; //背景畫刷 LPCTSTR lpszMenuName; //菜單 LPCTSTR lpszClassName; //類型名稱} WNDCLASS, *PWNDCLASS;
RegisterClass
4 建立視窗
HWND CreateWindow( LPCTSTR lpClassName, // 視窗類別型名稱 LPCTSTR lpWindowName, // 視窗名稱 DWORD dwStyle, // 視窗風格 int x, // 視窗左上方x座標 int y, // 視窗左上方y座標 int nWidth, // 視窗寬度 int nHeight, // 視窗高度 HWND hWndParent, // 父視窗控制代碼 HMENU hMenu, // 當前視窗菜單控制代碼 HINSTANCE hInstance, // 應用程式的執行個體控制代碼 LPVOID lpParam // 視窗建立的參數);
5 顯示視窗
void DisPlayWnd( HWND hWnd )
{
ShowWindow( hWnd, SW_SHOW );
UpdateWindow( hWnd );
}
6 訊息處理
GetMessage 擷取訊息
DispstchMessage 派發訊息
7 程式退出
視窗銷毀時視窗退出
switch( nMsg )
{
case WM_DESTROY:
PostQuitMessage( 0 );
return 0;
}