[MFC]CDialog类简介、创建模态对话框

本文介绍了CDialog类在MFC中的应用,包括如何从CDialog派生新类,使用OnInitDialog、OnOK、OnCancel函数初始化和处理对话框。详细阐述了对话框创建的消息处理顺序,特别强调了OnInitDialog的返回值对初始焦点的影响,以及如何覆盖OnOK和OnCancel函数。此外,还讲解了如何通过DoModal函数创建模态对话框,并添加自定义退出按钮的方法。
摘要由CSDN通过智能技术生成

1. CDialog类的基本使用方法:

     1) 在创建自己的对话框之前必须先从CDialog类派生出自己的类,并在派生类中定义一些自己的数据域以及其它新的函数;

     2) CDialog中继承来的最重要的三个函数都是消息响应函数:OnInitDialog、OnOK、OnCancel函数

          i. OnInitDialog相应的WM_INITDIALOG消息,该函数主要负责初始化对话框中的控件;

          ii. 所有的对话框基本应该含有OK按钮和Cancel按钮来结束对话框,因此模板对话框中也默认包含这两个按钮,并提供后面两个函数来相应对这两个按钮的点击;

          iii. 这三个函数的消息映射、消息映射的定义都不需要写,因为MFC底层都已经帮你定义好了(都在CDialog内部定义过了);

!!要是OnOK和OnCancel函数自动起作用(不自己定义消息映射等)必须将两个按钮的ID定义为IDOK和IDCANCEL(如果自己修改代码的话),这两个宏也是在MFC底层定义过的;

!!这三个函数在.h文件中就直接以virtual虚函数的形式给出原型了,并没有消息映射的宏定义(MFC底层定义好了);


2. 对话框创建的消息处理顺序:

    1) 首先对话框会相应WM_CREATE消息在内存中创建整个对话框的框架资源,但此时其中的控件并没有创建,此时对话框是空的;

    2) 接着MFC的内部的某个过程函数也相应WM_CREATE消息并逐个创建对话框中的控件于内存中;

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值