对话框模板-西南交通大学教务网.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
对话框模板-西南交通大学教务网

西南交通大学经济管理学院:何耀琴 对话框的基本概念 对话框是一种次要窗体,通常在响应某个命令菜单时弹出。在对话框上可以添加各种通用控件。 所有对话框及对话框上的控件都由CWnd类派生而来。因而能对窗体进行的操作也适用于对话框及控件。 对话框是一种能包含各类通用控件的特殊窗口,通过添加到其上的控件,对话框可以完成指定的任务。分为两部分: 5.1 模态对话框 以排他方式工作的对话框。这类对话框出现时,用户虽然可以看见应用程序的其他对象,但在其关闭之前,输入焦点不能切换到拥有该对话框的应用程序的其他窗口中去,也就是不能实现同其他对象的交互。 在MFC单文档项目中,可以通过对话框类的成员函数DoModal()来创建并显示一个模态对话框。 创建模态对话框的流程 (1)创建一个MFC单文档项目,命名为“ModelDialog” (2)切换到“资源视图”,右键单击“ModelDialog”。右键菜单中选择“添加” →“资源” →“Dialog”; 创建模态对话框的流程(续) (6)切换到“解决方案资源管理器”; (7)双击打开“ModelDialog.h”,添加 “#include “Model.h”的包含语名; (8)打开“ModelDialog.cpp”文件,找到应用程序类的初始化函数BOOL CModelDialogApp::InitInstance(),在初始化函数中添加创建和显示模态对话框的代码。(见下页图); (9)调试并运行程序。 说明:成员函数DoModal() 用来生成一个模态对话框 CPropertySheet::DoModal //所属的类 virtual int DoModal(); //是一个虚函数 返回值: 如果函数生成成功则返回IDOK或IDCANCEL;否则返回0或-1。如果此属性表是作为一个向导(参见SetWizardMode)建立的,DoModal返回ID_WIZFINISH或IDCANCEL。 说明: 此成员函数用来显示一个模态对话框。其返回值对应于用来关闭对话框的控件的ID。此函数返回后,Windows响应这个对话框,所有的属性页都会被销毁。而这些对象本身仍然存在。通常,在DoModal返回IDOK之后可以从CPropertyPage对象检取数据。 5.2 非模态对话框 非排他方式工作的对话框为非模态对话框。在非模态对话框出现时,用户仍然可以实现与应用程序其他对象的交互。 要生成一个非模态对话框,需调用CDialog类的Create()函数 和CWnd类的ShowWindow() 函数来实现。 Create()函数说明如下: Virtural BOOL Create(LPCTSTR lpszTemplateName,CWnd* pParentWnd=NULL); Virtural BOOL Create(UNIT nIDTemplate, CWnd* pParentWnd=NULL); 两种形式中,参数lpszTemplateName和nIDTemplate分别指明所使用的对话框模板资源的名字和ID值,参数pParentWnd则指向该对话框的父窗体对象。 ShowWindow()函数说明如下: BOOL ShowWindow(int nCmdShow); 该函数作用:为窗口设置可见的状态。其中参数nCmdShow的取值规定了当前窗口将以何种方式被显示。其取值和含义如下表: 创建并显示一个非模态对话框的步骤: (1)创建一个MFC单文档项目,命名为“UnModalDialog” (2)切换到“资源视图”,右键单击“UnModalDialog”。右键菜单中选择“添加” →“资源” →“Dialog”; (3)选择“Dialog”,单击“新建”, 此时屏幕上会出现一个对话框模板; (4)双击对话框模板,在“MFC类向导”窗口中为新添加的对话框资源声明一个派生于CDialog的类CUnModel; (5)单击“完成”; (6)切换到“解决方案资源管理器”; (7)双击打开“UnModalDialog.h”,添加包含对话框头文件的语句#include “UnModel.h” ; 并在此文件的class CUnModalDialogApp : public CWinApp下的public中添加成员说明语句:CUnModel *dlg; (8)双击打开“UnModelDialog.cpp”文件,在CUnModalDialogApp::CUnModalDialogApp()函数中添加对dlg初始化的语句: dlg=NULL; (9)找到应用程序类的初始化函数 BOOL CUnModelDialogApp::InitInstance(),在初始化函数中添加创建和显示非模态对话

文档评论(0)

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

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

1亿VIP精品文档

相关文档