- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章对话框高级编程new报告
模态对话框在关闭之前,不允许用户切换到程序的其它窗口。因为当弹出模态对话框时,它就获得了程序的控制权,并且,模态对话框拥有自己的消息循环,因此其窗口中所有产生的消息都不会送到主窗口的消息循环。 非模态对话框弹出后,用户不需要关闭它就可以在非模态对话框和应用程序其它窗口之间进行切换。常用的Find查找和Replace替换对话框就是非模态对话框。如果关闭非模态对话框的父窗口,非模态对话框一般也自动关闭。 9.1 非模态对话框 对于非模态对话框,使用对话框编辑器创建对话框资源和使用ClassWizard类向导添加对话框类、成员变量和消息处理函数的方法与模态对话框一样,但创建和退出对话框的方式有所不同。 创建模态对话框时是由系统自动分配内存空间,因此在退出对话框时,系统自动调用CDialog::EndDialog()函数来删除对话框。而创建非模态对话框则需要用户来分配内存,退出时还需用户自己删除非模态对话框。 非模态对话框的创建 非模态对话框的实例应声明为全局对象,不能象模态对话框那样作为局部对象。一般用new操作符生成,使用结束时用delete操作符将其删除。 区别于模态对话框,非模态对话框用new生成对象后,不是调用CDialog::DoModal()函数,而是调用CDialog::Create()函数装入对话框资源,并创建和显示对话框。 Create()函数在显示非模态对话框后就立即返回,而DoModal()函数是在模态对话框被关闭之后才返回。并且,由于Create()函数不会启动新的消息循环,非模态对话框与应用程序共用一个消息循环,这样,非模态对话框就不会垄断用户的输入。 Windows将一些常用的对话框集成到操作系统中,作为Windows通用对话框库Commdlg.dll的一部分。用户在程序中可以直接使用这些通用对话框,不必再创建对话框资源和对话框类,减少了大量的编程工作。并且,用户还可以定制通用对话框的外观和性能。 为了在MFC应用程序中使用通用对话框,MFC提供了封装这些通用对话框的类。这些通用对话框类都是从CCommonDialog类派生而来,而CCommonDialog类又是CDialog类的派生类。 9.2 通用对话框 通用对话框 MFC通用对话框类 CColorDialog CFileDialog CFindReplaceDialog CFontDialog CPagesSetupDialog CPrintDialog COleDialog 说 明 颜色设定对话框,选择不同的颜色 文件存取对话框,打开或保存文件 查找和替换对话框,查找和替换文本串 字体设定对话框,选择不同的字体。 页面设置对话框,设置页码、页眉等 标准的打印对话框,用于打印和打印设置 该类及其派生类用于生成OLE对话框 在Window 95推出之前,只提供了静态文本、按钮、编辑框、列表框和组合框等标准控件。在推出Window 95时,将其中一些较为流行的控件作为公共控件引入到Windows中,如旋转按钮、进度条、滑块、列表视控件、树视控件、日期时间选取器等公共控件。 标准控件保存在System目录下的User.exe文件中,公共控件保存在System目录下的Comctl32.dll中文件。MFC对这些公共控件以类的形式进行了封装,如CProgressCtrl、CListCtrl和CTreeCtrl等。 9.3 公共控件 旋转(Spin)按钮控件也称微调控件或上下控件,其形状与滚动条类似,两端也有两个箭头按钮,但中间没有滚动块。用户单击箭头按钮可以增加或减少一个数值,这个值表示旋转按钮滚动位置或另一个与旋转按钮相关联的控件中的数据。 当程序需要用户在某个范围内输入一个值时可以使用旋转按钮,其好处是无需当心用户输入一个无效值而导致程序的崩溃。 旋转按钮控件经常和一个关联控件(如编辑框)绑定在一起使用,用户只需用鼠标单击旋转按钮控件的上下箭头,就能设置关联控件中的数据内容。对用户而言,一个旋转按钮和它的关联控件看起来就象一个控件。 9.3.1 旋转按钮 例 编写一个单文档应用程序EXMPCOMCTL,执行“测试控件|公共控件”菜单命令打开一个对话框,对话框有一个带旋转按钮的编辑框,用于输入圆周线的宽度。单击旋转按钮,在编辑框显示旋转按钮所表示的线宽。单击OK按钮,程序根据线宽在用户视图区画一个圆。 滑块(Slider)控件也称滑动条或游标控件,它由滑杠、可沿着滑杠方向移动的滑块和可选择刻度的标尺组成。用户可以通过鼠标或键盘移动滑块,滑块不同的位置代表了一个不同的数值。 与滚动条相比,滑块控件中间只有一个滑块,两端箭头按钮。与旋转按钮相比,滑块控件比旋转按钮控件更具独立性,一般不需要
您可能关注的文档
- 第9章-VSEPR报告.ppt
- 第9章-第4节《物态变化中的能量交换》课件报告.ppt
- 第9章-客房部人力资源管理报告.ppt
- 第9章-第3节《饱和汽与饱和汽压》课件报告.ppt
- 第9章.客户关系管理报告.ppt
- 第9章-第2节《液体》课件报告.ppt
- 第8课唯物辩证法的发展观(新授课)(答案)报告.ppt
- 第8辑-精美中国风大全-81页报告.ppt
- 第9章C51简介报告.ppt
- 第9章80C51单片机的模拟量接口报告.ppt
- TSTIC 120083-2023 电化学储能电站电池系统数字化运维服务要求.pdf
- 病虫害防治工作总结.pdf
- TSTIC 120085-2023 船舶拖带服务规范.pdf
- 健身安全课件图片最新完整版本.pptx
- (新统编版)语文二年级下册 第六单元 大单元教学计划.docx
- TSTIC 120081-2023 港口与航道工程施工总承包服务规范.pdf
- THEBQIA 304-2024 型钢智能检测设备设计规范.pdf
- 健身房消防培训课件最新完整版本.pptx
- 广东省深圳市红山中学2024-2025学年高二(下)第一次段考语文试卷(含答案).docx
- 广东省深圳市建文外国语学校两学部2025届高三下学期二模物理试题(含答案).docx
文档评论(0)