一、新建项目,导入创建好的空窗口程序
二、添加菜单资源
在注册窗口挂起菜单
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) { HWND hwndd=CreateDialog(g_hInstance, (wchar_t*)IDD_DIALOG1, hWnd, 对话框处理); ShowWindow(hwndd, SW_SHOW); } void 命令消息(HWND hWnd, WPARAM wParam) { switch (LOWORD(wParam)) { case ID_wumoshi: 无模式(hWnd);//创建无模式对话框 break; } }
六、关闭对话框,在对话框窗口处理函数里面关闭
switch (msgID) { case WM_DESTROY: MessageBox(hWnd, L"xiaohui", L"le", MB_OK); break; case WM_SYSCOMMAND:// 最大化和最小化都在这里处理 if (wParam == SC_CLOSE) { DestroyWindow(hWnd); //EndDialog(hWnd, 1); } break; }
注意:
关闭模式对话框,只能使用DestroyWindow,不能使用EndDialog,后者关闭的是对话框,进程没关闭