欢迎来到天天文库
浏览记录
ID:40055513
大小:3.16 MB
页数:104页
时间:2019-07-18
《vc+程序设计课件内容》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、建议学时:12学习重点:理解相关概念掌握对话框编程掌握常用控件使用第四章对话框及Windows常用控件1本章内容123对话框模态对话框和非模态对话框属性对话框通用对话框Windows常用控件6综合实例45对话框主要由两部分组成:对话框资源和对话框类对话框资源4.1对话框概述对话框类4.1对话框概述4.1对话框概述对话框(DialogBox)是GUI(图形用户界面GraphicalUserInterface)的常用组件,也是其最复杂的组件。按照对话框工作方式可以分为两种类型:模态对话框和非模态对话框。模态对话框:
2、在关闭模态对话框之前,该程序不能进行其他工作。我们通常所用的对话框大部分都是模态对话框。如:“保存”对话框;“打开”对话框。非模态对话框:非模态对话框打开后,该程序仍然能够进行其他工作。如:“查找与替换”对话框。MFC的对话框基类为CDialog,它既支持模态对话框,也支持非模态对话框。派生关系如下所示:CObjectCCmdTargetCWndCDialog4.1对话框概述CDialog的主要的成员函数有:★virtualintDoModal()功能:打开模态对话框,直到对话框关闭时返回。若点击“OK”键关闭
3、,则返回“IDOK”。★BOOLCreate(LPCTSTRlpszTemplateName,CWnd*pParentWnd=NULL)功能:创建一个对话框。(通常用于非模态对话框的创建)voidEndDialog(intnResult)功能:退出一个模态对话框4.1对话框概述virtualvoidOnCancel()功能:该函数是单击模态或非模态对话框中的Cancel按钮,或Esc键时,由框架调用。★virtualBOOLOnInitDialog()功能:对话框初始化★virtualvoidOnOK()功能:
4、单击OK(或确定)按钮,(ID为IDOK的按钮)时调用的函数,关闭模态对话框,并返回IDOK。4.1对话框概述1.模态对话框的创建和引用过程基本步骤:添加对话框资源,设置其属性。在ResourceView,Dialog中右键点击,插入新对话框。4.2模态和非模态对话框IDD通常需要修改Caption用于输入标题要确保Language为“中文”4.2模态和非模态对话框为新建的对话框建立相应的类。使对话框与具体的类相绑定。4.2模态和非模态对话框在主对话框中定义对话框对象,并调用DoModal函数打开注意:在主对话
5、框类中需要添加#include“对话框类名.h”如:#include“Dlg1.h”CDlg1d1;d1.DoModal();4.2模态和非模态对话框【例4_1】模态对话框的创建过程。4.2模态和非模态对话框2.非模态对话框的创建和引用过程基本步骤:在ResourceView,Dialog中右键点击,插入新对话框。为新建的对话框建立相应的类。使对话框与具体的类相绑定在主对话框中定义对话框对象,并调用Create函数打开。并通过ShowWindow函数显示。注意:定义类的对象必须定义为指针类型。利用Destroy
6、Window函数关闭非模态对话框。注意:OnOk或OnCancel函数仅为隐藏非模态对话框,而DestroyWindow可以关闭非模态对话框。4.2模态和非模态对话框例如:CNewDlg*pDlg=newCNewDlg;pDlg->Create(IDD_DIALOG1,this);pDlg->ShowWindow(SW_SHOW);4.2模态和非模态对话框【例4_2】非模态对话框的创建过程。4.2模态和非模态对话框创建属性页的方法(两种)1.在相关函数里创建CPropertySheet类的对象。添加每个属性页对
7、话框,并为每个对话框添加以CPropertyPage类为基类的对话框类。创建CPropertySheet类的对象,调用AddPage函数进行加载AddPage函数定义:voidAddPage(CPropertyPage*pPage)调用DoModal函数打开属性对话框。4.3属性对话框参考代码:CPropertySheets1(_T("属性页对话框"));CPage1p1;CPage2p2;CPage3p3;s1.AddPage(&p1);s1.AddPage(&p2);s1.AddPage(&p3);s1.D
8、oModal();4.3属性对话框【例4_3】属性对话框的创建过程。4.3属性对话框2.创建一个新的以CPropertySheet为基类的类,并通过其对象创建。(书上的方法)添加每个属性页对话框,并为对话框添加以CPropertyPage类为基类的对话框类。创建新的以CPropertySheet为基类的类。Project->AddClass->MFCclass->4.3属性对话框在新类
此文档下载收益归作者所有