逆向学习-windows对话框资源
【摘要】 对话框的创建模态对话框和非模态对话框的区别就是 非模态对话框 如果被打开了 你还可以继续操作这个对话框后面的其他对话框就比如这个属性对话框就是一个非模态对话框 打开它的同时 一样可以操作后面的main.app这些创建非模态对话框往对话框添加东西 也是很简单的 直接拖直接点工具箱 想添加什么 拖过去就行了然后保存 然后在来运行刚才的程序添加的东西也都在上面创建模态对话框要用EndDialog ...
模态对话框和非模态对话框的区别就是 非模态对话框 如果被打开了 你还可以继续操作这个对话框后面的其他对话框
就比如这个属性对话框就是一个非模态对话框 打开它的同时 一样可以操作后面的main.app这些
创建非模态对话框
往对话框添加东西 也是很简单的 直接拖
直接点工具箱 想添加什么 拖过去就行了
然后保存 然后在来运行刚才的程序
添加的东西也都在上面
创建模态对话框
要用EndDialog 函数来终止
#include<Windows.h>
#include<CommCtrl.h>
#include"resource.h"
INT_PTR CALLBACK Dlgproc( //回调函数
HWND hWnd,
UINT Umsg,
WPARAM wparam,
LPARAM lparam
)
{
switch (Umsg)
{
case WM_INITDIALOG:
{
MessageBoxW(hWnd, L"窗口创建了", L"标题", MB_OK);
break;
}
case WM_CLOSE:
{
/*DestroyWindow(hWnd);
PostQuitMessage(0);*/
EndDialog(hWnd, 0);
}
default:
{
return FALSE;
}
}
return TRUE;
}
int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nShowCmd
)
{
DialogBoxW(hInstance, MAKEINTRESOURCEW(IDD_DIALOG1), NULL, Dlgproc); //创建模态对话框
//HWND hwnd=CreateDialogW(hInstance, MAKEINTRESOURCEW(IDD_DIALOG1),NULL,Dlgproc);//创建非模态对话框
//ShowWindow(hwnd, SW_SHOWNORMAL);//显示对话框
//MSG msg{ 0 };
//while (GetMessage(&msg,0,0,0)) //发送消息
//{
// TranslateMessage(&msg);
// DispatchMessageW(&msg);
//}
return 0;
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)