2020/2/24VB程序设计1VisualBasic程序设计实用教程2020/2/24VB程序设计2第5章菜单和对话框菜单、对话框是一类特殊的控件,菜单按应用分为下拉式菜单和弹出式菜单两种;对话框可以分为固定格式的对话框、用户自定义对话框和通用对话框。2020/2/24VB程序设计3第5章菜单和对话框5.1下拉式菜单的设计5.2弹出式菜单5.3对话框2020/2/24VB程序设计45.1下拉式菜单Windows操作系统中大部分应用程序都包含下拉式菜单,从结构上可以分为横向排列的菜单项和每一个菜单项所对应的竖向排列下拉式子菜单项,子菜单中每一项又可对应有自已的下拉菜单项。2020/2/24VB程序设计55.1下拉式菜单1、下拉式菜单的建立VB中通过“菜单编辑器”对话框实现菜单的设计。单击VB工具栏中的“菜单编辑器”按钮,或选择“工具”菜单中“菜单编辑器”项均可打开“菜单编辑器”对话框2020/2/24VB程序设计65.1下拉式菜单该对话框大致由属性设置区、菜单项编辑按钮以及菜单项显示区三部分组成。1)属性设置区2020/2/24VB程序设计75.1下拉式菜单⑴“标题”文本框:用来设置菜单项的标题,即Caption属性。当在该文本框中输入一个“-”时,表示该菜单项为一个分割条。⑵“名称”文本框:用来设置菜单项的名称,即Name属性,该属性必须设置。⑶“索引”文本框:用来设置菜单控件数组的下标,即Index属性。2020/2/24VB程序设计85.1下拉式菜单⑷“快捷键”组合框:用来为菜单项指定一个快捷键。⑸“帮助上下文”文本框:通过输入数字来指定帮助文件中特定的页数或与该菜单上下文相关的帮助文件。⑹“协调位置”组合框:通过该选项来确定菜单是否出现或怎样出现。共有三种设置方式:不设置、靠左边和居中。2020/2/24VB程序设计95.1下拉式菜单⑺“复选”复选框:用来制定某一菜单项是否可选,默认情况下值为False,表示该复选框处于未选中状态。⑻“有效”复选框:用来设置菜单项是否可执行,默认情况下值为True,表示该复选框处于选中有效状态。2020/2/24VB程序设计105.1下拉式菜单⑼“可见”复选框:用来设置该菜单项是否可见,默认情况下值为True,表示该复选框处于选中可见状态。⑽“显示窗口列表”复选框:用来设置多文档应用程序菜单中是否显示已打开的多个文档文件子窗口列表框。2020/2/24VB程序设计115.1下拉式菜单2)菜单项编辑按钮区域共7个按钮,用来编辑菜单的菜单项。2020/2/24VB程序设计125.1下拉式菜单⑴下一个按钮:用来编辑下一个菜单项。⑵插入按钮:用来插入一个新的菜单项。⑶删除按钮:用来删除当前的菜单项。⑷上移按钮和下移按钮:用于调整当前菜单项的位置。⑸左移按钮和右移按钮:用于调整菜单项的级别。VB提供最多六个级别的子菜单项。2020/2/24VB程序设计135.1下拉式菜单3)菜单项显示区用于显示用户输入的菜单项,即Caption属性。注:主菜单项设置时,可以利用上章的方法设置快捷方式。2020/2/24VB程序设计145.1下拉式菜单菜单项代码的编写在对应菜单项Click()事件中。在设置界面中利用Windows中访问菜单的方法选中并单击要编写代码的菜单项,即可进入代码编写窗口。2020/2/24VB程序设计155.1下拉式菜单【例5-1】一个界面包含三个下拉菜单和一个标签框,完成功能:选择菜单项中对应的前景与背景颜色可以修改标签框中的字体与背景颜色;子菜单中设置“还原”项用来恢复标签框的初始颜色;利用子菜单中“退出”项用来退出程序。演示2020/2/24VB程序设计165.1下拉式菜单操作步骤是:⑴创建新的EXE工程,设置标签框、菜单的属性值。⑵编辑代码。⑶运行程序。2020/2/24VB程序设计175.1下拉式菜单属性名称属性值NameLabel1Caption利用菜单完成标签框中前景与背景色的设置操作Font宋体FontSize28ForeColor&H80000012&(黑色)BackColor&H8000000F&(灰色)2020/2/24VB程序设计185.1下拉式菜单标题名称快捷键前景色(&forecolor)forecolor1....红色redfCtrl+R....黄色yellowfCtrl+Y....蓝色bluefCtrl+B背景色(&backcolor)backcolor1....红色redb....黄色yellowb....蓝色blueb系统(&system)system....还原recall....-bar1....退出exitCtrl+E2020/2/24VB程序设计195.1下拉式菜单PrivateSubblueb_Click()Label1.BackColor=vbBlueEndSubPrivateSubbluef_Click()Label1.ForeColor=vbBlueEndSubPrivateSubexit_Click()EndEndSub2020/2/24VB程序设计205.1下拉式菜单PrivateSubrecall_Click()Label1.BackColor=&H8000000FLabel1.ForeColor=&H80000012EndSubPrivateSubredb_Click()Label1.BackColor=vbRedEndSubPrivateSubredf_Click()Label1.ForeColor=vbRedEndSub2020/2/24VB程序设计215.1下拉式菜单PrivateSubyellowb_Click()Label1.BackColor=vbYellowEndSubPrivateSubyellowf_Click()Label1.ForeColor=vbYellowEndSub2020/2/24VB程序设计225.1下拉式菜单【例5-2】界面包含两个下拉菜单、十个标签框以及九个文本框。演示2020/2/24VB程序设计235.1下拉式菜单操作步骤:⑴创建新的EXE工程,设置标签框、菜单的属性值。⑵编辑代码。⑶运行程序。2020/2/24VB程序设计245.1下拉式菜单属性名称属性值NameLabel1Caption请在数学、物理、语文、化学、外语、生物栏中输入学生的成绩,然后选择“查询数据”下拉菜单中的“统计成绩”选项。若选择“输入数据”下拉菜单中的“清除”项,将重新开始操作。Font宋体FontSize16VisibleTrue2020/2/24VB程序设计255.1下拉式菜单属性名称属性值属性名称属性值属性名称属性值NameLabel2NameLabel3NameLabel4Caption数学Caption语文Caption外语VisibleTrueVisibleTrueVisibleTrue属性名称属性值属性名称属性值属性名称属性值NameLabel5NameLabel6NameLabel7Caption物理Caption化学Caption生物VisibleTrueVisibleTrueVisibleTrue属性名称属性值属性名称属性值属性名称属性值NameLabel8NameLabel9NameLabel10Caption优良科目:Caption及格科目:Caption不及格科目:VisibleFalseVisibleFalseVisibleFalse2020/2/24VB程序设计265.1下拉式菜单标题名称快捷键输入数据m1....清除m11Ctrl+C....退出m12Ctrl+E查询数据m2....统计数据m21Ctrl+S2020/2/24VB程序设计275.1下拉式菜单Dima1,a2,a3,a4,a5,a6AsInteger'设置变量a1~a6为通用级变量,在整个窗体中该类变量有效'清除菜单对应的代码PrivateSubm11_Click()Text1.SetFocus'设置文本框一为当前鼠标的焦点Text1.Text=Text2.Text=Text3.Text=Text4.Text=Text5.Text=Text6.Text=Text7.Text=Text8.Text=Text9.Text=EndSub'退出菜单对应的代码PrivateSubm12_Click()EndEndSub2020/2/24VB程序设计285.1下拉式菜单'统计数据菜单对应的代码PrivateSubm21_Click()Label1.Visible=FalseText7.Visible=TrueText8.Visible=TrueText9.Visible=TrueLabel8.Visible=TrueLabel9.Visible=TrueLabel10.Visible=TrueText1.SetFocus2020/2/24VB程序设计295.1下拉式菜单a1=Val(Text1.Text)'利用Val函数将对应的文本数据转变为数值型数据a2=Val(Text2.Text)a3=Val(Text3.Text)a4=Val(Text4.Text)a5=Val(Text5.Text)a6=Val(Text6.Text)2020/2/24VB程序设计305.1下拉式菜单SelectCasea1CaseIs60'判断a1变量的范围是否小于60Text9.Text=Text9.Text+数学Case60To75'判断a1变量的范围是否在60至75之间Text8.Text=Text8.Text+数学Case76To100'判断a1变量的范围是否在76至100之间Text7.Text=Text7.Text+数学EndSelect2020/2/24VB程序设计315.1下拉式菜单SelectCasea2CaseIs60Text9.Text=Text9.Text+语文Case60To75Text8.Text=Text8.Text+语文Case76To100Text7.Text=Text7.Text+语文EndSelect2020/2/24VB程序设计325.1下拉式菜单SelectCasea3CaseIs60Text9.Text=Text9.Text+外语Case60To75Text8.Text=Text8.Text+外语Case76To100Text7.Text=Text7.Text+外语EndSelect2020/2/24VB程序设计335.1下拉式菜单SelectCasea4CaseIs60Text9.Text=Text9.Text+物理Case60To75Text8.Text=Text8.Text+物理Case76To100Text7.Text=Text7.Text+物理EndSelect2020/2/24VB程序设计345.1下拉式菜单SelectCasea5CaseIs60Text9.Text=Text9.Text+化学Case60To75Text8.Text=Text8.Text+化学Case76To100Text7.Text=Text7.Text+化学EndSelect2020/2/24VB程序设计355.1下拉式菜单SelectCasea6CaseIs60Text9.Text=Text9.Text+生物Case60To75Text8.Text=Text8.Text+生物Case76To100Text7.Text=Text7.Text+生物EndSelectEndSub2020/2/24VB程序设计365.2弹出式菜单弹出式菜单是一种将常用功能综合在一起以方便快捷地调用的一种菜单方式。用户只需在窗体上单击某一鼠标键(一般为鼠标右键)即可弹出该菜单,又称为快捷菜单。2020/2/24VB程序设计375.2弹出式菜单1、弹出式菜单的设计弹出式菜单一般为不可见状态,故只需取消该弹出式菜单的“可见”复选框为不选中状态即可。另外也可以不取消主菜单的“可见”复选框,而直接使用某一个下拉式菜单的菜单项。