一、新建项目,导入创建好的空窗口程序
二、添加菜单资源
在注册窗口挂起菜单
wc.lpszMenuName = (wchar_t*)IDR_MENU1;
三、添加对话框资源
四、创建对话框窗口处理函数
INT CALLBACK 对话框处理(HWND hWnd, UINT msgID, WPARAM wParam, LPARAM lParam) { //将消息交给系统的对话框窗口处理函数,true,完全自己处理 return FALSE; }
五、添加命令消息处理函数
case WM_COMMAND: 命令消息(hWnd, wParam); break; void 模式(HWND hWnd) { DialogBox(g_hInstance, (wchar_t*)IDD_DIALOG1, hWnd, 对话框处理); } void 命令消息(HWND hWnd, WPARAM wParam) { switch (LOWORD(wParam)) { case ID_moshi: 模式(hWnd);//创建模式对话框 break; } }
六、关闭对话框,在对话框窗口处理函数里面关闭
switch (msgID) { case WM_SYSCOMMAND:// 最大化和最小化都在这里处理 if (wParam==SC_CLOSE) { EndDialog(hWnd, 1); } break; }
注意:
关闭模式对话框,只能使用EndDialog,不能使用DestroyWindow,后者只是关闭对话框没有接触阻塞状态