文章目录
1.对话框
普通窗口:自定义函数调用缺省函数
对话框窗口:缺省参数调用自定义函数
-
对话框的分类
模式对话框 - 当对话框显示时,会禁止其他窗口和用户交互操作
无模式对话框 - 在对话框显示后,其他窗口仍然可以和用户操作 -
对话框基本使用
对话框窗口处理函数
注册窗口类
创建对话框
对话框的关闭
对话框处理函数
INT CALLBACK DialogProc(
HWND hwndDlg,//窗口句柄
UINT uMsg,//消息ID
WPARAM wParam,//消息参数
LPARAM lParam//消息参数
)
//返回TRUE - 缺省处理函数不需要处理
//返回FALSE - 交给缺省处理函数处理
创建模式对话框
INT DialogBox(
HINSTANCE hInstance,//应用程序实例句柄
LPCTSTR lpTemplate,//对话框资源ID
HWND hWndParent,//对话框父窗口
DLGPROC lpDialogFunc//自定义函数
)
资源添加对话框
菜单中新建对话框选项,并修改ID为ID_TALK
INT CALLBACK DlgProc(HWND hwndlg,UINT msgID,WPARAM wParam,LPARAM lParam)
{
switch (LOWORD(wParam))
{
case SC_CLOSE:
EndDialog(hwndlg,false);
break;
case IDR_OK:
EndDialog(hwndlg, false);
break;
}
return false;
}
void ON_COM(HWND hwnd, WPARAM wParam)
{
switch (LOWORD(wParam))
{
case ID_OUT:
Quit(hwnd);
break;
case ID_NEW:
MessageBox(hwnd, L"新建了", L"infor", MB_OK);
break;
case ID_TALK:
{
DialogBox(G_HINS, (LPCWSTR)IDD_DIALOG1, hwnd, DlgProc);
}
break;
}
}
挂上对话框资源
无模式对话框
HWND CreateDialog(
HINSTANCE hInstance,//应用程序实例句柄
LPCTSTR lpTemplate,//对话框资源ID
HWND hWndParent,//对话框父窗口
DLGPROC lpDialogFunc//自定义函数
)
非阻塞函数
到此为止基本的WIN32窗口编程的基础就这么多了,代码已上传,方便温习回顾