资源描述
*,*,单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第七章,对话框和菜单程序设计,第五章所介绍的简单控件提供的功能不够强大,还远不能满足一般软件的要求。因此,VB,还提供了一些功能更加强大的控件,如以,.OCX,为后缀名的,ActiveX,控件。,对这类功能更加强大的控件进行设计,可称为高级界面设计。在这些,ActiveX,控件中,最重要的是通用对话框控件(,CommonDialog,)。,越,高级的控件,功能越强大,程序员使用起来也越简单。,1,7.1,用户自定义对话框,对话框是一种特殊的窗体,大小一般不能改变。,VB,提供 了三种解决方案:,系统预定义的对话框(,InputBox,和,MsgBox,)、用户自定义对话框和通用对话框,。,两种方法得到自定义对话框:普通窗体上添加控件、使用,VB,系统提供的“对话框”模版窗体。,7.1,用户自定义对话框,显示“自定义”对话框:,.Show,vbModal,(其中,vbModal,为系统常数),vbModal,为,1,表示模式对话框,,0,则为无模式对话框。,关闭“自定义”对话框:,Me,.Hide,或,.Hide,或,Unload,7.2,通用对话框控件,CommonDialog,通用对话框提供了一组标准的应用程序对话框,以方便,用户进行诸如打开文件、保存文件、设置打印选项,选择颜,色和字体等操作。,工程,/,部件,选定部件标签,选定,Microsoft,CommDialog,Control 6.0,添加通用对话框到工具箱的步骤:,确定,添加之后就可以像使用标准控件使用了,缺省的名称为,CommonDialog1,、,CommonDialog2,、,4,通用对话框可以提供,6,种形式的对话框,通过设置,Action,属性,值或调用,Show,方法,来建立不同类型的对话框。,5,7.2.3“,打开”和“另存为”对话框,“,打开”和“另存为”对话框的重要属性:,1,、,FileName,(,文件名称)属性,:在程序中可用该属性值设置或返回用户所选定的文件名(,包含路径,),2,、,FileTitle,(,文件标题)属性,:在程序中可用该属性值设置或返回用户所选定的文件名(,不包含路径,),3,、,DialogTitle,(对话框标题)属性,:设置对话框的标题,通用对话框使用,ShowOpen,方法或者,ShowSave,方法,就变成了,“,打开”和“另存为”对话框,。,6,“,打开”和“另存为”对话框的重要属性:,4,、,DefaultExt,属性,:确定保存文件的缺省扩展名,5,、,CancelError,属性,:表示用户按下“取消”按钮时是否产生出错信息,6,、,InitDir,属性,:为对话框指定初始的目录。,7,、,Filter,属性,:文件类型过滤器。,8,、,FilterIndex,属性,:确定取,Filter,属性设置中的第几项,这些属性的设置必须放在,showopen,和,showsave,方法之前,设置一个过滤器:,Object.Filter=description1|filter1,如:,CommonDialog1.Filter=“Text(*.txt)|*.txt”,设置两个过滤器:,Object.Filter=description1|filter1|description2|filter2,7.2.3“,打开”和“另存为”对话框,7,或:,CommonDialog1.Filter=“Text(*.txt)|*.txt|Pictures(*.bmp;*.,ico,)|*.bmp;*.,ico,”,则在“文件类型”列表框显示下列两种文件类型以供用户选择:,Text(*.txt),扩展名为,txt,的文本,文件,Pictures(*.bmp;*.,ico,),扩展名为,bmp,或,ico,的图像文件,如:,CommonDialog1.Filter=“Text(*.txt)|*.txt|Pictures(*.bmp)|*.bmp”,7.2.3“,打开”和“另存为”对话框,例:,显示“打开”对话框,将用户选中的文本文件的内容读入文本框中显示出来。,例:,显示“另存为”对话框,将文本框中的内容写入文件。,7.2.3“,打开”和“另存为”对话框,9,7.2.4“,颜色”对话框,例:,显示“颜色”对话框,并修改窗体背景颜色。,使用通用对话控件的,ShowColor,方法,或将,Action,属性赋值为,3,,就可以使用“颜色”对话框,它为用户提供了一个标准的调色板界面。,当用户选中一种颜色后,该颜色值(长整型)赋给,Color,属性。,10,7.2.5“,字体”对话框,使用字体对话框时,必须先设置通用对话框控件的,Flags,属性,然后再调用,ShowFont,方法(或者,Action,属性值为,4,)显示对话框。,Flags,属性选项:,cdlCFScreenFonts,:(,&H1),使对话框只列出系统支持的屏幕字体;,cdlCFPrinterFonts,:,(&H2),使对话框只列出打印机支持的字体;,cdlCFBoth,:,(&H3),使对话框列出可用的打印机和屏幕字体。,cdlCFEffects,:,(&H100),使对话框允许删除线、下划线以及颜色效果,cdlCFEffects,一定要配合上面三种属性值使用,11,字体格式属性:,FontName,:,选定字体的名称,FontBold,:,是否选定了粗体,FontItalic,:,是否选定了斜体,FontStrikethru,:,是否选定了水平删除线,FontUnderline,:,是否选定了下划线,FontSize,:,选定字体的大小,Color:,选定的颜色,7.2.5“,字体”对话框,例:,使用“字体”对话框设置文本字体。,7.2.6,其它对话框,除了以上,4,种对话框之外,还提供了”打印“和”帮助“对话框,分别使用,ShowPrinter,和,ShowHelp,方法或者设置,Action,属性值为,5,和,6,。,13,7.3,菜单设计,菜单分为三种类型:窗体控制菜单、下拉式菜单、弹出式菜单(快捷菜单)。,菜单编辑器,14,菜单的主要属性,标题,(Caption),:,在窗口上显示,名称,(Name),:,菜单项的名称,唯一标识,分隔条也有名称。,3.,快捷键,(Shortcut),:,为调用菜单项的单击事件确定快捷键。,4.,下一个,(Next),:,设置下一个菜单项。,5.,和,按钮:,“,”,下一级菜单项;“,”,上一级菜单项。,6.,插入,(Insert),按钮:,插入菜单项,7.,删除,(Delete),按钮:,删除菜单项,8.,和,按钮:,改变菜单项位置。,9.,复选,(Checked),检查框:,菜单项为选定项。,10.,有效,(Enabled),检查框和可见(,Visible,):,True,或,False,11.,索引:,如果建立菜单数组,必须使用该属性。,15,在下拉式菜单中,一般有一个主菜单,称为,菜单栏,。每个菜单栏包括一个或多个选择项,称为,菜单标题,。单击某个菜单标题时,菜单项列表打开,显示,子菜单标题,、,子菜单,和,分隔条,。,分隔条为特殊的菜单项,其标题以一个“,-”,表示,但也必须为它设置菜单名称。,可以为,菜单标题,设置,热键,,程序运行时,在,显示,出有关菜单项后,按该字母键,即选中对应菜单项,,主菜单项要配合,ALT,键,。设置方法:在菜单标题后面加上,(&,字母,),。,7.3,菜单设计,16,建立下拉式菜单的步骤:,1,、启动菜单编辑器,2,、输入菜单标题,3,、输入菜单名称,4,、选择快捷键、复选、有效、可见等属性,5,、运用菜单项移动调整菜单位置,6,、重复以上步骤,2,5,,直到完成菜单输入,7,、单击“确定”按钮,7.3,菜单设计,例,7-4,建立下拉式菜单,通过菜单来控制文本框中文字的字体、颜色等。,菜单要求:,主菜单标题有“字体”、“颜色”和“结束”。,“字体”菜单标题中有“字体名称”、“文本风格”和一个,分隔符,。“字体名称”中有“宋体”、“楷体”和“黑体”三个子菜单标题。“文本风格”中有“,粗体,(&B)”,、“斜体,(&I)”,和“下划线,(&U)”,。,“颜色”菜单标题中有“文字颜色”和“背景颜色”两个子菜单标题。,其中,快捷键、热键,和,数组设定,见,P209,7.3,菜单设计,菜单编辑只是做一个界面,真正让菜单项发挥功能还必须编写菜单项的,Click,事件过程。每个菜单项只能识别,Click,事件,当用鼠标或键盘选中某个菜单控件时,将会引发该事件。,例,7-4,7.3,菜单设计,弹出式菜单设计,弹出式菜单是独立于菜单栏在窗体或指定控件上的浮动菜单,菜单的显示位置与鼠标当前位置有关。实现步骤如下:,1,、在菜单编辑器中建立该菜单。,2,、设置其顶层菜单项(主菜单项)的,Visible,属 性为,False,。,3,、在窗体或控件的,MouseUp,或,MouseDown,事件中调用,PopupMenu,方法显示该菜单。,7.3,菜单设计,PopupMenu,方法使用方法为:,PopupMenu,flags,x,y,Bodlcommand,其中菜单名为通过菜单编辑器设计的至少有一个子菜单项的菜单名称。,Flags,参数为常数,定义显示的位置与行为,取值和含义如,P212,。,x,和,y,为弹出菜单的显示坐标。,Boldcommand,参数指定需要加粗显示的菜单项,注意只能有一个菜单项加粗显示。,7.3,菜单设计,
展开阅读全文