• 添加模式对话框


    对话框主要有两类:模式和无模式。

    区别:在清除对话框之前,模式对话框使它所属的窗口(它的所有者)一直处于无效状态;无模式对话框则在其显示时,它的所有者也能被激活。

         显示模式对话框需要调用CDialog::DoModal,而无模式调用CDialog::Create。DoModal要等到对话框被清除后才返回。无模式则一旦建立对话框,Create就返回,因此Create返回时对话框还处于显示状态

        清除无模式对话框要调用DestroyWindow,模式调用EndDialog,禁止对无模式对话框调用CDialog::OnOk或CDialog::OnCancel,因为两者都调用EndDialog

        模式对话框类通常在栈上实例化,所以析构函数是自动实现的,而无模式对话框通过new实例化,所以该对话框对象不会过早被清除。如果要确保清除对话框时删除无模式对话框对象,一种方法是在派生的对话框类中覆盖CDialog::PostNoDestroy 并执行delete this 语句。 

         等等

    现只针对模式对话框的调用:

    1、创建一个对话框模板,描述对话框和其中的控件,即 如果是基于对话框的工程,就插入一个对话框。

    2、构造一个CDialog对象,并封装该对话框模板,即 在新插入的对话框上添加新Class。

    3.调用CDialog::DoModal显示对话框。

    4、关闭对话框,只需在新建窗口调用 OnOK() or OnCancel() 即可。

    例子:

    void CMainDlg::EXXX()     //主窗口语句

    {

        NewDlg  m_newDlg;     //newDlg 为新建窗口类

        m_newDlg.DoMoDal;

    }

  • 相关阅读:
    04、Unity_声音管理器
    StreamingAssets文件夹的读取异常
    Unity做360度的全景照片
    07.C#中如何排除/过滤/清空/删除掉字符串数组中的空字符串
    03、三种简单的计时器
    02、在层级未知情况下通过递归查找子物体
    Java中请优先使用try-with-resources而非try-finally
    Redis——入门学习笔记
    KafKa——学习笔记
    SpringBoot——学习笔记
  • 原文地址:https://www.cnblogs.com/LouMengzhao/p/6039675.html
Copyright © 2020-2023  润新知