对话框和标准控件剖析.ppt

  1. 1、本文档共121页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四讲 对话框和标准控件;对话框概述;MFC的对话框基类为CDialog,它既支持模态对话框,也支持非模态对话框。派生关系如下所示:;CDialog的主要的成员函数有: ★virtual int DoModal() 功能:打开模态对话框,直到对话框关闭时返回。若点击“OK”键关闭,则返回“IDOK”。 ★ BOOL Create(LPCTSTR lpszTemplateName,CWnd *pParentWnd = NULL) 功能:创建一个对话框。(通常用于非模态对话框的创建) void EndDialog(int nResult) 功能:退出一个模态对话框 ;virtual void OnCancel() 功能:该函数是单击模态或非模态对话框中的Cancel按钮,或Esc键时,由框架调用。 ★virtual BOOL OnInitDialog() 功能:对话框初始化 ★ virtual void OnOK() 功能:单击OK(或确定)按钮,(ID为IDOK的按钮)时调用的函数,关闭模态对话框,并返回IDOK。 ;函数OnOK()、 OnCancel()与DoModal()的关系: 对话框中一般都有OK和Cancel按钮,单击OK按钮时调用CDialog::OnOK()函数,单击Cancel按钮时调用CDialog::OnCancel()函数。OnOK()函数和OnCancal()函数都将结束DoModal()函数调用,但令DoModal()返回不同的值。OnOK()函数令DoModal()返回IDOK,OnCancel()函数令DoModal()返回IDCANCAL。用户可以根据DoModal()的返回值做出不同的选择。如: if (myDlg.DoModal() = = IDOK ) { …… }; 创建对话框;1.模态对话框的创建和引用过程 基本步骤: 添加对话框资源,设置其属性。;IDD为标识符; 为新建的对话框建立相应的类。使对话框与具体的类相绑定。 ; 在主框架中定义对话框对象,并调用DoModal函数打开 注意:在主框架类中需要添加#include “对话框类名.h” 如:#include "Dlg1.h" CDlg1 d1; d1.DoModal();;2. 非模态对话框的创建和引用过程 基本步骤: 在Resource View,Dialog中右键点击,插入新对话框。 为新建的对话框建立相应的类。使对话框与具体的类相绑定 在主对话框中定义对话框对象,并调用Create函数打开。并通过ShowWindow函数显示。 注意:定义类的对象必须定义为指针类型。 利用DestroyWindow函数关闭非模态对话框。 注意:OnOk或OnCancel函数仅为隐藏非模态对话框,而DestroyWindow可以关闭非模态对话框。;例如: #include "NewDlg.h" CNewDlg *pDlg=new CNewDlg; pDlg->Create(IDD_DIALOG1,this); pDlg->ShowWindow(SW_SHOW); ;*;基于对话框的应用程序;使用对话框;;控件的选择;*;*;*;*;*;*;*;常用的用于控件的函数: GetDlgItem()函数:该函数根据参数说明的控件ID,返回指定控件的一个CWnd型指针。程序可以把该指针强制转换成相应的控件类指针,然后通过该指针来访问控件。 SetFocus()函数:设置当前输入焦点。 GetFocus()函数:获取当前拥有输入焦点的CWnd对象。; 静态控件(Static Control)是用来显示一个文本串或图形信息的控件,包括静态文本控件(Static Text)、图片控件(Picture Control)和组框(Group Box)。 所有静态控件默认的ID标识都为IDC_STATIC,如果需要在程序中区分和操纵各个不同的静态控件,必须重新为它指定一个惟一的ID标识。 ;1. Static Text 静态文本控件不要求与对话框进行交互, 需要显示的文本串只要在该控件属性对话框 的Caption属性中直接输入。; 2. Group Box(补充) 将同组信息围成一组。; MFC的CEdit类封装了编辑框(Edit Box),编辑框又称文本框或编辑控件,也是一种常用的控件。编辑框一般与静态文本控件一起使用,用于数据的输入和输出。 ;编辑框属性: ;编辑框的基本操作 利用MFC的CEdit类提供的成员函数可以实现编辑框的各种操作。编辑控件的默认模式是在一行内显示所有编辑文本。下表介绍了通用CEdit类的方法。;编辑框的通知消

文档评论(0)

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

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档