对话框和常见控件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
对话框和常见控件

* * 第3章 对话框和常见控件 ? 对话框和控件之间是一对密不可分的卵生姐妹。通常来讲,对话框中有一些控件元素,控件通常也建在对话框中。对话框是一个弹出式的标准窗口。当我们在一个应用程序中需要用户进行数据的输入,或需要与用户进行对话,对话框弹出来让用户从一系列输入操作中进行选择,而每一种操作都对应着一个控件的实现,这些控件由诸如单选按钮、复选按钮、编辑框和列表框等对象组成。 对话框编程我们可以使用对话框函数。使用对话框函数除了待处理消息不同外,在其它方面对话框函数均类似于窗口函数。实际上,对话框的许多函数就是从窗口类派生的。 Windows对话框有两种基本类型: l???????? 有模式对话框(Model Dialog) l???????? 无模式对话框 (Modeless Dialog)。 有模式对话框使父窗口操作无效,不允许用户回到父窗口操作。当有模式对话框工作时,对话框消息处理循环从应用队列中直接接收消息传递给对话框函数,WinMain函数收不到消息。与有模式对话框相反,无模式对话框不妨碍父窗口的正常工作,无模式对话框接收WinMain函数消息循环的输入,它没有自己的消息循环。 标准控件也是一些行为标准化了的窗口,一般用在对话框或其它窗口中充当与用户交互的窗口元素。在Visual C++中,可以使用的控件分成三类:Windows标准控件,ActiveX控件,其它MFC控件类。在本章中我们仅讲述Windows标准控件。所讲的内容主要包括各个控件的使用及相应的使用技巧。 有模式对话框 ? 对话框是大多数Windows应用程序的重要的用户界面组件。在Windows开发中弹出对话框是一种常用的I/O手段,我们需要将一个自建并编辑好的对话框保存在Visual C++应用工程的资源文件中。Visual C++提供了对话框编辑工具,我们利用编辑工具可以方便的添加各种控件到对话框中去,而且利用ClassWizard可以方便的生成新的对话框类和映射消息。我们可以用对话框资源编辑器创建对话框模板,对话框资源编辑器将编辑的模板以扩展名.res文件保存在对话框模板资源中。然后基于对话框的模板用ClassWizard创建一个从CDialog 类派生的对话框类,最后建立该类对象,建立对话框。 模式对话框实现 ? 对话框是一个特殊的窗口,主要用于用户的数据输入。由于对话框是窗口,所以它和其它窗口一样响应消息。尽管一般窗口处理大量消息,而一般对话框只处理两种消息:WM_INITDIALOG和WM_COMMAND。当对话框窗口被创建后,在对话框显示之前,对话框先接收消息WM_CREATE,然后响应消息WM_INITDIALOG。WM_INITDIALOG消息在对话框窗口创建之后并且已初始化了所有对话框里的控件以后到达。对话框窗口获得WM_INITDIALOG消息之后将处理派生类中的OnInitDialog()消息处理函数。在这里我们可以修改控件数据,不过修改控件数据要在对话框显示之前。 MFC 提供类CDialog作为对话框服务的基类,类CDialog将对话框模板与使用对话框时必需熟悉的几种类方法进行封装。对于对话框中发送消息的的控件,我们可创建相应的消息处理程序。MFC编译器提供的框架工具使得我们把对话框中的控件消息映像到派生类的类函数变得简单、快捷。对话框数据映像函数使用专门的值初始化对话框中的控件,接着检索数据并使之有效。大多数对话框需要类成员变量来跟踪用户的输入,这些数据在数据映像中使用,它们在对话控件与类变量之间自动映像数据。 为创建对话框,首先建立CDialog对象,然后创建和显示对话框窗口我们有两种选择:一种方法是调用函数CDialog::DoModal()来创建有模式对话框窗口,另一种方法是调用函数CDialog::Create()来创建无模式对话框窗口,在上述两种情况之下,对话框对象先初始化,然后创建对话框以及它的控件。 类CDialog成员函数Create()使用两种重载原形,最常用的一种如下: Create(UINT nIDTemplate, CWnd * pParentWnd=NULL); 其中,参数nIDTemplate是一个对话框模板的标识符, 参数pParentWnd是对话框所属的父窗口。 对话框中的数据交换和数据检查 ? MFC提供两种方法在对话框中进行数据交换和数据检查(Dialog Data Exchange/Dialog Data Validation),数据交换和数据检查的基本思想是将某一变量和对话框中的一个控件窗口进行关联,然后通过调用BOOL UpdateData( BOOL bSaveAndValidate = TRUE )来指示MFC将变量

文档评论(0)

skvdnd51 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档