第四章对话框和常用控件
- 格式:ppt
- 大小:692.50 KB
- 文档页数:20
下拉式菜单设计1.下拉式菜单的组成(如图4.2所示)(1)下拉式菜单由主菜单、主菜单项、子菜单等组成。
(2)子菜单可分为一级子菜单、二级子菜单直到五级子菜单。
(3)每级子菜单由菜单项、快捷键、分隔条、子菜单提示符等组成。
图4.2 下拉式菜单的组成①菜单项:所有子菜单的基本元素就是菜单项,每个菜单项代表一条命令或子菜单标题。
②分隔条:分隔条为一条横线,用于在子菜单中区分不同功能的菜单项组,使菜单项功能一目了然,并且方便操作。
③快捷键:为每个最底层的菜单项设置快捷键后,可以在不用鼠标操作菜单项的情况下,通过快捷键直接执行相应的命令。
④热键:热键是在鼠标失效时,为用户操作菜单项提供的按键选择,使用热键时,须与<Alt>键同时使用。
⑤子菜单提示符:如果某个菜单项后有子菜单,则在此菜单项的右边出现一个向右指示的小三角子菜单提示符。
2.菜单编辑器的启动执行菜单命令:工具| 菜单编辑器,即可打开菜单编辑器,如图4.3所示。
菜单编辑器分为上下两部分:上半部分用于设置菜单项的属性,下半部分用于显示用户设置的主菜单项与子菜单项内容。
图4.3 菜单编辑器3.菜单编辑器的使用方法(1)标题栏(Caption):输入菜单项的标题、设置热键与分隔条;①标题:直接输入标题内容,如“文件”。
②热键:在菜单项中某个字母前输入“&”后该字母将成为热键,如在图4.3的文件主菜单项中输入“文件(&F)”。
③分隔条:在标题框中键入一个连字符“-”即可。
(2)名称栏(Name):用于输入菜单项内部惟一标识符,如图4.3 “File”等,程序执行时不会显示名字栏内容。
注意:分隔符也要输入名称,且不能重复命名。
(3)快捷键下拉列表框(Shortcut Key):用于选择菜单项的快捷键,用鼠标单击列表框的下拉按钮,在列表框中可选择不同的快捷键。
(4)下一个按钮(Next):当用户将一个菜单项的各属性设置完后,单击“下一个”按键可新建一个菜单项或进入下一个菜单项。
1.什么是对话框?它分为哪两类?这两类对话框有哪些不同?答:对话框是一种特殊的窗口,主要功能是输出信息和接收用户的输入。
对话框分为有模式对话框和无模式对话框。
当一个有模式对话框打开时,用户只能与该对话框进行交互,而其他用户界面对象收不到输入信息。
而无模式对话框打开时,用户可以同时打开其他窗口对象,操作完毕后,又可用鼠标或其他方式激活该窗口。
2.什么是对话框模板、对话框资源和对话框类?答:对话框模板是一个描述对话框的内存结构,用于添加控件及其布局。
对话框资源指快捷键、对话框、菜单、字符串、工具栏按钮、图表、版本信息等。
对话框类用于实现对话框功能。
3.对一个对话框编程一般经过几个步骤?答:1. 在资源编辑器中画对话框,添加控件,设定控件位置、大小、ID和其它属性;2. 定义对话框回调函数,添加控件的事件处理函数;3. 注册对话框函数4、什么是控件?根据控件的性质可以将控件分为几类?答:在Windows中所用的按钮控件是用来实现一种开与关的输入。
常见按钮类型:按键按钮、单选按钮、复选框按钮。
5.向对话框添加一个常用控件的方法有哪些?这些方法是否使用于ActiveX控件?答:1、先点击控件,然后在对话框上单击,2、先点击控件,然后在对话框上点住不放,画出像要的大小。
否。
6.什么是DDV/DDX技术?如何使用这种技术?答:DDX(对话框数据交换)机制用来初始化对话框中的数据,并向应用程序返回数据,它使得用户向对话框加载对象数据和当对话框关闭时恢复其中的数据这两个过程自动化。
DDV(对话框数据验证有效性)机制用于将数据返回成员变量之前将数据的长度和范围有效化。
7.什么是空间的通知消息?它在编程中起哪些作用?答:控件消息由按钮(BN_)、编辑框(EN_)、组合框(CBN_)和列表框(LBN_)等产生。
控件通过向父窗口发送控件通知消息来表明发生了某种事件。
8.什么是按钮控件?它有几种类型?答:按钮控件常用来接收用户的操作信息,激发相应的事件,按钮是用户与程序交互的最简便的方法。
第4章对话框和常用控件对话框是Windows应用程序中最重要的用户界面元素之一,是与用户交互的重要手段,在程序运行过程中,对话框可用于扑捉用户的输入信息或数据。
对话框是一个特殊类型的窗口,任何对窗口进行的操作(如:移动、最大化、最小化等)都可在对话框中实施,一般来说,在对话框中通过各种控件(如:按钮、编辑框、列表框、组合框等)来和用户进行交互。
控件是在系统内部定义的用于和用户交互的基本单元。
4.1对话框的使用Visual C++提供的对话框编辑器能“可视”地进行设计、编辑,并可用ClassWizard为对话框从CDialog基类中派生一个类,MFC的CDialog类封装了用于对话框的显示、关闭等操作的许多功能函数,例如:DoModal函数用来显示模式对话框并返回用户操作的结果。
在Visual C++6.0应用程序中,使用一个对话框的一般过程是:(1)添加对话框资源;(2)设置对话框的属性;(3)添加和布局控件;(4)创建对话框类;(5)添加对话框代码;(6)在程序中调用对话框。
例如:例1:模式对话框(为175页附加举例)所谓模式对话框是指,当对话被弹出时,用户必须在对话框中进行相应的操作,在退出对话框之前,对话框所在的应用程序不能继续执行。
平常我们所见到的对话框大多是模式对话框。
例:模式对话框(通过菜单命令弹出)1)建一个单文档(SDI)应用程序2)创建对话框模板Insert→Resource→选中Dialog→单击New拖过一个静态文本,鼠标对准它,按右键点properties改标题为“新建模式对话框”。
3)鼠标右键对准对话框的任何位置单击,选择properties选项,设置ID为IDD_MYDIALOG 4)给对话框创建类双击新建对话框的任何位置,单击OK,写类名为“CMyDlg”,保证”CDialog”作为该类的基类。
5)创建菜单命令:a)打开资源编辑器的菜单项Menub)双击IDR_MAINFRAMEc)双击右边空白菜单,点开pop_up(让它是空白),在名字处写”弹出对话框(&A)”,ID 处写ID_PUPDIALOG6)将菜单命令连接到主框架程序中,完成ID_PUPDIALOG的消息映射:View→ClassWizard→保证Class name里是CMainFrame,在ObjectIDs里找到ID_PUPDIALOG点黑→Messages里(右边)点COMMAND建立主框架对象方法并加代码:void CMainFrame::OnPupdialog(){ CMyDlg MyDlg;MyDlg.DoModal(); //DoModal()是CDialog类成员函数,通过调用该//函数将显示对话框。