zoukankan      html  css  js  c++  java
  • 添加模式对话框

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

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

         显示模式对话框需要调用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;

    }

  • 相关阅读:
    Jenkins常用插件
    Jenkins安装配置简单使用
    Django简单快速实现PUT、DELETE方法
    Django admin有用的自定义功能
    ambari快速安装hadoop
    Asp.Net Core 3.0的依赖注入改变
    NCoreCoder.Aop 国庆更新
    NCoreCoder.Aop详解
    .Net Core 3.0下AOP试水~~
    .Net Core 3.0依赖注入替换 Autofac
  • 原文地址:https://www.cnblogs.com/LouMengzhao/p/6039675.html
Copyright © 2011-2022 走看看