[MFC]对话框创建的基本步骤、定义对话框模板

1. 对话框的基本功能:

    1) 对话框是一种特殊的窗口,主要用于响应用户的输入,大部分空间都应放在对话框中;

    2) 对话框的创建比普通窗口简单的多,可以直接在资源脚本.rc文件中通过脚本定义;

    3) 模态对话框和无模态对话框:

         i. 模态对话框其实是应用程序的一种表达,即“如果您不提供我需要的输入的话那你无法做其它任何事”;

         ii. 模态对话框被激活后,对话框的顶层窗口(即它的所属窗口)将一直处于无效状态,除非给对话框提供必要的输入并关闭对话框才行;

         iii. 虽然模态对话框会使父窗口处于无效状态,但是仍然可以切换到其它应用程序的窗口,以至于不会因为未给激活模态对话框的程序提供输入而导致其它程序无法正常使用;

         iv. 无模式对话框则和其它普通窗口差不多了,在对话框被显示时它的所有者也能被激活;

    4) MFC将对话框(模态对话框和非模态对话框)的功能都封装在CDialog类中,这使得对话框的使用变得非常容易;


2. 创建模态对话框的基本步骤:

    1) 在资源脚本.rc文件中定义对话框的基本模板(包括对话框中的所有控件,对!这些控件也可以使用脚本语句来定义);

    2) 创建一个CDialog对象,并将编译好的对话框资源模板封装在CDialog对象中;

    3) 使用CDialog::DoModal函数来创建模态对话框;

!!通常对于一些非常简单的对话框可以直接用CDialog创建对象并使用即可,但是对于一些较复杂的对话框(如果你设计的非常复杂的话)则应该从CDialog类中派生一个你自己的类;


3. 在资源脚本中定义对话框模板:

    1) 首先需要确定定义的资源是对话框:

IDD_MYDIALOG DIALOG 0, 0, 160, 68
         i. 例子中IDD_MYDIALOG是资源ID,和菜单等资源ID的含义一样,一般约定以IDD作为前缀,即ID Dialog的缩写;

         ii. 关键字DIALOG表示定义的资源是对话框;

         iii. 0, 0表示对话框显示时的默认位置,该位置是以对话框所属窗口的客户区左上角为原点的,但是位置0, 0比较特殊,并不真正代表客户区的左上角,而是默认将模态对话框放在窗口的中心位置;

         iv. 160, 68是对话框的尺寸,即高和宽,这个尺寸当然是用对话框单位表示的;

!!由于字符的高一般是宽的

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值