一、第一个窗口程序
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;
}