MFC编程 | 非模态对话框的定义

Posted IYL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC编程 | 非模态对话框的定义相关的知识,希望对你有一定的参考价值。

 因为课程需要,会用到MFC编程,所以讲一些经验总结下,以便日后使用查询。

// 非模态对话框的定义

// 通过单文档菜单调用一个非模态窗口 

1、首先在工程里插入一个对话框(如:IDD_DLG_TEST),再添加对应的类(如:CdlgTest);

2、在类向导里添加"WM_DESTROY"消息响应函数“OnDestroy()”,并进行重载,用于关闭对话框时销毁对象。

void CdlgTest::OnDestroy() 
{
    CDialog::OnDestroy();
    
    // TODO: Add your message handler code here
    delete this;
}

3、在视图类CxxxView中定义该对话框对象指针,注意包含头文件

CdlgTest *dlgTest; 

接着再视图类的构造函数里对改对话框指针进行初始化

dlgTest = NULL; 

4、在菜单响应函数里添加如下代码,即可在点击菜单后弹出对话框

if (NULL == dlgTest)

{

    dlgTest= new CdlgTest;
    dlgTest->Create(IDD_DLG_TEST, this);
}

linearDlg->ShowWindow(SW_SHOW); // 显示窗口

以上是关于MFC编程 | 非模态对话框的定义的主要内容,如果未能解决你的问题,请参考以下文章

MFC编程入门之十一(对话框:模态对话框及其弹出过程)

(转载)VS2010/MFC编程入门之十一(对话框:模态对话框及其弹出过程)

MFC——对话框,模态对话框

MFC模态与非模态对话框

VS2017 MFC应用中添加模态对话框时为其添加类弹出如下错误

MFC 模态对话框与非模态对话框