04 对话框及控件 mfc.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Windows程序的开发流程 对话框 参考书 《MFC Windows 编程》第8、7章 最常用的控件 对控件的理解: 控件是可以处理与发送消息的对象。首先,控件是一个对象;其次控件可以处理消息(自身处理消息很少用)与发送消息(当自身状态发生改变的时候向父窗口发送消息,由父窗口负责消息响应)。 Static Text Edit box Button Check box Combo box List box Group box 与对话框中控件相互作用 方法1 CWnd* pWnd GetDlgItem IDC_CHECK ; pWnd- EnableWindow TRUE ; 方法2 通过ClassWizard添加Control类型变量 对话框数据交换与数据校验 MFC提供了DDX X表示eXchange 机制,允许程序员实现设定控件与变量之间的对应关系,并正确的传递数据。 使用UpdateData TRUE :控件的值传给变量 使用UpdateData FALSE :变量的值传给控件 对话框退出时,控件里的值自动传到对应的变量上去。 MFC提供了DDV V表示Validation 机制,保证输入的数据在你要求的范围之内。 借助ClassWizard方便的完成这些工作。 Static Text 显示文字 如果其ID为IDC_STATIC,则不能对其进行其它操作。如果想对其进行操作(如改变显示的文字),则需要改变其ID。 Edit Box 可以输入string、整数、实数等 可以添加消息ON_EN_CHANGE的响应函数,在Edit内数据发生变化时调用。 可以输入Password button 有四种状态 响应BN_CLICKED消息 Check Box 响应消息BN_CLICKED CButton::GetCheck List Box 有三种类型: Single,只能选一行。 Multiple,在Ctrl的帮助下可以选多行 Extended,在shift的帮助下可以选一个范围 通过AddString 可以添加其对应的string变量 选择数据变化时,触发消息LBN_SELCHANGE 多行可用以下代码获取选择的数据 int count listbox- GetSelCount ; int* itemIndex new int[count]; int itemselected listbox- GetSelItems count,itemIndex ; ... delete[] itemIndex; //得到某一个选择的数据的字符串 char data[256]; listbox- GetText itemIndex[i],data ; Combo Box Editbox 与下拉列表的组合 可以通过设置其属性来修改其数据,也可通过代码手工修改: CComboBox* combox CComboBox* GetDlgItem IDC_COMBO1 ; combox- AddString Item1 ; combox- AddString Item2 ; combox- SetCurSel 5 ; CBN_SELCHANGE消息响应 CComboBox* combobox CComboBox* GetDlgItem IDC_COMBO1 ; int sel combobox- GetCurSel ; char data[256]; combobox- GetLBText sel,data ; 单选钮与Group Box groupbox与单选纽一点关系都没有,只是为了让使用者更容易理解。 第一个单选钮被选为group属性时,以后连续的单选纽都被认为为这一组的,直到有一个单选纽又被选为group,则又开始了新的一组。 对话框的控件编排 TabOrder及快捷键 通过菜单Layout- Tab Order设置用户使用Tab键在控件间移动时的移动顺序。(控件必须含有样式TABSTOP) 通过设置控件名称加上“”指定快捷键 通过指定DEFAULTBUTTON指定默认按钮 示例 AddrBook 对话框分类 模式对话框 在清除对话框之前,模式对话框使它所属的窗口一直处于无效的状态。 无模式对话框 无模式对话框即使在显示时,它的所有者也能被激活。 创建模式对话框步骤 1、创建一个对话框模板,描述对话框和其中包含的控件。 构造一个CDialog类,并封装该对话框模板。 建立该类的一个对象,并调用CDialog::DoModal显示对话框。 If dlg.DoModal IDOK … 关闭对话框 在对话框内 调EndDialog int nResult ;其中nResult包含了

文档评论(0)

mei1809816wei + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档