VB常用控件与窗体
例 在文件菜单中保留最近打开的文件清单。
在上例的基础上,在文件菜单的“退出”选项前面(或后面)插 入一个菜单项RunMenu,设置索引属性为0,使RunMenu成为菜单 数组,Visible属性设置为False,再插入一个名为Bar3的分隔线, Visible也设置为False。在菜单的最后加入名称为MenuDel,标题为 “删除菜单项”的菜单。
二、 菜单项增减
在程序运行时,菜单随时增减,如“文件”菜单能保留 最近打开的文件数。这同控件数组一样,使用菜单数组。 步骤: 1.在菜单设计时,加入一个菜单项,其Index为0(菜单 数组), Visible为False。 2.在程序运行时,通过Load方法向菜单数组增加新的菜 单项。 同样,要删除所建立的菜单项,使用UnLoad方法向菜 单数组减少菜单项。
LargeChange LargeChange
1、重要属性 Max:最大值 -32,768~32,767 Min:最小值 -32,768~32,767 SmallChange 最小变动值,单击箭头时移动的增量值。 LargeChange 最大变动值,单击空白处时移动的增量值。 Value 滑块所处位置所代表的值。
List1 List1.ListIndex = 3 (下标从0开始的) List1. ListCount = 5 List1. Selected(3) = True,其余为False。 List1. Sorted = False,没有排序。 List1. Text 为 “cox” , 与List1. List(List1. ListIndex)相等
例1 定时的闹钟:在文本框中设置定时时间,单 击“定时”按钮开始定时。 例2 动态显示图片。
4.3 菜单设计
一、菜单编辑器的使用 工具/菜单编辑器(CTRL+E) 窗体上快捷菜单/菜单编辑器
常用属性:
菜单项属性
1. 标题(Caption) 热键:前面加&
2. 名称(Name)文本框 分隔符也应有名称。
3、事件:Click、DblClick
一般不需要编写Click事件过程 通常在单击命令按钮或发生DblClick事件时才读取Text属性
例1 对列表框进行项目添 加、修改和删除操作。
例2 对列表框进行项目添 加操作,并去掉重复值。
四、组合框(ComboBox):
组合框是组合了文本框和列表框的特性而形成的一种控件。 组合框在列表框中列出可供用户选择的选项,另外还有一个正文框。当用 户选定某项后,该项内容自动装入文本框中。当列表框中没有所需选项时,除 了下拉式列表框(Style为2)之外都允许在文本框中用键盘输入,但输入的内容不 能自动添加到列表框中。 组合框占用屏幕空间比列表框要小。 组合框有三种不同的风格,由Style属性值决定。
例 用单选钮和复选框设置文本框的字体。
二、 框架(Frame):
设Caption为 "字体"
框架
框架内控件的创建方法: 方法1:单击工具箱上的工具,然后用出现的“+”指针,在框架 中适当位置拖拉出适当大小的控件。 不能使用双击工具箱上图标的自动方式。 方法2:将控件“剪切”到剪贴板,然后粘贴(Ctrl+V)到框架。
单选钮(逻辑型)
True:选定 False:未选定(默认)
Style属性: 0--Standard:标准方式 1--Graphical:图形方式
检查框(数值型)
0--Unchecked:未被选定(默认) 1--Checked:选定 2--Grayed:灰色,禁止选择
2、事件:Click
单选和复选按钮都能接收Click事件,当单击时它们会 自动改变状态。
1、 属性:
(1)基本属性:Name、Enabled、Visible、Index等 (2) List属性:字符型数组,存放列表框的项目,下标是从0开始的。 (3)ListIndex:表示执行时选中的列表项序号,如果未选定任何项时为-1。 (4)ListCount:表示列表框中项目的数量,ListCount-1表示最后一项的序号。 (5) Selected:是一个逻辑数组,其元素对应列表框中相应的项,表示对应的项在 程序运行期间是否被选中。Selected(i)的值为True表示第i+1项被选中。 (6)Sorted:决定列表框中项目在运行期间是否按字母顺序排列显示。 如为True:按字母顺序排列;如为False:按加入先后顺序排列。 (7)Text:表示列表项中被选定的文本内容。是默认的属性。 注意:List1.List(List1.ListIndex) = List1.Text。 (8) MultiSelect:0-None:禁止多项选择(默认)。1-Simple:简单多项选择。鼠标 单击或按空格键表示选定或取消选定一个选择项。2-Extended:扩展多项选择。 按住Ctrl键同时用鼠标单击或按空格键表示选定或取消选定一个选择项;按住 Shift键同时单击,或按住Shift并且移动光标键,就可以从前一个选定的项扩 展选择到当前选择项,即选定多个连续项。 其中:List 既可在设计状态设置,也可在程序中设置或引用。 Sorted、MultiSelect 只能在设计状态设置。 ListIndex、ListCount、Selected、Text 只能在程序中设置或引用。
4.2
时钟控件(Timer)
时钟控件能有规律地以一定的时间间隔激发计时器事件, 周期性地自动执行相应的程序代码。它必须依附在窗体 上,在程序运行时,它是不可见的。以Interval为时间间 隔产生 Timer事件。 属性:Interval属性 单位:ms(0.001s),介于0~64767之间,所以最大时 间间隔大约1min。如:0.5秒是500ms。 Interval=0:屏 蔽计时器。 Enabled属性: True:有效计时 False:停止时钟工作 事件:只有Timer事件
三、 弹出菜单(快捷菜单)
弹出菜单是独立于窗体菜单栏而显示在窗体内的浮动菜单。显示 位置取决于单击鼠标键时指针的位置。设计与普通菜单相同(如果 不希望菜单出现在窗口的顶部,该菜单名Visible属性设置为False )。 菜单弹出的方法:
[对象.]PopupMenu 菜单名[, 标志, x, y]
例 建立一个有菜单功能的文本编辑器。假定所要建立的菜单结构如 下所示。
标题 名称 快捷键 标题 编辑 ….复制 ….剪切 ….粘贴 名称 快捷键 文件 FileMenu ….新建 FileNew Ctrl+N ….打开 FileOpen Ctrl+O ….Bar1 ….保存 FileSave Ctrl+S ….另存为 FileSaveAs ….Bar2 ….退出 FileExit 建立菜单大致可分成以下三个步骤: 1、建立控件。 2、设计菜单 3、为事件过程编写代码。 EditMenu EditCopy Ctrl+C EditCut Ctrl+X EditPaste Ctrl+V
显示项目列表,用户可从中选择一个或多个项目。如果 有较多的选择项,超出所画的区域而不能一次全部显示时, VB会自动加上滚动条。通常在一个列表框中只能选择一项, 但当列表框的MultiSelect属性为1或2时允许多项选择。列表框 最主要的特点是只能从其中选择,而不能直接修改其中的内 容。 列表框各主要属性的值:
SelStart、SelText这三个文本框才有的属性。组合框特有的属性:Style(列表框特 有的属性:MultiSelect、Selected)
类型 下拉式组合框 简单组合框 Style 0(默认) 1 能 能 输入
下拉式列表框
2
不能
2、方法:同列表框
3、事件:Click,只有简bo1
下拉式组合框 简单组合框 下拉式列表框
组合框各主要属性的值:
Combo1.ListIndex = 0 Combo1. ListCount = 8 Combo1. Sorted = False Combo1. Text 为 “李宁”
1、属性:组合框拥有列表框和文本框的大部分属性。组合框也有SelLength、
第四章 常用控件与窗体
4.1 4.2 4.3 4.4 4.5 4.6 4.7 选择性控件 时钟 菜单设计 对话框 多重窗体 高级控件 鼠标器、键盘
4.1 选择性控件
复选框(CheckBox) 单选钮(OptionButton) 列表框(ListBox)
一、单选钮和复选框
组合框(ComboBox)
1、属性: Caption属性:文本标题。 Alignment属性: 0:控件钮在左边,标题显示在右边。 1:控件钮在右边,标题显示在左边。 Value属性:
例 对组合框进行项目添加、修改和删除操作。
6.2 滚动条
垂 直 滚 动 条 水平滚动条 Slider
控 件
SmallChange
Min
Value Max SmallChange
Slider须通过:“工程/ 部件”,选择: Microsoft Windows common Control 6.0部 件
4.4
VB中有三种对话框:
对话框
1、预定义的对话框:系统定义的。 用InputBox、MsgBox调用。
2、事件: Scroll:拖动滑块时会触发Scroll事件。 Change:Value属性改变时触发Change事件。 例1 用一个文本框(txtSpeed)显示滚动条(hsbSpeed)滑块当前 位置所代表的值。
例2 调色板程序。
Sub hsbSpeed_Change() Text1.Text= HScroll1.Value End Sub
假定要保留的文件清单限定为4个文件名,设定一个全局变量 iMenucount记录文件打开的数量,当其小于5时,每打开一个文件, 就用Load方法向RunMenu()数组加入动态菜单成员,并设置菜单项 标题为所打开的文件名,对于第5个以后打开的文件不再需要加入 数组元素,采用先进先出的算法刷新记录最先使用的动态菜单成员 的标题。