第11章 对话框与菜单程序设计.docx

上传人:b****6 文档编号:7387820 上传时间:2023-01-23 格式:DOCX 页数:23 大小:769.33KB
下载 相关 举报
第11章 对话框与菜单程序设计.docx_第1页
第1页 / 共23页
第11章 对话框与菜单程序设计.docx_第2页
第2页 / 共23页
第11章 对话框与菜单程序设计.docx_第3页
第3页 / 共23页
第11章 对话框与菜单程序设计.docx_第4页
第4页 / 共23页
第11章 对话框与菜单程序设计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

第11章 对话框与菜单程序设计.docx

《第11章 对话框与菜单程序设计.docx》由会员分享,可在线阅读,更多相关《第11章 对话框与菜单程序设计.docx(23页珍藏版)》请在冰豆网上搜索。

第11章 对话框与菜单程序设计.docx

第第11章章对话框与菜单程序设计对话框与菜单程序设计第11章对话框及菜单程序设计本章要求:

了解自定义对话框的使用。

掌握通用对话框的建立和常用属性、常用方法;掌握利用菜单设计器来建立、修改菜单项的方法;本章重点:

通用对话框的使用、菜单的建立与使用本章重点:

通用对话框的使用、动态菜单概述:

“对话框”可以被看作一种特殊的窗体,它的大小一般不可改变,也没有“最小化”和“最大化”按钮,它只有一个“关闭”按钮(有时还包含一个“帮助”按钮)。

VB提供了三种解决方案:

系统预定义的对话框(InputBox和MsgBox)用户自定义对话框通用对话框控件。

111对话框程序设计11.1.1由普通窗体创建自定义对话框对话框窗体与一般窗体在外观上是有区别的,需要通过设置以下属性值来自定义窗体外观。

1BorderStyle属性窗体的BorderStyle属性值设置为3(VbFixedDoubleialog)此目的是取消最大化和最小化按钮。

2ControlBox属性属性值为True时窗体显示控制菜单框,为False时不显示。

例11-1建立一个用户登录对话框运行结果如下:

11.1.2使用对话框模板窗体创建对话框VisualBasic6.0系统提供了多种不同类的“对话框”模板窗体,通过“工程”菜单中的“添加窗体”命令,即可打开“添加窗体”对话框。

用户可以选择的对话框有“关于”对话框、对话框、登录对话框、日积月累、ODBC登录、选项对话框6类等,11.1.3通用对话框程序启动时,一般没有通用对话框控件,因此,为了使用通用对话框,需要把通用对话框控件添加到工具箱,操作如下:

1打开通用对话框通用对话框可以提供6种形式的对话框,通过设置Action属性值或调用Show方法来建立不同类型的对话框。

如下表:

打开通用对话框的方法与Action属性设置如果在过程中显示某种类型的对话框,只需要在过程中输入:

通用对话框控件名.方法名或者通用对话框控件名.action=属性值即可。

通用对话框的属性页在设计时,可能通过属性窗口设置通用对话框的属性设置控件属性,通常使用通用对话框的属性页设置相关属性。

注:

加入通用对话框后,选中,而后在属性设计页选Custom,则出现属性对话框设置属性窗口。

打开对话框可以用来指定文件所在驱动器、文件夹及文件名等。

如果要显示打开对话框,则只需要在过程中输入:

通用对话框控件名.showopen或者通用对话框控件名.action=1例11-2显示图片示例PrivateSubCommand1_Click()WithCommonDialog1.FileName=.Filter=位图格式(*.bmp)|*.bmp|GIF格式(*.gif)|*.gif|JPEG格式|*.jpg.FilterIndex=3.DialogTitle=选择图片.ShowOpenEndWithIfCommonDialog1.FileNameThenLabel1.Caption=CommonDialog1.FileNameImage1.Picture=LoadPicture(CommonDialog1.FileName)EndIfEndSub运行结果如图:

2.另存为”对话框使用通用对话框控件的ShowSave方法,或将Action属性赋值为2,可以在运行时显示“另存为”对话框。

属性例11-2a:

把文本框中内容写入到指定的文件DimstrAsStringPrivateSubCommand1_Click()CommonDialog1.Action=2CommonDialog1.Filter=文本文件(*.txt)|*.txtOpenCommonDialog1.FileNameForOutputAs#1str=Text1Write#1,strClose#1EndSub3.“颜色”对话框颜色对话框是当Action值为3时的通用对话框。

如下图:

重要属性:

Color:

用来返回或设置选定的颜色例11-3动态设置文本框的背景颜色PrivateSubcmdcolor_Click()Text1.Text=西江月顷在黄州,春夜行蕲水中。

过酒家饮酒,醉。

乘月至一溪桥上,解鞍曲肱,醉卧少休。

及觉已晓。

乱山攒拥,流水铿然,疑非人世也。

书此语桥柱上。

照野弥弥浅浪,横空隐隐层霄。

障泥未解玉骢骄,我欲醉眠芳草。

可惜一溪风月,莫教踏碎琼瑶。

解鞍欹枕绿杨桥,杜宇一声春晓。

CommonDialog1.Action=3Text1.BackColor=CommonDialog1.ColorEndSubPrivateSubCommand1_Click()CommonDialog1.Action=3Text1.ForeColor=CommonDialog1.ColorEndSub运行结果为:

4.“字体”对话框字体对话框是Action为4时的通用对话框,如下图所示,提供用户选择字体、字号及字体样式等。

字体对话框重要的属性有:

Color,FontName,FontSize,FontBold,FontItalic,FontStrikethru,FontUnderline,Max等.Flags属性:

设置所显示的字体类型,数据类型为Long。

注意在显示“字体”对话框前,必须先将Flags属性设置为cdlCFScreenFonts,cdlCFPrinterFonts,或cdlCFBoth。

否则,会发生字体不存在的错误。

(flags属性可以修改每个通用对话框的默认操作)例11-3a动态设置文本框的字体PrivateSubcmdcolor_Click()Text1.Text=西江月顷在黄州,春夜行蕲水中。

过酒家饮酒,醉。

乘月至一溪桥上,解鞍曲肱,醉卧少休。

及觉已晓。

乱山攒拥,流水铿然,疑非人世也。

书此语桥柱上。

照野弥弥浅浪,横空隐隐层霄。

障泥未解玉骢骄,我欲醉眠芳草。

可惜一溪风月,莫教踏碎琼瑶。

解鞍欹枕绿杨桥,杜宇一声春晓。

CommonDialog1.Flags=cdlCFBothCommonDialog1.ShowFontText1.FontName=CommonDialog1.FontNameText1.FontSize=CommonDialog1.FontSizeEndSub4、其他对话框通用对话框除以上介绍的4种通用对话框外,还提供了“打印”和“帮助”对话框。

“打印”对话框可以设置打印输出的方法,如打印范围、打印份数以及当前安装的打印机信息等。

“帮助”对话框则通过使用ShowHelp方法调用Windows系统的帮助引擎。

这两种对话框的使用方法与前面介绍的类似,读者可以参考VB有关资料,得到进一步的说明。

11.2菜单设计1121菜单概述Windows环境下的应用程序一般为用户提供三种菜单:

窗体控制菜单、下拉菜单与快捷菜单。

11.2.2菜单编辑器启动菜单编辑器:

有三种方法1单击工具栏菜单图标2工具/菜单编辑器(CTRL+E)3窗体上快捷菜单菜单编辑器菜单编辑器操作界面如右所示。

菜单编辑器的使用技巧菜单的主要属性1.标题(Caption):

在窗口上显示,例如:

输入&File,显示为:

File,热键:

Alt+F2.名称(Name):

菜单项的名称,分界符也应有名称。

3.快捷键(Shortcut):

下拉列表框4下一个(Next):

设置下一个菜单项。

5.和按钮:

“”下一级菜单项;“”上一级菜单项。

6.插入(Insert)按钮:

插入菜单项7.删除(Delete)按钮:

删除菜单项8.和按钮:

改变菜单项位置。

10.复选(Checked)检查框:

菜单项为选定项。

11.有效(Enabled)检查框:

True:

菜单项可选;False:

不可选。

12.显示窗口列表(WindowList)检查框:

菜单设计的几项操作:

1设计下拉菜单2设计子菜单或改变子菜单级别3为菜单项分组菜单标题用减号“-”4为菜单项指定访问键和快捷键与命令按钮设置访问键相同。

5为菜单项加上复选标记6禁止使用菜单项在程序代码中可以通过程序代码:

菜单名.Enabled=False7菜单项的增减11.23下拉式菜单在下拉式菜单中,一般有一个主菜单,称为菜单栏。

每个菜单栏包括一个或多个选择项,称为菜单标题。

在下拉式菜单中,一般只需要对下拉菜单的最低级菜单项编写单击事件代码,如果对一个有下级菜单的菜单项编写了单击事件,则在执行下一级菜单时,该菜单程序将先执行。

菜单控件(对象)只有一个事件单击事件(Click())例11-4建立下拉式菜单,通过菜单来控制文本框中的文字的字体、颜色等。

PrivateSubForm_Load()Text1.FontBold=FalseText1.FontItalic=FalseText1.FontUnderline=FalseText1.FontName=timesnewromanText1.FontSize=28mnuFont=FalseEndSubPrivateSubmnuFile_Exit_Click()UnloadMeEndSubPrivateSubmnuFile_Input_Click()Text1.Text=InputBox(请输入:

)IfText1.TextThenmnuFont=TrueElsemnuFont=FalseEndIfEndSubPrivateSubmnufont_Bold_Click()Text1.FontBold=NotText1.FontBoldmnufont_Bold.Checked=Text1.FontBoldEndSubPrivateSubmnufont_italic_Click()Text1.FontItalic=NotText1.FontItalicmnufont_italic.Checked=Text1.FontItalicEndSubPrivateSubmnufont_underline_Click()Text1.FontUnderline=NotText1.FontUnderlinemnufont_underline.Checked=Text1.FontUnderlineEndSub1124菜单状态的控制1菜单有效性控制设计菜单可用或不可用,需要设置菜单的enabled属性;2菜单项标记控件设计菜单项标记,需要设置菜单项的checked属性3菜单项的动态增减实现此功能,必须用控件数组、load、unload语句。

例11-5编写一个程序,自动增加或减少菜单项。

DimindexldAsIntegerPrivateSubmnuadd_Click()DimmnucaptionAsStringmnucaption=InputBox(请输入菜单标题)indexld=indexld+1Loadmnudyn(indexld)mnudyn(indexld).Caption=mnucaptionmnudyn(indexld).Visible=TrueEndSubPrivateSubmnudel_Click()DimiAsIntegerIfindexld1ThenMsgBox菜单项已经全部删除ElseUnloadmnudyn(indexld)indexld=indexld-1EndIfEndSub11.25弹出式菜单弹出式菜单是独立于菜单栏显示在窗体或指定控件上的浮动菜单,菜单的显示位置与鼠标当前位置有关。

实现步骤如下:

1.在菜单编辑器中建立该菜单。

2.设置其顶层菜单项(主菜单项)的Visible属性为False(不可见)。

3.在窗体或控件的MouseUp或MouseDown事件中调用PopupMenu方法显示该菜单。

PopupMenu的使用方法为:

PopupMenu,flags,x,y,Boldcommand其中:

关键字“PopupMenu”可以前置窗体名称,但不可前置其他控件名称。

是指通过菜单编辑器设计的、至少有一个子菜单项的菜单名称(Name)。

Flags参数为常数,用来定义显示位置与行为,其取值见教材P235.例11-6设计一个快捷菜单PrivateSubForm_Load()txtdocment.Text=asghdfdjkgdfshEndSubPrivateSubmnucenteralign_Click(IndexAsInteger)txtdocment.Alignment=vbcenterjustfyEndSubPrivateSubmnuleftalign_Click(IndexAsInteger)txtdocment.Alignment=vbleftjustfyEndSubPrivateSubmnurightalign_Click(IndexAsInteger)txtdocment.Alignment=vbrightjustfyEndSubPrivateSubtxtdocment_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=vbRightButtonThenPopupMenumnualignEndIfEndSub习题解答习题十一一、选择题1设在窗体Form1上加一通用框控件commandialog1,则语句commandialog1.Action=3的作用是_.A)建立打开文件对话框B)建立保存文件对话框C)建立颜色对话框D)建立字体对话框2设在窗体Form1上加一通用框控件commandialog1,则语句commandialog1.Action=4的用的功能等价的是_.A)commandDialog1.showopenB)commandDialog1.showsaveC)commandDialog1.showColorD)commandDialog1.showfont3设在窗体Form1上加一通用框控件commandialog1,将其filter属性和FilterIndex属性设计为:

commanddialog1.Filter=”AllFiles|*.*|BitmapFiles|*.bmp|JPEGFiles|*.jpg|ICOFiles|*.ico”commanddialog1.FilterIndex=2commanddialog1.showopen则显示出来的打开文件对话框中,在文件类型框中显示_。

A)AllFilesB)BitmapFilesC)JPEGFilesD)ICOFiles4设在窗体Form1上加一通用框控件commandialog1,用语句commandialog1.showopen建立打开文件对话框,则从该文件对话框中按“确定”按钮退出时,要得到用户所选择的文件的路径僦文件名时,应该使用commanddialog1的哪个属性_。

A)DefaultEXT属性B)DialogTitle属性C)FileName属性D)FileTitle属性4设在窗体Form1上加一通用框控件commandialog1,要建立保存文件对话框,则应该将commandialog1的Action属性设置为_.5A)1B)2C)3D)46设在窗体Form1上加一通用框控件commandialog1,要建立保存文件对话框,使对话框的标题属性为“保存文件”,则应该对commandialog1的哪些个属性进行设置_。

A)DefaultEXT属性B)DialogTitle属性C)FileName属性D)FileTitle属性7在打开文件对话框中,如果单击取消按钮退出对话框,则其Filename属性取值为_。

A)系统默认的当前路径B)系统默认的当前盘C)空字符D)系统默认的当前文件名8设在窗体Form1上加一通用框控件commandialog1,利用它建立一个打开文件对话框央对话框中选择了“D:

Myfoldertexttext1.txt”,并单击确定搂钮退出对话框,则commandialog1的Filetitle属性为_。

A)空字符B)D:

MyfoldertextC)text1.textD)D:

Myfoldertexttext1.txt9用于显示弹出式菜单的方法名是_。

A)ShowpopupB)ShowpopupMenuC)popupMenuD)ShowMenu10用于动态地在菜单项增加菜单项的语句是_。

A)LoadB)UnloadC)LoadMenuD)UnloadMenu11要把一个名称为mnuFont的菜单项设置为不可见的语句是_。

A)mnuFont.checked=TrueB)mnuFont.Enabled=TrueC)mnuFont.Visible=FalseD)mnuFont.Caption=False12以下不是菜单编辑窗口的组成部分的是_。

A)菜单项显示区B)菜单属性设置区C)编辑区D)菜单代码编辑区二、填空题1在VB中,其对话框主要分为三类,它们分别是预定义、自定义、通用对话框。

2设有通用对话框控件Commandialoig1,则语句Commandialoig1.Action=1的功能是打开文件,与语句功能完全等价的另外一个语句是Commandialoig1.showOpen3能得到颜色对话框中用户所选择的颜色的属性是Color。

4要得到字体对话框中用户所选择的字体名字、大小、颜色的属性分别是Fontname、FontSize、FontColor。

5要建立打开文件对话框、保存文件对话框、颜色对话框和字体对话框,应该分别使用对话框控件的showopen、showsave、showColor、showFont方法。

6菜单分为下拉、弹出菜单,菜单总与窗体相关联,设计菜单需要在菜单编辑器中进行。

7菜单控件只包含一个单出事件。

8要在菜单中建立分隔符应该在菜单编辑器的标题选项中输入一个“_”符号。

三、程序设计题1为程序添加一个关于对话框,其中包含一仆计时器控件,实现对话框打开15秒后自动关闭。

要求在程序运行时,自动打开关于对话框,即作为快速启动窗口,也可能通过菜单的“关于”命令打开。

PrivateSubTimer1_Timer()UnloadMeEndSub2窗体上有一个名为CD1的通用对话框控件,一个名为text1的文本框,两个命令按钮,标题分别为“打开文件”、“保存文件”;当单击打开文件文件按钮时,把选中的文件读入text1文本框中,单击保存文件按时,把text1中的内容写入选定的文件名。

PrivateSubC1_Click()CD1.Filter=*.txt|*.txtCD1.InitDir=c:

mydocumentsCD1.CancelError=FalseCD1.FilterIndex=1CD1.ShowOpenOpenCD1.FileNameForInputAs#1DoWhileNotEOF

(1)LineInput#1,sText1.Text=Text1.Text+sLoopClose#1EndSubPrivateSubC2_Click()CD1.InitDir=c:

mydocumentsCD1.Filter=*.txt|*.txtCD1.CancelError=FalseCD1.FilterIndex=1CD1.ShowSaveOpenCD1.FileNameForOutputAs#1Print#1,Text1.TextClose#1EndSub3建立一下下拉式菜单,顶级为“文本框颜色”,名称为colors,两个子菜单项分别为“文本颜色”和背景颜色“”,名称分别为textcolor和backcolor。

编写事件过程完成相应的功能。

PrivateSubbackcolor_Click()Cd1.ShowColorText1.backcolor=Cd1.ColorEndSubPrivateSubtextcolor_Click()Cd1.ShowColorText1.ForeColor=Cd1.ColorEndSub4建立一个弹出式菜单,菜单项目为“复制”和“粘贴”,编写事件过程完成相应功能。

PrivateSubcopy_Click()Clipboard.SetText(Text1.SelText)EndSubPrivateSubpaste_Click()Text1.SelText=Clipboard.GetTextEndSubPrivateSubText1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=2ThenPopupMenucopypasteEndIfEndSubPrivateSubText1_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=2ThenPopupMenucopypasteEndIfEndSub补充内容关于工具栏的设计1创建工具栏的步骤:

(1)在ImageList控件中添加所需要的图象。

(2)在ToolBar控件中创建Button对象。

(3)在ButtonClick事件中用SelectCase语句对各按扭进行相应的编程。

在ImageList控件中添加图象ImageList控件不可以单独使用,它专门为其他控件提供图像库,是一个图像容器控件。

我们使用的工具栏按扭的图像就是通过ToolBar控件从ImageList的图像库中获得的。

先在窗体上添加ImageList1和ToolBar1控件。

选择ImageList1,单击右键,从弹出菜单中选择“属性”,然后在“属性页”对话框中选择“图像”标签,如图7-14所示。

属性设置:

索引(Index):

表示每个图像的编号,在ToolBar的按扭中引用。

关键子(Key):

表示每个图像的标识名,在ToolBar的按扭中引用。

图像数:

表示已经插入的图像数目。

插入图片:

插入新图像,图像文件的扩展名为.ico,.bmp,.gif,.jpg等。

为工具栏连接图像打开ToolBar控件“属性页”对话框,选择“通用”标签,如图:

其中:

图像列表:

下拉式列表框表示与ImageList控件的连接,此例选择ImageList1控件名。

当ImageList控件与ToolBar控件相关后,就不能对其进行编辑。

若需要对ImageList控件进行编辑时,须先在ToolBar控件的“图像列表”下拉列表框设置为“无”,切断与ImageList的关系,然后对ImageList进行编辑。

为工具栏增加按扭选择图7-15ToolBar属性页的“按扭”标签,如图7-16所示,单击“插入按扭”可以在工具栏上插入Button对象。

在此选项卡中需要设置的属性:

索引(Index):

文本框表示每个按扭的数字编号,在ButtonClick事件中的引

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1