资源描述
第三章 常用控件与界面设计,3.1 创建窗体 3.2 Visual Basic的常用控件 3.3 制作菜单,3.1 创建窗体,3.1.1 窗体的属性、方法与事件 3.1.2 定制窗体属性 3.1.3 窗体的显示、隐藏和卸载 3.1.4 Print方法,3.1.1 窗体的属性、方法与事件,3.1.1 窗体的属性、方法与事件,窗体边框风格,返回,常用窗体方法,Hide:隐藏方法 Show:显示方法; Move:移动方法 Print:打印方法; Cls:清除方法,常用窗体事件,Click:单击事件; DblClick:双击事件; Load:装载事件.当使用 Load 语句启动应用程序,或引用未装载的窗体属性或控件时,此事件发生。 Resize:在窗体被改变大小时,会触发本事件; Activate:激活事件,当窗体变为当前窗口时,引发本事件; Deactivate:失去激活事件,3.1.2 定制/设置窗体属性,1、在设计状态下通过属性窗口进行设定 2、在程序代码中进行设置 Object.Property = Expression 例如:Form1.caption=“考试系统” 特别注意:某些属性只能在代码中进行设置或改变,3.1.3 窗体的显示、隐藏和卸载,1. 显示与隐藏窗体 使用Show与Hide方法 Object.Method p1,p2, 2. 装载窗体与Load事件 使用Load语句可把窗体载入内存 Load Object 3. 卸载窗体与Unload事件 4. End语句,Show方法: 窗体名. Show Style 参数Style取值为: 1 或者vbModel 有模式,例如windows 窗口 0 或者vbModeless 无模式(缺省),例如VB环境 当 Show 在显示无模式窗体时,随后遇到的代码则要执行。当 Show 在显示模式窗体 (modal form) 时,则随后的代码直到该窗体被隐藏或卸载时才能执行。,3.1.4 数据输出Print方法,Print方法 Print方法可以在窗体上显示文本字符串和表达式的值,并可在其他图形对象或打印机上输出信息。,其一般格式为: 对象名称.Print表达式表,|; 1、“对象名称”可以是窗体(Form)、图片框(PictureBox)或打印机(Printer),也可以是立即窗口(Debug) 2、“表达式表”是一个或多个表达式,可以是数值表达式或字符串 3、如果输出的各表达式之间用逗号分隔,则按标准输出格式显示数据项;如果各输出项之间用分号或空格作分隔符,则按紧凑输出格式输出数据。例如,以14个字符位置为单位把一个输出行分为若干个区段,逗号后面的表达式在下一个区段输出,不同段的文字中间相隔一个空格,但是如果是字符串的情况下,就不会有空格如果是字符串前后就不会有空格,4、print方法具有计算和输出双重功能,对于表达式,先计算后输出。Print没有赋值功能。 例如:a=3,b=4 Print (a+b)*3 问题: Print c= (a+b)*3 输出的结果是什么? 5、每执行以print方法都要自动换行,为了仍能在同一行显示,可以在末尾加上一个分号或逗号。 6、有一些函数可以和print一起控制输出的格式,Print输出格式说明,例如: Dim a As integer, b As integer a = 100: b = 300 Print a,b Print a;b 输出结果为: 100 300 /100和300之前相隔14个字符位置 100 300 /在VB中输出数值数据时数值的前面有一个符号 位,后面有一个空格。 对于分号情况,如果是字符串,前后就不会有空格,例如: Print “你好”;”小熊” Print”你好小熊” 结果: 你好小熊 你好小熊,Tab函数 Spc函数 空格函数(Space$),与Print方法有关的函数,Tab函数,格式:Tab (n) Tab函数把光标移到由参数n指定的列(从1开始计数,如果n1,则在第一列开始打印,如果参数省略则到下一个区域输出),从这个位置输出信息。要输出的内容放在Tab函数的后面,并用分号隔开。 例如:print Tab(30);”asd” 在第30列的位置开始输出“asd”,Spc函数,格式:Spc(n) 在print的输出中,用该函数可以跳过n个空格。Spc()函数与输出项之间用分号隔开。 Print “asd”;spc(30);”efc”,空格函数,Space()函数 格式:Space(n) 功能:产生由n个空格组成的字符串。 说明:n为数值型参数,函数返回值为一个全部由空格组成的字符串。,Print “asd” & space(30) & ”efc”,注意:Tab(n)等效于Space(n-1),例 Print方法的使用例。本程序执行后,输出的结果将如图所示。 Private Sub Form_Click() x = 50 : y = “库存书“ Print “ABC1“; “wwwwwwwwww“ Print “ABC2“, “qqqqq“ Picture1.Print Picture1.Print “1234567890“ Picture1.Print Tab(3); “111“; y; “=“; x; “本“ Picture1.Print Spc(3); “222“; y; “=“; x; “本“ End Sub,Cls方法,Cls方法用于清除运行时在窗体或图形框中用Print显示的文本或图形。形式如下: 对象.Cls 其中:对象为窗体或图形框,缺省值为窗体。 例如: Picture1.Cls 清除图形框内显示的图形或文本 Cls 清除窗体上显示的文本,Move方法,Move方法用于移动窗体或控件,另外,使用该方法还可以重新设定对象的width和height的属性值,所以,该方法也可以用来改变对象的大小。 对象.Move 左边距离,上边距离,宽度,高度 对象:可以是窗体及除时钟、菜单外的所有控件,缺省值为窗体 。 左边距离、上边距离、宽度、高度:数值表达式,以twip为单位(每一英寸是1440twips ,一厘米567twips )。,3.2 Visual Basic的常用控件,3.2.1 概述 3.2.2 常用控件,3.2.1 概述,VB通过工具箱提供的用于创建用户界面的各种可视化部件对象,称为“控件” VB提供的基本控件有: TextBox Label CommandButton CheckBox OptionButton Frame ListBox ComboBox Timer HscrollBar VscrollBar PictureBox ,Name(名称)属性,该属性是所有对象都具有的属性。所有的控件在创建时由VB自动提供一个默认名称。程序中,对象名称是作为对象标识而引用,不会显示在窗体上。,Height,Width,Top,Left属性,Height和Width属性决定了控件的高度和宽度,Top和Left属性决定了控件在窗体中的位置。,单位为twip(特维), 1英寸=1440twip,Enabled属性,Enabled属性决定控件是否允许操作: True:允许用户进行操作,并对操作作出响应 False:禁止用户进行操作,呈灰色。,Visible属性,Visible属性决定控件是否可见: True:程序运行时控件可见 False:程序运行时控件隐藏,用户看不到,但控件本身存在,Font属性,Font属性改变文本的外观,其分属性有: Name(字符型)控件上正文字体名 Size(整型)控件上正文字体大小 Bold(逻辑型)控件上正文是否是粗体 Italic (逻辑型)控件上正文是否是斜体 Strikethru (逻辑型)控件上正文是否加删除线 Underline (逻辑型)控件上正文是否带下划线,ForeColor(前景颜色)属性,该属性用来设置控件的前景颜色(即正文颜色)。 如红色表示为:RGB(255,0,0) 或:Vbred,BackColor (背景颜色)属性,正文以外的显示区域颜色。,BackStyle (背景风格)属性,0Transparent:透明显示,即控件背景颜色显示不出来,若控件后面有其它控件均可透明显示出来。 1Opaque:不透明,此时可为控件设置背景颜色。,BorderStyle (边框风格)属性,0None:控件周围没有边框。 1Fixed Single:控件带有单边框。,Alignment属性,Alignment属性决定控件内的对齐方式。 0Left Justify:正文左对齐 1Right Justify:正文右对齐 2Center:正文居中,AutoSize属性,AutoSize属性决定控件是否自动调整大小。 True:自动调整大小。 False:保持原设计时的大小,正文若太长自动裁剪掉。,TabIndex属性,TabIndex属性决定了按Tab键时,焦点在各个控件移动的顺序。 焦点是接受用户鼠标或键盘输入的能力。当对象具有焦点时,可接受用户的输入。,3.2.2 常用控件,1、TextBox 2、Label 3、CommandButton 4、ListBox 5、ComboBox 6、 PictureBox与Image,7、OptionButton、CheckBox与Frame 8、 HScrollBar与 VScrollBar 9、Timer,1、 文本框TextBox,文本框控件称为编辑字段或者编辑控件,用于文本编辑,用户可以在该控件区域内输入、编辑、修改和显示文本内容。 1. TextBox控件的属性 TextBox控件的Alignment、Appearance、Autosize、BackColor、Bordstyle、Enabled、Index 、Font属性及参数设置与Label的对应属性相同。,(1)MultiLine属性 设置是否可以输入多行文本,取值: True:具有自动换行功能; False:(默认值)只允许输入一行,一旦超过文本框宽 度时,超过部分不显示 (2)ScrollBars属性 设置滚动条模式,有4种选择: 0,无滚动条; 1,水平滚动条; 2,垂直滚动条; 3,水平和垂直滚动条。 只有MultiLine属性设置为true时,才能用ScrollBars属性设置滚动条,(3)PasswordChar属性: 该属性用于密码输入。如果为该属性设置了某一字符,那么无论Text属性值是什么,在文本框中都只显示该字符。 注意:要想使该属性有效,MultiLine属性必须设置为False。 (4)Text属性:文本框中的内容,文本框的事件和方法,文本框支持Click、DbClick事件,同时支持以下事件: (1)Change事件:当用户向文本框中输入或删除文本,或在程序中对文本框的Text属性进行更改时,将触发其Change事件。 (2)SetFocus方法:与命令按钮一样,该方法是将光标移动到指定的文本框中,使其获得焦点。这是文本框比较常用的方法,当在窗体中建立了多个文本框后,可以使用该方法把光标置于所需要的文本框上。 格式:对象.SetFocus,(3)LostFocus事件: 对象失去焦点事件。当按下Tab键或用鼠标选择其他对象使光标离开当前对象时触发该事件。 (4)KeyPress事件: 当焦点在当前文本框中,在键盘上按下某个按键则触发该对象的KeyPress事件。该事件返回一个参数KeyAscii,表示所按下的键的ASCII码。 (5)GotFocus事件: 对象获得焦点事件。当运行程序时用Tab键或用鼠标选择对象,或用SetFocus方法使光标定位在对象上时,会触发该事件。 例2-1 例2-2,2、标签,Label控件用于: 输出标题:用Label来标注本身不具有Caption属性的控件。 显示输出结果,属性,Caption、Left、Top、Width、Height、Font,Forecolor、Visible、Alignment、Appearance、Autosize、BackColor、BackStyle、Borderstyle、Enabled、Index、ToolTipText (1)Alignment属性 设置Label控件中文本的排列方式。其值为: 0,左对齐(缺省值); 1,右对齐; 2,居中对齐。,(2)Autosize属性 返回或设置一个值,以决定控件是否自动改变大小以显示其全部内容。其值为: True:自动改变控件大小以显示全部内容; False:(缺省值),保持控件大小不变,超出控件区域的内容被裁剪掉。,(3)BorderStyle属性 设置标签是否具有边框。0(缺省)无边框;1有边框。 (4)Caption属性 标签的标题。标签中显示的文本只能用Caption属性来实现 (5)Enabled属性 返回或设置一个值,用来确定控件是否能够对用户产生的事件做出反应。其值为: True:(缺省)允许对象对事件做出反应; False:阻止对象对事件做出反应。,(6)BackStyle属性 设置背景样式。0标签透明;1标签不透明。 (7)BackColor属性 返回或设置对象的背景颜色,设置方式和设置值Forecolor属性一致。,标签事件,Label控件有Click 、DblClick、Change、MouseMove、MouseDown及MouseUp 事件。 在实际应用中,标签通常是给其他控件用作说明的,用户很少对标签进行任何操作,所以,标签的事件很少用到。 (1)DbClick事件 当在对象上双击鼠标按钮时,该事件发生。 注意:双击时DblClick事件发生在Click事件之后,(2)Change事件 当Label的Caption属性的值发生改变时此事件发生。语法: Private Sub object_Change(index As Integer) Change事件可协调在各控件间显示的数据或使它们同步。 其中:index是一个整数,用来唯一地标识一个在控件数组中控件。,(3)MouseMove事件 移动鼠标时发生该事件。 (4)MouseDown、MouseUp事件 当按下鼠标按钮时,MouseDown事件发生,释放鼠标按钮时MouseUp事件发生。,文本框1,文本框2,标签1,标签2,按钮1,按钮2,应用示例,3、 按钮控件,1、Caption属性 该属性用来设置显示在命令按钮上的标题,也就是命令按钮上方出现的文本。 设置带有快捷键的命令按钮的Caption属性时在相应的字母前加上“&”符号,例如:要得到 的命令按钮,则应将其Caption属性设置为“确定(&Ok)”。按住Alt和带下划线的字符就可把焦点移动到相应的控件上并操作该按钮与单击该按钮效果相同。,2、Cancel属性 当Cancel属性设置成True时,按Esc键时与单击命令按钮作用相同。 3、Default属性 Default属性设置为True时,按Enter键时与单击命令按钮作用相同。 注意:在同一窗体上只能有一个命令按钮的Default属性和Cancel属性被设定为True。,(4)Enabled属性:设置命令按钮是否能被按下。 (5)Style属性:设置命令按钮的外观样式。0Standard(缺省)标准样式,不能在其中显示图形或设置颜色;1Graphical,图形样式,在命令按钮上可以显示图形或设置颜色。 (6)Picture属性:通过该属性可以指定一个图形文件用来在命令按钮上显示该文件所对应的图形。要在命令按钮上显示图形,有效的前提是Style属性为1。 (7)DownPicture属性:该属性用来设置当控件被单击并处于按下状态是在控件中显示的图形。,2. 事件 鼠标单击命令按钮发生Click事件。命令按钮不支持双击事件(DblClick) 3. 方法 命令按钮具有Move和SetFocus等方法。在程序运行中,Move方法可移动对象,SetFocus事件可以使用命令按钮获得焦点,4、列表框,列表框(ListBox) 控件(经常在上机考试中用到) 列出可供用户选择的项目列表。运行时,可用鼠标或箭头键选中其中的一项或多项,选中的项被加亮显示。列表框中的选择项称为条目(Item) 。列表框的默认名为ListX。,重要属性、事件和方法,1、Name 属性对象名 2、Left , Top , Width , Height , Visible , Enabled属性 3、Columns 属性:决定列表框中显示条目的列数。 0-显示一列(默认),垂直滚动条。 1-显示多行一列,水平滚动条。 n-显示多行 n 列,水平滚动条。(n1),4、 ListCount属性 列表框中的条目数 ListCount(只读属性)在设计时不可用,只能在程序中使用。列表框中的表项的排列从0开始,最后一项的序号为ListCount-1, 例如: x=List1.ListCount 则X的值为列表框List1中的总项数,5、List属性设置列表框中包含的项 用来列出表项的内容, List 属性实质上是个一维字符串数组,其下界为0,上界为 ListCount-1 。每一元素存放列表框中的一个条目。 List 属性和 ListCount、ListIndex 属性结合起来使用。,其格式是: .List () = 例如:Listl.List(0)“汉族” 把Listl的第一行的文本定义为“汉族”。 可以通过下标访问数组中的值(从0开始),格式为: S$=列表框.List(下标) 例如: S$=List1.list(5) 将列出列表框List1中第六项的内容,6、ListIndex属性 表示当前所选条目的序号(0 ListCount-1); 若列表框支持多选,则ListIndex属性的值是最后一个被选中条目的序号; 若没有条目被选中,则此属性的值为-1。只能在程序中使用。,7、MultiSelect属性设置是否能够选择多项 MultiSelect = 0:不允许复选(缺省值) 。 MultiSelect = 1:简单复选。鼠标单击或按下空格键,在列表中选中或取消选中项,使用箭头键移动焦点。 MultiSelect = 2:扩展复选。按下 SHIFT 并单击鼠标或按箭头键选择连续的多项。按下 CTRL 并单击鼠标选择不连续的多项(或取消选中项)。 MultiSelect 属性在运行时是只读的,也就是说不能利用程序代码改变它的值。,8、Style 属性控制列表框的外观 Style=0:默认值,标准样式,单击选项即可选中。 Style=1:复选框样式,列表框的每个项目以复选框 的形式显示(不受MultiSelect属性的影响)。 Style 属性在运行时是只读的。,Style=0 Style=1,10、Selected属性 Selected属性是一个逻辑型数组(与List 和ItemData属性类似),其中的每个元素对应列表框中的一个选项的选择状态: List1.Selected(i) = True 时,对应项被选中; List1.Selected(i) = False 时,对应项没有选中。 Selected属性的语法为: 列表框名.Selected() = 此属性不能在属性窗口中使用 例如:List1.Selected(1)=true,11、Text 属性列表框中最后一次所选条目对应的文字,Text属性为只读属性。 12、Sorted属性指示列表框中的条目是否排序。 Sorted属性值为True,则选项按字母顺序升序 排列,否则按输入的顺序排列。 Sorted 属性为只读属性,1、AddItem 方法向列表框中添加新条目 格式: 列表框名.AddItem 字符串表达式 ,插入位置序号 若不指定插入位置,且Sorted = False,则插入到列表尾;否则插入到适当位置。 例如:List1.AddItem “王平” ,0,列表框方法,2、RemoveItem方法删除指定列表项 格式:列表框名.RemoveItem 删除项序号 该方法一次只能删除一个项目。 例如:List1. RemoveItem 0 3、Clear方法删除列表框中的所有项。 格式:列表框对象名.Clear 4、Move 方法,列表框事件,列表框接收Click事件、 Dbclick事件 通常把列表框和命令按钮组合使用 例: 交换两个列表框中的项目,5、组合框(ComboBox),组合框由一个列表框和一个文本框组成,用户既可以像在文本框一样在组合框中直接输入文本来选定项目,也可从列表中选定项目。 组合框具备列表框的属性。 组合框的属性:Text、List、ListIndex、ListCount和Selected属性 方法:AddItem、RemoveItem、Clear 事件:Click、DbClick。,组合框另外具有与列表框不同的属性Style,组合框样式由Style属性来控制,如表所示:,6、 图形控件,VB 6.0包含4个图形控件: pictureBox控件 Image控件 Shape控件 Line控件,图片框、图像框的属性、事件和方法,PictureBox称为图片框 Image控件称为图像框 图片框和图像框可以显示的图像文件格式有: 位图文件(BMP)、图标文件(ICO)、JPEG格式文件、GIF格式文件。,与窗体属性相同的属性,1、Name 属性对象名 2、Left , Top , Width , Height , Visible, Enabled属性 3、BorderStyle 属性边框样式 0:无边框 1:有边框(默认) 4、FontBold等字体属性,5、Picture 属性 Picture 属性用于窗体、图片框和图象框,它可以通过属性窗口设置,用来把图形放入这些对象中。 6、 Stretch属性 Stretch属性只用于图象框来指定一个图形是否要调整大小,以适应图像框控件的大小(True:缩放图像;False(默认值):图像以原始大小显示)。 其语法为: .Stretch =,图形文件的装入,1、图片框与图象框的区别 (1)图片框( PictureBox )是容器控件,而图象框( Image )不是。 (2)图片框可以通过Print方法接收文本,而图象框不能。 (3)图象框比图片框占用的内存少,显示速度快。,2、在设计阶段装入图形文件 (1)用属性窗口中的Picture属性装入 (2)通过“复制”、“粘贴”命令装入窗体、图片框或图形框。,3、在运行期间装入图形文件 LoadPicture函数 LoadPicture函数用于在代码中将图形载入到窗体、PictureBox 控件或 Image 控件中。 其语法为: LoadPicture() Picture1.PictureLoadPicture(“D:usoscap.bmp“) 说明:不带参数的LoadPicture( )函数,是使图像控件不显示任何图像,使该图片框变为空白,用来删除图象.,编程实现三个图片框中图片的轮换,并使得一个图片框中可以显示整个图片。 (1)界面设计 在窗体上添加如图所示三个图片框控件Picture1、Picture2、Picture3。将Picture3的AutoSize属性设置为True。其他属性值为默认值。,例题,(2)事件代码 Private Sub Form_Load() Picture1.Picture = LoadPicture(“c:steamship.gif“) Picture2.Picture = LoadPicture(“c:bus.gif“) Picture3.Picture = LoadPicture(“c:car.gif“) End Sub 或静态装入三幅图 Private Sub Picture3_Click() Form1.Picture = Picture3.Picture Picture3.Picture = Picture2.Picture Picture2.Picture = Picture1.Picture Picture1.Picture = Form1.Picture Form1.Picture = LoadPicture() End Sub,直线和形状,Shape、Line控件为轻量图形控件,比PictureBox控件显示速度快。 Shape控件和Line控件不支持任何事件。,主要属性: BorderColor BoderStyle (7种值) BoderWidth (边界宽度) BackStyle (0为透明,1为不透明) FillColor FillStyle (8种值),Shape控件的Shape属性,图4-8 Shape属性确定的形状,7、选择控件 复选框和单选按钮,复选框(CheckBox) 复选框通过 Value 属性指示其所处的状态。 无论何时,当用户单击复选框时都将触发其Click 事件。,单选框(OptionButton又称为选项按钮) 也是提供选择项的控件,它是从多个可选项中选择一项的操作。 单选框和复选框看起来相似。因此,可以把复选框中的操作方法用到单选框上来。 它们之间的区别是:单选框一般用于单项选择,而复选框则可以用于多项选择。,单选框和复选框的重要属性、事件和方法,1、Name 属性对象名 2、Left、Top、Width、Height、Visible、 Enabled 属性 3、Caption属性标题文字 4、Style 属性选框的样式 0:标准样式(默认)显示 1:以命令按钮的样式显示,复选框(左)和单选按钮(右),5、Alignment 属性 0:框在文字左边(默认) 1:框在文字右边 6、 Value 属性 复选框: Value=0 表示未选中(默认) Value=1 表示选中 Value=2 复选框为灰色,表示禁止用户 选择。 单选框: Value = True 表示选中 Value = False 表示未选中(默认) 7、 Move方法 8、Click事件,例题,8、 框架,在VB6.0中,可以作为其他对象容器除窗体和图片控件外,还有框架控件(Frame)。 在容器中的控件,可以随载体同时移动,控件的位置也相对容器的位置而设置。 Frame控件不仅可以作为其他控件的载体,而且可用它将其他控件分成可标识的控件组。 例如,用Frame控件对OptionButton控件分组等。,1. 属性 (1)Caption属性 Caption属性设定框架上的标题名称。如果Caption为空字符,则框架为封闭的矩形框,但区别于矩形控件。 (2)Enabled属性 当Enabled为False时,程序运行时该框架在窗体中的标题正文为灰色,表示框架中的所有对象均被屏蔽,不允许用户对其进行操作。 (3)Visible属性 当Visible为False时,则程序运行时框架及其所有控件全部被隐蔽起来。,2. 事件 框架可以响应Click和DbClick事件,但应用程序中一般不需要编写框架的事件过程。 例:用框架对单选按钮分组,9、 滚动条,滚动条包括水平滚动条(HScrollBar)和垂直滚动条(VScrollBar),可以作为图形辅助控件和输入设备。 属性 1. Value属性 Value属性值为滚动块在滚动条中位置的数值。 当滚动块处于最左边或最顶端时,Value取最小值。反之,则Value值取最大值。 在中间的各个位置,Value值与位置是严格按照比例来设定的。,改变滚动条Value属性的方法有4种:,直接在属性窗口中设定Value值; 鼠标单击两端箭头键改变滚动条数值; 将滚动块沿滚动条拖动到任意位置; 用鼠标单击滚动条中滚动块两侧的部分使滚动块以翻页的速度移动。,2. Max和Min属性 Value属性的取值范围由Max和Min属性设置:Max代表Value的最大值,Min代表Value的最小值。Value属性的缺省值为0和32767。 3. LargeChange和SmallChange属性 LargeChange:单击滚动块前面和后面时,Value增加或减少的增量 SmallChange:单击滚动条两端的箭头时,Value增加或减 少的增量,事件,1. Change事件 在滚动块移动后发生,它是滚动条最重要的事件。 2. Scroll事件 鼠标拖动滚动块时发生。单击滚动箭头或滚动条时不发生。 例题,10、 定时器,在程序设计中,对于由系统时钟控制的定时响应处理,例如每隔一段时间就进行某种操作,通常使用定时器控件(Timer)。 加入定时器后,通过设置定时器间隔属性Interval来确定事件发生的时间。,1. 重要属性 (1)Interval属性 Interval指定定时器事件发生的间隔毫秒数,间隔的取值在065535之间,最长的间隔大约为1分钟 在程序运行期间,定时器并不可见。 当Interval属性值为0时屏蔽定时器 (2)Enabled属性 Enabled属性控制定时器是否生效。,2 事件 定时器控件只有一个Timer事件。在一个Timer控件的预定的时间间隔过去之后发生。 例题1:建立数字计时器 例2:用计时器放大字体 例3:抽奖程序,3.3 制作菜单,3.3.1 菜单概述 3.3.2 使用菜单编辑器,3.3.1 菜单概述,Windows程序界面中的菜单由以下元素组成 : 菜单条:每个菜单的标题,如“文件”、“ 编辑”和“帮助”等; 菜单:用鼠标单击菜单条上的菜单标题时,出现的命令列表。 菜单项:菜单中的每一个表项。 子菜单:从一个菜单项分支出来的菜单。 弹出式菜单:单击鼠标右键时出现的与当前操作有关联的菜单。,3.3.2 菜单编辑器,窗体上的菜单是通过菜单编辑器创建的。 1、使用“工具”菜单中的“菜单编辑器”命令; 2、单击VB窗口工具栏上的“菜单编辑器”按钮,屏幕上出现“菜单编辑器”的对话框,菜单编辑器,设置菜单属性,“标题”属性,用于菜单显示。输入“-”,则在两个菜单命令项间加一分隔线 “名称”属性(不得确省),用于在代码中引用菜单命令项 “索引”属性,用于确定菜单对象在控件数组中的位置 “帮助上下文ID”属性,用于指定帮助文本的位置 “协调位置”属性(一般取0),与链接或嵌入对象的显示方式有关,“复选”属性,本项选中时,菜单项前加一“” 号 “有效”属性,本项选中时,菜单项加亮显示 “可见”属性,本项选中时,菜单项可见 “显示窗口列表”属性,用于显示多文档界面(MDI)子窗口列表,菜单编辑器的相关说明,如果“标题”栏输入“”,则表示产生一分隔线 除分隔线外,菜单都可以接收click事件 在菜单项的字母前加&,则会在&后一个字母下加下划线,表示可以通过alt此字母打开此菜单 举例,创建弹出式菜单,使用“菜单编辑器”创建菜单 菜单的“Visible”属性设为False 在弹出式菜单的关联对象的MouseUp或者Mousedown事件中添加代码: 窗体名.PopupMenu 例题,1创建应用程序的界面时,在窗体上设置了一个命令按钮,运行程序后,命令按钮没有出现在窗体上,可能的原因是 _ 。 该命令按钮的 Value 属性被设置为 False 该命令按钮的 Enabled 属性被设置为 False 该命令按钮的 Visible 属性被设置为 False 该命令按钮的 Default 属性被设置为 True,若需要在同一窗口内安排两组相互独立的单选按钮( OptionButton ),可使用 _ 控件将它们分隔开。 TexBox PictureBox Image Frame ,3单击滚动条两端的箭头时,滚动条 Value 属性值的改变量由 _ 属性值决定。 LargeChange Max SmallChange Min,4. 下列语句中,正确的是: A Text1.setfocus B Form1.clear C Label1.setfocus D List1.cls 5. 创建一个名为“文件”的菜单项,欲使其可用Alt+F方式访问,则在菜单编辑器的标题文本框中应输入: A 文件($F) B 文件(&F) C 文件(#F) D 文件(%F),(6)在窗体上画一个列表框和一个命令按钮,其名称分别为List1和Command1,然后编写如下事件过程: Private Sub Form_Load() List1.AddItem “Item 1“ List1.AddItem “Item 2“ List1.AddItem “Item 3“ End Sub Private Sub Command1_Click() List1.List(List1.ListCount) = “AAAA“ End Sub 程序运行后,单击命令按钮,其结果为 A)把字符串“AAAA”添加到列表框中,但位置不能确定 B)把字符串“AAAA”添加到列表框的最后(即“Item 3”的后面) C)把列表框中原有的最后一项改为 “AAAA” D)把字符串“AAAA”插入到列表框的最前面(即“Item 1”的前面),(7)在窗体上画一个命令按钮、一个文本框和一个计时器控件,名称分别为Command1,Text1和Timer1,在属性窗口中把计时器的Interval属性设置为1000,Enabled属性设置为False,程序运行后,如果单击命令按钮,则每隔一秒钟在文本框中显示一次当前的时间。以下是实现上述操作的程序: Private Sub Command1_Click() Timer1._ End Sub Private Sub Timer1_Timer() Text1.Text = Time End Sub 在_处应填入的内容是 A)Enabled=True B)Enabled=False C)Visible=True D)Visible=False,(8)假定在图片框Picture1中装入了一个图形,为了清除该图形(不删除图片框),应采用的正确方法是: A)选择图片框,然后按Del键 B)执行语句Picture1.Picture=LoadPicture(“”) C)执行语句Picture1.Picture=” D)选择图片框,在属性窗口中选择Picture属性,然后按回车键,(9)在窗体上画一个List1的列表框,一个名称为Label1的标签,列表框中显示若干个项目,当单击列表框中的某个项目时,在标签中显示被选中的项目的名称,下列能正确实现上述操作的程序是 A) Private Sub List1_Click() Label1.Caption = List1.ListIndex End Sub B) Private Sub List1_Click() Label1.Name = List1.ListIndex End Sub,C) Private Sub List1_Click() Label1.Name = List1.Text End Sub D)PrivateSubList1_Click() Label1.Caption = List1.Text End Sub,
展开阅读全文