10.3.2 创建非模态对话框
要使用非模态对话框,必须在对话框类中提供公共构造函数。在创建非模态对话框时,首先调用构造函数,然后调用Create()成员函数装载对话框资源。用户可以在调用构造函数时或调用构造函数后调用Create()函数。如果对话框资源具有WS_VISIBLE属性,则对话框会立即显示;如果对话框没有此属性,则需要调用ShowWindows()成员函数显示对话框。以下代码显示了如何创建非模态对话框。
- void CDialogExampleDlg::OnButtonNonmodal()
// 非模态对话框按钮处理函数 - {
- CDlgNonModal* dlg = new CDlgNonModal();
// 定义测试对话框变量 - dlg->Create(IDD_DIALOG_NONMODAL);
// 创建IDD_DIALOG_NONMODAL对话框 - }
上面代码首先定义了对话框变量,并调用new关键字构造对话框,然后调用Create()函数,向其中传入对话框模板资源ID。如果对话框没有WS_VISIBLE属性,则在代码的最后增加ShowWindow()语句,程序运行效果图如图10-15所示。
|
| 图10-15 非模态对话框运行效果图 |