ImageVerifierCode 换一换
格式:PPT , 页数:93 ,大小:4.67MB ,
文档编号:5067109      下载积分:28 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-5067109.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(晟晟文业)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(第2章对话框应用程序课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

第2章对话框应用程序课件.ppt

1、第二章 对话框应用程序 几种基本对话框的原理和实现方法,以及实用对话框程序的设计技巧对话框的两种形式v示例v1、模态对话框v2、非模态对话框 创建模态对话框后,应用程序只会响应该对话框的消息,创建模态对话框后,应用程序只会响应该对话框的消息,直到收到结束模态对话框消息后,才会把控制权交还给应用直到收到结束模态对话框消息后,才会把控制权交还给应用程序,转而执行其它的消息。程序,转而执行其它的消息。创建非模态对话框后,应用程序不会垄断用户的输入,创建非模态对话框后,应用程序不会垄断用户的输入,仍然可以响应其它窗口的消息。仍然可以响应其它窗口的消息。2.1 模态对话框v1、windows是基于消息驱

2、动机制的;v2、模态对话框产生后会屏蔽其它窗体消息;v3、应用程序只会响应当前模态对话框的消息,直至被关闭;v4、大多数窗口都属于该类型。v示例(1)新建项目(2)创建基于对话框的应用程序(3)通过资源视图打开主界面编辑(4)添加按钮,ID号为:IDC_CREATE_DIALOG(5)添加新对话框,ID号为:IDD_MODAL_DIALOG(6)为新对话框添加类(7)新类名:CMyModalDialog(8)回到主界面,添加按钮的消息响应(9)消息类型、类列表(10)添加代码(11)编译结果(12)解决方案:添加头文件包含(13)再次编译:正确(14)执行结果:点击按钮,出现新对话框(为模态对

3、话框)(15)结果及分析v左对话框无法接受用户输入,直到关闭右边模态对话框v原因:CMyModalDialog dlg;dlg.DoModal();/创建模态对话框创建模态对话框本节小结v模态对话框的特性v创建一个简单模态对话框的步骤2.2 非模态对话框v非模态对话框窗口打开时,可以接受其它窗口消息v此类对话框较少v示例1、创建一个基于对话框的应用程序,并在主界面上添加一个按钮2、添加一个新对话框,并添加新类:CMyNoModalDialog3、为主界面上的按钮添加消息响应4、执行结果:焦点可回到父窗口,从而创建多个非模态对话框5、结果及分析v焦点没有停留在子窗口上,说明创建了一个非模态对话框

4、窗口v代码分析/定义对话框对象指针CMyNoModalDialog*pDlg=new CMyNoModalDialog();/创建非模态对话框pDlg-Create(IDD_DIALOG1,this);/显示对话框pDlg-ShowWindow(SW_SHOW);vCDialog类的成员函数:Create;原型BOOl Create(LPCTSTR lpszTemplateName,CWnd*pParentWnd=NULL);BOOL Create(UINT nIDTemplate,CWnd*pParentWnd=NULL);/指定对话框模板的名称指定对话框模板的名称/也可以是对话框的也可以是

5、对话框的ID号号/第二个第二个 参数指定了对话框的父窗口参数指定了对话框的父窗口此后,还要调用此后,还要调用ShowWindow来显示对话框来显示对话框5、结果及分析(续)/定义对话框对象指针CMyNoModalDialog*pDlg=new CMyNoModalDialog();/创建非模态对话框pDlg-Create(IDD_DIALOG1,this);/显示对话框pDlg-ShowWindow(SW_SHOW);定义为指针:在堆上分配内存,与整个程定义为指针:在堆上分配内存,与整个程序的生命周期是一致的,在程序结束时才会被序的生命周期是一致的,在程序结束时才会被释放;或者定义一个类的全局

6、变量来控制无模释放;或者定义一个类的全局变量来控制无模式对话框的打开;式对话框的打开;若定义为局部变量,则无法创建。若定义为局部变量,则无法创建。示例示例 5、结果及分析(续)5、结果及分析(续)v修改后的代码CMyNoModalDialog dlg;dlg.Create(IDD_DIALOG1,this);dlg.ShowWindow(SW_SHOW);5、结果及分析(续)修改后的结果5、结果及分析(续)修改后的结果结果:点击按钮创建非模态对话框结果:点击按钮创建非模态对话框窗口后闪烁一下后就立即关闭了窗口后闪烁一下后就立即关闭了本节小结v非模态对话框的特性v创建一个非模态对话框的步骤及注意

7、事项2.3 属性对话框v属性对话框是一种比较特殊的对话框模式,它可以把多个独立的对话框有效合理地组织起来v示例实例效果图及实现步骤1、创建一个基于对话框的项目2、解决方案资源管理器-添加-资源3、添加资源 对话框4、属性页资源(大、中、小)/出现在对话框中,因此属出现在对话框中,因此属性页是对话框的一种形式,性页是对话框的一种形式,可当做对话框来处理。可当做对话框来处理。5、添加三个属性页资源6、添加基于CPropertyPage类的新类7、添加基于CPropertySheet类的CMySheet类7、添加基于CPropertySheet类的CMySheet类(续)7、添加基于CPropert

8、ySheet类的CMySheet类(续)8、在CMySheet中定义3个属性页/MySheet.h文件中添加文件中添加9、在CMySheet构造函数中添加3个属性页/在在MySheet.cpp文件中文件中,构构造函数是与类同名的函数造函数是与类同名的函数10、显示属性对话框/在应用程序实现文件的在应用程序实现文件的InitInstance()函数中添加函数中添加11、运行效果本节小结v属性对话框的创建v注意事项:添加资源的方法设置资源ID的方法为资源添加类的方法添加新类的方法在头文件中定义变量和在实现文件的构造函数中初始化变量的方法2.4 对话框设计技巧v1、网格和参考线v2、对齐和排列v3、

9、设置控件逻辑顺序1、网格设置(默认情况下无网格)1、网格设置(续)1、网格设置(续)1、网格设置(续:设置后的结果)2、对齐和排列(ctrl键选中)2、对齐和排列(续)3、设置控件逻辑顺序v控件的逻辑顺序决定着软件中需要使用TAB键进行焦点切换时的顺序排列。v例如3、设置控件逻辑顺序(续)3、设置控件逻辑顺序(续)/按照添加的顺序按照添加的顺序3、设置控件逻辑顺序(续):改变顺序的方法/原始顺序原始顺序/鼠标在某个需要改变顺序的控件上鼠标在某个需要改变顺序的控件上单击,即可。此图为改变后的顺序单击,即可。此图为改变后的顺序本节小结v1、参考线和网格的设置v2、控件对齐和排列v3、设置控件逻辑顺

10、序2.5 通用对话框v通用对话框是系统提供的一组比较常见的对话框模板,例如“打开”、“另存为”等;v编写代码实现通用对话框v示例1、创建一个基于对话框的应用程序,添加控件如图所示1、(续)v为第一个编辑框定义变量CString szSigOpenPathv为第二个编辑框定义变量CString vszSigSavePathv为列表框定义变量CListBox PathList2、打开对话框“单选”对应代码/定义“打开”对话框CFileDialog dlg(TRUE);if(dlg.DoModal()=IDOK)/取得文件路径全名/szSigOpenPath是CString类型,跟第一个编辑框相关联

11、 this-szSigOpenPath=dlg.GetPathName();/更新界面显示this-UpdateData(FALSE);3、另存为代码/定义“另存为”对话框CFileDialog dlg(FALSE);if(dlg.DoModal()=IDOK)/取得文件路径全名/szSigSavePath是CString型,与第二个编辑框关联this-szSigSavePath=dlg.GetPathName();/更新界面显示this-UpdateData(FALSE);4、过滤器+多选代码/设置过滤器,只能选择*.exe或者*.txt类型的文件static WCHAR szFilter=

12、L可执行文件(*.exe)|*.exe|文本文件(*.txt)|*.txt|;/设置OFN_ALLOWMULTISELECT标记,支持多选CFileDialog dlg(TRUE,NULL,NULL,OFN_ALLOWMULTISELECT,szFilter);if(dlg.DoModal()=IDOK)/清空列表框this-PathList.ResetContent();/取得所选择的第一个文件定位信息。POSITION pos=dlg.GetStartPosition();while(pos)/取得路径全名并添加到列表框this-PathList.AddString(dlg.GetNext

13、PathName(pos);5、运行效果图2.5.2 通用“字体”对话框v通过“字体”对话框可用来设置字体的大小、粗细、正斜、颜色、类型等v例如v编写代码设计自己的“字体”对话框1、创建一个基于对话框的应用程序添加两个控件:添加两个控件:(1)组框,标题)组框,标题为为“预览预览”(2)按钮,)按钮,“设设置置”2、在对应的dlg.h文件中添加如下两个变量/保存设置的字体保存设置的字体颜色和字体属性颜色和字体属性3、添加“设置”按钮的响应3、(续)消息类型、类列表4、添加代码(p23)5、在OnPaint函数中定义重绘代码/在在dlg.cpp文件中找到文件中找到OnPaint函数,函数,在对应

14、的位置添加代码在对应的位置添加代码6、运行效果(1)6、运行效果(2)6、运行效果(3)2.5.3 通用“颜色”对话框v可提供简单的调色面板,供用户选择v在很多应用程序中都可见v编写代码实现之1、创建对话框应用程序,并添加控件2、定义成员变量2、定义成员变量(续)2、(续)同样的方法设置第二个编辑框的成员变量2、(续)同样的方法设置第三个编辑框的成员变量3、直接在dlg.h文件中定义变量/定义绘制指定颜色的区域定义绘制指定颜色的区域4、“设置”按钮的消息响应5、OnPaint函数中定义重绘代码6、OnInitDialog函数中添加额外代码BOOL Cex253Dlg:OnInitDialog(

15、)/TODO:在此添加额外的初始化代码this-r=this-g=this-b=255;this-UpdateData(FALSE);this-ColorShowRect.left=147;this-ColorShowRect.top=30;this-ColorShowRect.right=245;this-ColorShowRect.bottom=114;return TRUE;7、对每个编辑框添加事件void Cex253Dlg:OnEnChangeEdit1()this-UpdateData();this-Invalidate();void Cex253Dlg:OnEnChangeEdit2()void Cex253Dlg:OnEnChangeEdit3()8、运行初始界面9、点击“设置”后出现颜色对话框10、设置后的结果本节小结v1、关联控件和变量v2、MFC定义的常见类的使用本章总结v1、两种基本对话框的类型、原理、实现方法v2、属性对话框的实现v3、对话框设计技巧v4、通用对话框的设计v课外练习:编程理解模态、非模态对话框的区别;编程实现属性对话框和通用对话框,注意使用对话框的设计技巧。

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|