欢迎来到天天文库
浏览记录
ID:20477259
大小:413.22 KB
页数:47页
时间:2018-10-13
《基于对话框的编程-第三讲》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数字视音频应用与开发李瑾467134678@qq.com对话框和Windows标准控件对话框的组成与分类创建对话框模式对话框的编程通用对话框Windows标准控件对话框的组成对话框:是Windows应用程序与用户打交道的界面元素。1、对话框模板对话框模板定义了对话框的特性(比如大小、位置和风格)以及对话框中每个控件的类型和位置。2、对话框类从CDialog类派生的对话框类提供编程接口来管理对话框。对话框的分类1、模式(Modal)对话框在对话框关闭之前,用户无法在同一应用程序的其他地方进行工作,例如打开文件对话框。2、无模式(Modaless)对话框在
2、它仍然保留在屏幕的同时,用户还可以在同一应用程序的其他窗口中进行工作,例如查找对话框。创建对话框---创建对话框模板可以使用对话框编辑器来创建包含不同控件的对话框模板,在对话框编辑器中,可以调整对话框显示时的大小和位置,从Controls工具栏拖放各种类型的控件到对话框中,用Dialog工具栏调整控件的位置,测试对话框的外观和行为。可以使用菜单方式:InsertResource打开InsertResource对话框,然后双击改对话框资源,就可打开对话框编辑器。创建对话框---对话框编辑器(a)对话框模板(b)Controls工具栏(c)Dialog工
3、具栏创建对话框---创建对话框类在创建了对话框模板后,就可以利用ClassWisard来创建从CDialog派生且连接到对话框模板的对话框类。(1)创建了一个连接到对话框模板CDialog类的派生类。(2)利用ClassWizard向对话框类加入数据成员来表示对话框中的控件。(3)指定控件和成员变量之间如何交换数据。(4)映射Windows消息到对话框类,如鼠标左键单击消息。(5)利用ClassWizard为对话框中的按钮和其他可以产生事件的控件加入相应的消息控件函数。(6)为各种事件处理函数编辑代码,来完成指定的工作。创建对话框--创建对话框类对话框
4、上的许多控件还需要进行初始化工作,从而使得对话框被显示时这些控件具有相应类型的初值。对话框的初始化工作可以使用以下3种方法来进行。(1)在构造函数中初始化(2)WM_CREATE初始化(3)WM_INITDIALOG初始化对于对话框的初始化工作通常都在响应该消息时进行。模式对话框编程对于模式对话框的编程可以按以下步骤进行。(1)根据要求创建对话框模板。(2)使用ClassWizard创建对话框类并进行各类事件函数的代码编写。(3)对视图类进行编辑,以便对话框能够被激活。在所编写的代码中,首先创建对话框类的对象,然后通过该对象调用对话框类成员函数DoMo
5、dal()。只有当用户退出对话框窗口时,DoModal函数才能返回。模式对话框编程【例】简单模式对话框的编程。本程序的功能是在客户区显示一个可由用户指定填充颜色的矩形。当菜单项【颜色设置】被选中时将弹出【颜色】对话框,在其中用户可以确定RGB三颜色的值,单击【确定】按钮后即可改变矩形的填充色。实现步骤程序的步骤如下。(1)使用对话框编辑器创建对话框模板,最终完成的对话框界面如图所示。控件IDCaption静态控件IDC_STATIC1R(0-255)静态控件IDC_STATIC2G(0-255)静态控件IDC_STATIC3B(0-255)编辑框IDC
6、_R编辑框IDC_G编辑框IDC_B实现步骤(2)使用ClassWizard创建对话框类CMyColorDialog在ClassWisard中选取属性表MemberVariables,为控件IDC_R、IDC_G和IDC_B分别映射int类型成员变量m_nR、m_nG和m_nB。在ClassWisard中选取属性表MessageMaps,为CMyColorDialog的消息WM_INITDIALOG映射函数OnInitDialog(),并单击EditCode按钮为OnInitDialog函数编写初始化代码。注:ClassWizard类向导是在vc++6
7、.0和vc++2010中非常实用的工具,在vc++2005中类向导的大部分功能都在选中相应对象后,右边属性栏。实现步骤BOOLCMyColorDialog::OnInitDialog(){CDialog::OnInitDialog();m_nR=0;m_nG=0;m_nR=0;UpdateData(FALSE);//将设定的变量值传送给对应的控件returnTRUE;}实现步骤(3)对视图类进行编辑,以能激活对话框,并进行绘图。首先要使用ResourceView中的菜单编辑器来创建菜单项“颜色设置”。在创建了菜单项后,可通过ClassWizard为该菜
8、单项映射菜单消息。在视图中需要生成一个该类的对象。记得包含头文件在为菜单项颜色设置映射的消息中
此文档下载收益归作者所有