收藏 分销(赏)

VB菜单和窗体PPT.ppt

上传人:丰**** 文档编号:10289076 上传时间:2025-05-16 格式:PPT 页数:52 大小:692KB
下载 相关 举报
VB菜单和窗体PPT.ppt_第1页
第1页 / 共52页
VB菜单和窗体PPT.ppt_第2页
第2页 / 共52页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,10,章,菜单和工具栏,10.1,菜单设计,10.2,创建工具栏,10.3,Windows,界面样式及创建,SDI,程序界面,10.4,创建,MDI,程序界面,10.1,菜单设计,10.1.1,菜单组成,10.1.2,菜单编辑器,10.1.3,下拉菜单的设计,10.1.4,弹出式菜单,10.1.5,菜单控件数组,返回目录,10.1.1,菜单组成,在,Windows,环境下,菜单分为下拉式菜单和弹出式菜单。,下拉式菜单的菜单条显示在窗体标题栏的下面,它含有一个或者多个菜单标题。当单击某一菜单标题时,将打开一个含有菜单项的列表。菜单项也可以是子菜单标题,当单击子菜单标题时,将显示其下的子菜单项。分隔条用于将菜单项按功能分组。,弹出式菜单又称为“上下文菜单”或“快捷菜单”,是一种可以显示在窗体任何位置并独立于菜单栏的浮动式菜单。一般通过在某一区域单击鼠标右键的方式激活特定的弹出式菜单。鼠标单击的区域不同,弹出的菜单内容一般也不同。,10.1.2,菜单编辑器,可以通过以下几种方式启动菜单编辑器:,(,1,)执行,“,工具,”,菜单中的,“,菜单编辑器,”,命令。,(,2,)单击工具栏中的,“,菜单编辑器,”,按钮。,(,3,)在要建立菜单的窗体空白处右击鼠标,在快捷菜单中选择,“,菜单编辑器,”,命令。,10.1.2,菜单编辑器,10.1.2,菜单编辑器,1.,菜单控件区,菜单控件区用来设置菜单控件的属性。,(,1,)标题:设置菜单控件的,Caption,属性,其值是显示在菜单中的文本。如果要在菜单中加入一条分隔线,则只需输入减号(,-,)即可;如果要为菜单控件指定访问键,则在作为访问键的字符前面加一个,“,&,”,字符。程序运行时该字符下端会出现下划线,使用,Alt+,字符即可打开菜单或执行相应的菜单命令。,(,2,)名称:设置菜单控件的,Name,属性,在程序代码中用于访问该菜单控件。建议使用,mnu,作为前缀来标识是菜单控件。,(,3,)索引:设置菜单控件数组中各元素的下标。,10.1.2,菜单编辑器,(,4,)快捷键:设置快捷访问键,使用户在不打开菜单的情况下就可以通过键盘操作实现同样的功能。,(,5,)复选:设置菜单控件的,Checked,属性,决定是否在菜单控件前面出现复选标记(,),以便表示菜单控件的开关状态。,(,6,)有效:设置菜单控件的,Enabled,属性,决定菜单控件是否可用。如果清除,“,有效,”,复选框,则,Enabled,属性值为,False,,此时相应的菜单控件将变成无效,以灰色显示。它既不能响应,Click,事件,也无法用快捷键访问。如果某一菜单标题无效,则其下的所有菜单项都将无效。,10.1.2,菜单编辑器,(,7,)可见:设置菜单控件的,Visible,属性,决定菜单控件是否可见。如果清除,“,可见,”,复选框,则,Visible,属性值为,False,,该菜单控件不可见。当菜单控件不可见时,菜单中的其余控件会上移以填补空出的位置;如果控件位于菜单条上,则菜单条上其余的控件会左移以填补相应的空间。菜单控件不可见时,还会导致其无效;如果菜单标题不可见,则其下的所有菜单项均无效。,10.1.2,菜单编辑器,2.,菜单项显示区,菜单项显示区列有当前窗体的所有菜单控件,并通过它们所在的位置显示出对应的层次关系。可通过鼠标单击选中某个菜单控件,此时上端的菜单控件区显示的即为该菜单控件的对应属性。,(,1,)位于列表框中与左侧边框平齐的菜单控件将作为菜单标题显示在菜单条中。,(,2,)前面有一个内缩符号(,.,)的菜单控件是前导菜单标题的菜单项。,(,3,)前面有二个内缩符号(,.,)的菜单控件是前导菜单项的子菜单项,前导菜单项又称为子菜单标题。依此类推。,10.1.2,菜单编辑器,3.,编辑区,编辑区用来对当前选中的菜单控件进行编辑。,(,1,),、,:取消或产生内缩符号,从而改变菜单控件在菜单中的层次级别。,(,2,),、,:改变菜单控件在菜单中的位置。,(,3,)下一个:选中当前菜单控件的下一个菜单控件。,(,4,)插入:在当前菜单控件的上方加入一个新的菜单控件。,(,5,)删除:删除当前选中的菜单控件。,10.1.3,下拉菜单的设计,【例,10-1-1,】,设计一个具有算术运算(、,、,)及清除功能的菜单。通过键盘输入两个数,利用菜单命令计算出它们的和、差、积、商,并显示出来。要求每个菜单命令都有对应的快捷键。,(,1,)设计用户界面,(,2,)菜单设计:根据题意,建立两个菜单标题,分别完成设置和计算功能。,“,设置,”,菜单中含有清除和退出两个菜单项;,“,计算,”,菜单中含有加法、减法、乘法和除法四个菜单项。,Private Sub cheng_Click,(),Label1.Caption=cheng.Caption,Text3.Text=Val(Text1.Text)*Val(Text2.Text),End Sub,Private Sub chu_Click,(),Label1.Caption=chu.Caption,Text3.Text=Val(Text1.Text)/Val(Text2.Text),End Sub,Private Sub jia_Click,(),Label1.Caption=jia.Caption,Text3.Text=Val(Text1.Text)+Val(Text2.Text),End Sub,Private Sub jian_Click,(),Label1.Caption=jian.Caption,Text3.Text=Val(Text1.Text)-Val(Text2.Text),End Sub,10.1.3,下拉菜单的设计,(,3,)编写,Click,事件过程:如果希望单击某个菜单项就可以执行对应的操作,需要编写菜单控件的,Click,事件过程,这是除分隔条以外其它菜单控件唯一可以识别的动作。当用户单击菜单标题时,通常是将其下的菜单项显示出来,所以可以不必为菜单标题的,Click,事件过程编写代码。,首先,关闭菜单编辑器,在窗体上显示所创建的菜单。从窗体上选择一个菜单控件,将在代码编辑器中显示相应的,Click,事件过程,等待输入程序代码。,10.1.4,弹出式菜单,弹出式菜单可以根据单击鼠标右键时的位置灵活改变弹出的菜单内容,使用户操作更快捷,所以弹出式菜单又称为快捷菜单。任何至少有一个菜单项的菜单,都可以在运行时作为弹出式菜单来显示,弹出式菜单的设计也是使用菜单编辑器,如果弹出式菜单不需要显示在菜单条中,则需要将顶级菜单项设置成隐藏。,创建弹出式菜单的步骤如下:,(,1,)使用菜单编辑器设计菜单。,(,2,)设置顶层菜单项为隐藏,即不选中菜单编辑器里的,“,可见,”,选项。,创建弹出式菜单,创建弹出式菜单,按,Ctrl+E,键,弹出菜单编辑器。在那里面可以编辑菜单。标题:等同于,Command,的,Caption,属性,就是用来显示菜单上的文字。名称:等同于,Command,的,Nane,属性,指定菜单的名称。索引:菜单数组的下标。复选:以复选框的样式显示菜单。有效:,Enabled,可见:,Visible,先输入菜单第一项的标题,文件,和名称,file,,按你的要求,程序运行时不显示,那么就把它的,可见,勾上。再输入菜单第二项的标题,打开,和名称,open,因为它是在,文件,菜单的下一级,所以按一下,按钮,最后输入菜单第三项的标题,保存,和名称,save,不用按按,按钮,.,确定完成菜单的编辑,.,创建弹出式菜单,调出菜单,.,Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single)If Button=2 Then PopupMenu,file,1,为左键,2,为右键,PopupMenu,弹出菜单,End Sub,点击代码窗口中控件下拉列表,选择,save,或,open,可以对它们进行事件的编程,10.1.4,弹出式菜单,(,3,)编写与弹出式菜单相关联的,MouseUp,(,释放鼠标,),或,MouseDown,(,按下鼠标,),事件过程。,其中必须使用,PopupMenu,方法,,PopupMenu,方法语法格式为:,对象名,.,PopupMenu,flags,x,y,boldcommand,对象名,.,表示要显示弹出式菜单的窗体名称,默认为当前窗体。,参数,是要显示的弹出式菜单名称。,参数,flags,定义弹出式菜单的位置,可指明位置常数与行为常数。位置常数和行为常数分别如,表,10-1-3,和,表,10-1-4,所示。如果要同时指定这两个常数,可用逻辑运算符,or,进行组合,如,4 or 2,。,10.1.4,弹出式菜单,(,4,)参数,x,与,y,定义弹出式菜单相对于指定窗体的,显示位置,。若省略,则显示在鼠标指针的当前位置。,(,5,)参数,boldcommand,用于指定在弹出式菜单中要,以粗体显示的菜单控件的名称,。若省略,则菜单中没有以粗体显示的菜单控件。,注意:显示弹出式菜单后,用户必须从菜单中进行选择或者取消菜单,否则调用,Popupmenu,方法后的代码不会执行。,10.1.5,菜单控件数组,与控件数组类似,菜单控件数组是指同一菜单上共享相同名字与事件过程的一个或者多个菜单项。,菜单控件数组中的每个元素都由唯一的索引值来标识,索引值由,Index,属性确定。,Index,属性值可以从菜单编辑器的,“,索引,”,文本框来指定。,当菜单控件数组的某个元素识别,Click,事件时,系统将其索引值作为参数传递给,Click,事件过程。,Click,事件过程根据传进来的索引值判断出选中的是哪一个菜单项。,注意:菜单控件数组中的各个元素在菜单项显示区中必须是连续的,而且必须是在同一缩进级上。若含有分隔条,则它也要作为数组元素包含到菜单控件数组中。,Private Sub js_Click(Index,As Integer),Select Case Index,Case 1,Label1.Caption=js(Index).Caption,Text3.Text=Val(Text1.Text)+Val(Text2.Text),Case 2,Label1.Caption=js(Index).Caption,Text3.Text=Val(Text1.Text)-Val(Text2.Text),Case 3,Label1.Caption=js(Index).Caption,Text3.Text=Val(Text1.Text)*Val(Text2.Text),Case 4,Label1.Caption=js(Index).Caption,Text3.Text=Val(Text1.Text)/Val(Text2.Text),End Select,End Sub,10.2,创建工具栏,10.2.1,ImageList,控件,10.2.2,ToolBar,控件,返回目录,10.2.1 ImageList,控件,要在窗口中加入工具栏,需要用到,ToolBar,控件和,ImageList,控件。通常情况下,这两个控件并没有显示在工具箱中,需要用户手动将它们添加到工具箱中。方法如下:,(,1,)从,“,工程,”,菜单中选取,“,部件,”,命令,打开,“,部件,”,对话框。,(,2,),在“部件”对话框的“控件”选项卡中,选中“,Microsoft Windows Common Controls 6.0”,,,使它前面的复选框中出现,“,”,,如图,10-2-1,所示。,(,3,)单击,“,确定,”,按钮,此时一些常用控件就被加入到工具箱中,其中包括,ToolBar,控件和,ImageList,控件。,10.2.1 ImageList,控件,ImageList,控件用于存放需要在工具栏上显示的按钮图片。,使用方法:,(,1,)在窗体中添加一个,ImageList,控件。其大小固定,运行时不可见。,(,2,)右击,ImageList,控件,选择,“,属性,”,,打开,“,属性页,”,对话框。,(,3,)选择,“,图像,”,选项卡,单击,“,插入图片,”,按钮,逐个向,ImageList,控件中加入图片;如果需要删除多余的图片,选中后点击,“,删除图片,”,按钮。,10.2.2 ToolBar,控件,使用,ToolBar,控件具体创建一个工具栏。首先在窗体中添加一个,ToolBar,控件,右击后选择“属性”,打开“属性页”对话框。,1.,设置,ToolBar,控件的通用属性,点击,“,通用,”,选项卡:将,“,图像列表,”,属性设置为前面已创建的,ImageList,控件,这样可以使用,ImageList,控件中的图片作为,ToolBar,控件上按钮的图标来使用;,“,外观,”,决定了创建的工具栏是平面还是立体的效果;,“,样式,”,控制工具栏上按钮的外观。其他属性可根据需要进行设置。,10.2.2 ToolBar,控件,2.,设置,ToolBar,控件中的按钮,点击,“,按钮,”,选项卡:使用,“,插入按钮,”,和,“,删除按钮,”,,可以增加或减少工具栏中的按钮;每个按钮需要使用,ImageList,控件中的哪个图片作为外观显示,在,“,图像,”,中进行设置;,“,关键字,”,用于在程序代码中引用该按钮。,10.2.2 ToolBar,控件,工具栏上按钮的类型包括六种,通过,“,样式,”,进行选择,(,1,),0-tbrDefault,:默认的按钮类型。,(,2,),1-tbrCheck,:复选类型的按钮。同一组按钮可选中多项,如设置字体的加粗、倾斜、加下划线等。,(,3,),2-tbrButtonGroup,:单选类型的按钮。同一组按钮只能选中一项,如设置段落的靠左、靠右、居中等对齐方式。,(,4,),3-tbrSeparator,:分隔符类型的按钮。此时不必指定,“,图像,”,,该类按钮会以一个分隔条的形式出现。,(,5,),4-tbrPlaceholder,:作为占据空间的按钮。,(,6,),5,-,tbrDropdown,:具有下拉菜单的按钮。下拉菜单中包括的内容可在对话框下端的,“,按钮菜单,”,区域进行详细设置。,10.2.2 ToolBar,控件,3.,在,ToolBar,控件中加入代码,ToolBar,控件最常用的是,ButtonClick,事件,该事件的格式如下:,Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button,),其中的,Button,对应程序运行时用户用鼠标单击的工具栏上的按钮,该按钮可用它的,Button,.,Key,属性值(关键字)来表示。,10.3 Windows,界面样式及创建,SDI,程序界面,10.3.1,Windows,界面样式,10.3.2,创建,SDI,程序界面,返回目录,10.3.1 Windows,界面样式,单文档界面(,SDI,),多文档界面(,MDI,),资源管理器界面,10.3.2,创建,SDI,程序界面,1.,新建一个,Visual Basic,工程,新建一个,Visual Basic,工程,把它作为,SDI,应用程序的主界面。如果需要在程序启动时显示一个启动画面,那么需要另外添加一个窗体作为启动画面。,有时,在程序的帮助菜单中,需要有一个,“,关于,”,的信息窗口,那么还要添加一个窗体,用来显示一些相应的信息。,2.,添加菜单,菜单是用户和程序交互的主要工具,是应用程序中可以让用户发布的命令的集合,所以在一般的应用程序中都有菜单。在菜单中可以定义一些相应的命令来完成需要的操作。可以利用前面讲过的方法为程序添加菜单。,创建,SDI,程序界面实例,2.Imagelist1,控件,-,右键属性,-,插入图片,1.Ctrl+E,添加菜单项,插入图片路径,C:Program FilesMicrosoft Visual StudioGraphicsbitmapsOFFCTLBRlargecolor,C:Program FilesMicrosoft Visual StudioGraphicsbitmapstlbr_w95,创建,SDI,程序界面实例,3.,添加,toolbars,控件,设置“通用”,4.,修改按钮选项卡,填写关键字、图像数字,创建,SDI,程序界面实例,5.,添加,StatusBar,控件并修改,StatusBar,控件属性,10.3.2,创建,SDI,程序界面,3.,添加工具栏,工具栏也是用户和程序交互的主要工具,由于它具有图形化的外观,比菜单更直观明了、操作简单,因此工具栏的使用更为普遍,在没有菜单栏的地方也可以放置工具栏。,可利用前面讲过的方法为程序添加工具栏。如果程序中既有菜单,又有工具栏,应注意它们之间的对应关系。,4.,添加工作区域,工作区域放置的是应用程序操作的对象。例如,可以放置一个文本框,来输入处理的文本。,10.3.2,创建,SDI,程序界面,5.,添加状态栏,在比较专业的程序中,一般都需要有状态栏,用来显示一些相关的程序状态信息。状态栏可使用状态条控件(,StatusBar,)来实现,该控件和,ToolBar,控件、,ImageList,控件一样,也是,“,Microsoft Windows Common Controls 6.0,”,中的一个控件。,6.,编写代码,界面设置完成以后,还要编写相关命令的代码,从而来实现应用程序的相关功能。通过以上这些操作,便建立了一个简单的,SDI,程序界面。,10.4,创建,MDI,程序界面,10.4.1,MDI,窗体与,MDI,子窗体,10.4.2,创建,MDI,应用程序,返回目录,10.4.1 MDI,窗体与,MDI,子窗体,在,MDI,应用程序中,可以同时显示多个文档,每个文档显示在自己的窗口中。文档窗口包含在父窗口内,父窗口为应用程序中所有的文档子窗口提供操作的空间。可见,一个,MDI,应用程序可以包含三类窗体,即普通窗体(标准窗体)、,MDI,父窗体和,MDI,子窗体。,一个应用程序当然可以包含许多相似或者不同样式的,MDI,子窗体。在设计阶段,子窗体是独立的,并不被限制在,MDI,父窗体的区域内,可以在子窗体上增加控件、设置属性、编写代码。也就是说,设计阶段的,MDI,子窗体和标准窗体没有区别。,10.4.1 MDI,窗体与,MDI,子窗体,那么,又怎样确定一个窗体是否为子窗体呢?如果一个窗体的,MDIChild,属性被设置为,True,,那么该窗体就是子窗体。另外,在工程资源管理器的窗口中,MDI,窗体、,MDI,子窗体和标准窗体使用不同的图标来显示。,创建,MDI,应用程序实例,1.,创建,MDI,父窗体,2.,创建,MDI,子窗体:创建一个标准窗体,修改窗体属性,MDIchild,=true,创建,MDI,应用程序实例,3.,修改,MDI,父窗体为启动窗体:工程,-,属性,-,通用,-,启动,4.,完成窗体菜单、按钮的添加。,添加如下代码:,Private Sub MDIForm_Load,(),Form2.Show,Form3.Show,Form4.Show,End Sub,10.4.2,创建,MDI,应用程序,创建,MDI,应用程序,首先要创建,MDI,父窗体及其子窗体,然后再对它们进行必要的设置。,1.,创建,MDI,父窗体,MDI,父窗体是,MDI,应用程序的前提和基础。从,“,工程,”,菜单中选取,“,添加,MDI,窗体,”,命令,这时,屏幕上就会出现一个新窗体,该窗体的标题是,“,MDIForm1,”,,它就是新建的,MDI,父窗体。,需要注意的是,一个应用程序只能有一个,MDI,窗体,如果工程中已经有了一个,MDI,窗体,那么,“,工程,”,菜单中的,“,添加,MDI,窗体,”,的命令就不可用。,10.4.2,创建,MDI,应用程序,2.,创建,MDI,子窗体,执行,“,添加窗体,”,命令会新建一个标准窗体,这时候,在该窗体的属性窗口中找到,MDIChild,属性,并把它的值由,False,改为,True,,则该窗体即成为,MDI,父窗体的一个子窗体。子窗体上的操作和标准窗体的操作是一样的。,3.,将,MDI,父窗体设置为启动窗体,从,“,工程,”,菜单中选取当前工程的属性命令,打开,“,通用,”,选项卡,从其,“,启动对象,”,下拉框中选取,MDI,父窗体的标题名,点击,“,确定,”,按钮,便将该窗体设置成为了启动窗体。,10.4.2,创建,MDI,应用程序,4.,建立,MDI,父窗体的控制区,表面上看,,MDI,父窗体与标准窗体没有区别,但是不能在该窗体上放置控件,包括命令按钮、文本框、标签等等。如何才能够在,MDI,父窗体上放置控件呢?,MDI,父窗体分为两部分:上面一部分称为控制区,下面一部分称为工作区。在控制区内可以放置控件,而子窗体则位于工作区内。控制区实际上是一个图片框,只要在,MDI,父窗体内画一个图片框,就能建立控制区,然后就可以在图片框这个控制区内放置控件。无论在父窗体的什么位置放置图片框,所建立的控制区总是位于,MDI,父窗体的上部,而且与窗体的宽度相同。控制区一旦建立,其宽度不能调整,但可以通过下面的边界来调整其高度。,10.4.2,创建,MDI,应用程序,控制区是,MDI,父窗体的一部分,在控制区可以和在标准窗体上一样放置任何控件。从这个意义上讲,图片框是其他控件的,“,父控件,”,,在控制区内放置的控件是图片框的,“,子控件,”,。,这时候,可以在,MDI,父窗体上添加菜单、工具栏、状态栏等项目,。,5.,编写代码,程序代码是针对每个窗体编写的,编写代码前应先激活相应的窗体,进入该窗体的程序代码窗口。,10.1.3,下拉菜单的设计,控件名称(,Name,),标题(,Caption,),文本(,Text,),边界(,BorderStyle,),Text1,无,(清空),默认,Text2,无,(清空),默认,Label1,操作数,1,无,默认,Label2,操作数,2,无,默认,Label3,计算结果,无,默认,Label4,(清空),无,1-Fixed Single,10.1.3,下拉菜单的设计,菜单项,标题,名称,内缩符号,快捷键,菜单标题,1,设置(,&s,),set,无,无,菜单项,1,清除,cls,1,Ctrl+c,菜单项,2,退出,exit,1,Ctrl+e,菜单标题,2,计算(,&o,),ope,无,无,菜单项,1,加法,add,1,Ctrl+a,菜单项,2,减法,sub,1,Ctrl+s,菜单项,3,-,sep,1,无,菜单项,4,乘法,mul,1,Ctrl+m,菜单项,5,除法,div,1,Ctrl+d,10.1.4,弹出式菜单,参数,flags,中的位置常数,位置常数,值,说明,vbPopupMenuLeftAlign,0,(默认值),弹出式菜单的左边定位于,X,。,vbPopupMenuCenterAlign,4,弹出式菜单的居中定位于,X,。,vbPopupMenuRightAlign,8,弹出式菜单的右边定位于,X,。,10.1.4,弹出式菜单,参数,flags,中的行为常数,行为常数,值,说明,vbPopupMenuLeftButton,0,(默认值),只能用鼠标左键选择弹出式菜单中的菜单项。,vbPopupMenuRightButton,2,用鼠标右键或者左键选择弹出式菜单中的菜单项。,10.3.1 Windows,界面样式,在,SDI,这样的应用程序中,一次只能打开一个文档;想要打开另一个文档时,必须先关闭已打开的文档。,10.3.1 Windows,界面样式,在多文档界面模式下,可以同时打开多个文档,每个文档都出现在自己的窗口中。在某个时刻,,MDI,中只有一个文档是,“,活动,”,的,可以对该文档进行编辑。,10.3.1 Windows,界面样式,资源管理器样式的界面包含两个窗格,通常左半部分是一个树型或层次型的视图,右半部分是一个显示区。这种样式的界面可用于定位或浏览大量的文档、图片或文件。,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服