win32编程 -- 无模式对话框

简介: win32编程 -- 无模式对话框

一、新建项目,导入创建好的空窗口程序


二、添加菜单资源


0a2653c851af460fa595bd959398a8f1.png


在注册窗口挂起菜单


wc.lpszMenuName = (wchar_t*)IDR_MENU1;


三、添加对话框资源


0eacb84100b54626af849e6b562bf92a.png

2d65d23f6d4748949b924e4057485923.png


四、创建对话框窗口处理函数

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,后者关闭的是对话框,进程没关闭

目录
相关文章
|
7月前
win32编程 -- 模式对话框
win32编程 -- 模式对话框
41 1
|
7月前
win32编程 -- 菜单资源
win32编程 -- 菜单资源
40 1
|
7月前
|
索引
win32编程 -- 菜单使用
win32编程 -- 菜单使用
27 1
|
7月前
win32编程 -- 系统菜单及右键菜单
win32编程 -- 系统菜单及右键菜单
90 1
|
7月前
win32编程 -- 窗口注册与创建
win32编程 -- 窗口注册与创建
53 0
win11取消右键菜单折叠恢复经典传统菜单模式方法解决
win11取消右键菜单折叠恢复经典传统菜单模式方法解决
518 0
win32编程 -- 无模式对话框
win32编程 -- 无模式对话框
106 0
win32编程 -- 无模式对话框
MobaXterm 设置在使用export DISPLAY=xx.xx.xx.xx:0.0后调用图形化界面不弹出提示方法
MobaXterm 设置在使用export DISPLAY=xx.xx.xx.xx:0.0后调用图形化界面不弹出提示方法
604 0
MobaXterm 设置在使用export DISPLAY=xx.xx.xx.xx:0.0后调用图形化界面不弹出提示方法
|
Windows
MFC中修改默认启动对话框方法
// CMyAppEApp 初始化BOOL CMyAppEApp::InitInstance(){// 如果一个运行在 Windows XP 上的应用程序清单指定要// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,//则需要 InitCommonControls()。
1410 0