第十章对话框与菜单程序设计1.用户自定义对话框2.通用对话框控件。3.菜单程序设计本章内容:本章重点:用户自定义对话框的使用和菜单的设计“对话框”可以被看作一种特殊的窗体,它的大小一般不可改变,也没有“最小化”和“最大化”按钮,它只有一个“关闭”按钮(有时还包含一个“帮助”按钮)。VB提供了三种解决方案:系统预定义的对话框(InputBox和MsgBox)(第4章)用户自定义对话框通用对话框控件。10.2通用对话框工程/部件选定部件标签选定MicrosoftCommDialogControl6.0通用对话框添加到工具箱通用对话框的类型Action方法打开(Open)1ShowOpen另存为(SaveAs)2ShowSave颜色(Color)3ShowColor字体(Font)4ShowFont打印机(Printer)5ShowPrinter帮助(Help)6ShowHelp确定一、通用对话框的基本属性和方法通用对话框可以提供6种形式的对话框,通过设置Action属性值或调用Show方法来建立不同类型的对话框。1.属性Action属性:数值型,决定打开何种类型的对话框(见上表)DialogTiltle属性:对通用话框标题。CancelError属性:逻辑型值,表示用户在与对话框进行信息交换时,按下“取消”按钮时是否产生出错信息。True:选择“取消”按钮,出现错误警告;Err置为32755(cdlCancel)。False(缺省):选择“取消”按钮,没有错误警告。2.通用对话框的方法VB还提供了一组方法用来打开不同类型对话框:ShowOpenShowSaveShowColorShowFontShowPrinterShowHelp1.FileName(文件名称)属性:在程序中可用该属性值设置或返回用户所选定的文件名(包含路径)2.FileTitle(文件标题)属性:在程序中可用该属性值设置或返回用户所选定的文件名(不包含路径)10.2.1“打开”/“另存为”对话框DialogTiltleFileNameInitDirFilterFilterIndexDefaultExt3.Filter(过滤器)属性:确定文件列表框中所显示文件的类型,该属性的值显示在“文件类型”列表框中。如设置其值为:Cocuments(*.DOC)|*.DOC|TextFiles(*.TXT)|*.txt|AllFiles|(*.*)则在“文件类型”列表框显示下列三种文件类型以供用户选择Cocuments(*.DOC)扩展名为DOC的Word文件TextFiles(*.TXT)扩展名为TXT的文本文件AllFiles|(*.*)所有文件4.FilterIndex(过滤器索引)属性:为整型值,表示用户在文件类型列表框选定了第几组文件类型。5.InitDir(初始化路径)属性:该属性用来指定打开对话框中的初始目录,若不设置,系统则默认为“C:\MyDocuments\”。6.DefaultExt属性:字符型,用于确定保存文件的缺省扩展名。7.CancelError属性:逻辑型值,表示用户在与对话框进行信息交换时,按下“取消”按钮时是否产生出错信息。设计一个窗体,包含1个文本框(Text1)和6个分别为“打开”(cmdOpen)、“另存为”(cmdSave)、“颜色”(cmdColor)、“字体”(cmdFont)、“打印”(cmdPrinter)和“帮助”(cmdHelp)命令按钮。本例中涉及前两种对话框的使用,当用户单击“打开”就弹出打开对话框,当用户选择一文本文件,便可将该文件内容读入到文本框;当单击“另存为”就打开另存为对话框。用户输入文件名后,便可以新的文件名保存文本框的内容。10.2.2“颜色”对话框颜色对话框是当Action值为3时的通用对话框,如右图。重要属性Color:用来返回或设置选定的颜色。例“颜色...”按钮的事件过程PrivateSubcmdColor_Click()CommonDialog1.Action=3‘打开颜对话框Text1.ForeColor=CommonDialog1.ColorEndSub10.2.3“字体”对话框字体对话框是Action为4时的通用对话框,如下图所示,提供用户选择字体、字号及字体样式等。属性:字体对话框重要的属性有:Color,FontName,FontSize,FontBoldFontItalic,FontStrikethru,FontUnderline,Max,mint等。FontNameFontBold、FontItalicFontSizeFontStrikethruFontUnderlineColorMin、Max“字体...”按钮的事件过程PrivateSubcmdFont_Click()CommonDialog1.Flags=cdlCFBothOrcdlCFEffectsCommonDialog1.Action=4…………………………...EndSubFlags属性:设置所显示的字体类型,数据类型为Long。注意在显示“字体”对话框前,必须先将Flags属性设置为cdlCFScreenFonts,cdlCFPrinterFonts,或cdlCFBoth。否则,会发生字体不存在的错误。Flages属性应取下列值(见P267.表10.3):cdlCFScreenFonts&H1屏幕字体cdlCFPrinterFonts&H2打印机字体cdlCFBoth&H3打印机字体和屏幕字体。cdlCFEffects&H100显示删除线和下划线检查框及颜色组合框10.2.4“打印”对话框打印对话框是当Action为5时的通用对话框,是一个标准打印对话窗口界面,如右图。属性FromPage:整型,起始页号Topage:整型,终止页号Copies:整型,打印份数如果打印驱动程序不支持多份打印,该属性有可能始终返回1。FromPageTopageCopies注意:打印对话框本身不能处理打印工作,仅仅是一个供用户选择打印参数的界面,所选参数存于各属性中,再通过编程来处理打印操作。10.2.5“帮助”对话框帮助对话框是当Action为6时的对话框,是一个标准的对话窗口用于制作应用程序的在线帮助。它不能制作应用程序的帮助文件,只能将已制作好的帮助文件从磁盘中读出,并与界面连接起来,达到显示并检索帮助信息的目的。帮助文件需要用其它的工具制作,如MicrosoftWindowsHelpCompiler。1.HelpCommand(帮助命令)属性:用于返回或设置需要的在线Help帮助类型。2.HelpFile(帮助文件)属性:用于指定已制作好的帮助文件的路径及文件名3.HelpKey(帮助关键字)属性:用于指定帮助信息的内容,帮助窗口中显示由该帮助关键字指定的帮助信息。4.HelpContext(帮助上下文)属性:10.3菜单10.3.1菜单概述菜单是图形化界面一个必不可少的组成元素,通过菜单对各种命令按功能进行分组,使用户能够更加方便、直观地访问这些命令。Windows环境下的应用程序一般为用户提供三种菜单:窗体控制菜单、下拉菜单与快捷菜单。启动菜单编辑器:有三种方法1.单击工具栏菜单图标2.工具/菜单编辑器(CTRL+E)3.窗体上快捷菜单/菜单编辑器10.3.2菜单编辑器10.3.3菜单编辑器的使用技巧1.标题(Caption):2.名称(Name):3.快捷键(Shortcut):4.下一个(Next):5.←和→按钮6.插入(Insert)按钮:7.删除(Delete)按钮:8↓和↑按钮:9.复选(Checked)检查框:10.有效(Enabled)检查框:11.显示窗口列表(WindowList)检查框:根据设计要求,依次输入或选择所面项目,即可完成。菜单的主要属性1.标题(Caption):在窗口上显示,例如:输入&File,显示为:File,热键:Alt+F2.名称(Name):菜单项的名称,分界符也应有名称。3.快捷键(Shortcut):下拉列表框4下一个(Next):设置下一个菜单项。5.←和→按钮:“→”下一级菜单项;“←”上一级菜单项。6.插入(Insert)按钮:插入菜单项7.删除(Delete)按钮:删除菜单项8.↓和↑按钮:改变菜单项位置。9.复选(Checked)检查框:菜单项为选定项。10.有效(Enabled)检查框:True:菜单项可选;False:不可选。11.显示窗口列表(WindowList)检查框:决定是否显示所有打开的子窗体标题。对MDI窗体和MDI子窗体有效,对普通窗体无效。1.设计下拉菜单2.设计子菜单或改变子菜单级别3.为菜单项分组菜单名用减号“-”4.为菜单项指定访问键和快捷键与命令按钮设置访问键相同。5.为菜单项加上复选标记6.禁止使用菜单项在程序代码中可以通过程序代码:菜单名.Enabled=False7.菜单项的增减菜单设计的几项操作:10.3.4快捷菜单用VB菜单编辑器设计,用PopupMenu方法弹出[对象.]PopupMenu菜单名,标志,x,y标志:0:菜单项只对鼠标左键有反应。2:菜单项对鼠标左键和右键都有反应,PopupMenu方法只能用在MouseDown事件过程。