VB程序设计基础 第6章 控件及控件数组_第1页
VB程序设计基础 第6章 控件及控件数组_第2页
VB程序设计基础 第6章 控件及控件数组_第3页
VB程序设计基础 第6章 控件及控件数组_第4页
VB程序设计基础 第6章 控件及控件数组_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章常用控件与窗体6.1选择性控件6.2滚动条控件6.3时钟控件6.4控件数组控件的分类:分为三类

1.标准控件:内部控件出现在工具箱上的控件,20个2.ActiveX控件:

ActiveX部件:是可以重复使用的编程代码和数据 是由用ActiveX技术创建的一个或多个对象所组成

ActiveX部件文件:扩展名OCX,在Windows的SYSTEM目录中3.可插入对象

Windows应用程序的对象 可插入对象可添加到工具箱上 同标准控件一样使用 例如:MicrosoftExcel工作表6.1选择性控件复选框(CheckBox)单选钮(OptionButton)列表框(ListBox)组合框(ComboBox)一、单选钮和复选框1、属性:Caption属性:文本标题。Alignment属性: 0:控件钮在左边,标题显示在右边。

1:控件钮在右边,标题显示在左边。Value属性:

单选钮(逻辑型)

检查框(数值型)

True:选定 0--Unchecked:未被选定(默认)

False:未选定(默认)

1--Checked:选定

2--Grayed:灰色,禁止选择Style属性:0--Standard:标准方式

1--Graphical:图形方式2、事件:Click

单选和复选按钮都能接收Click事件,当单击时它们会自动改变状态。二、框架(Frame):框架内控件的创建方法:方法1:单击工具箱上的工具,然后用出现的“+”指针,在框架中适当位置拖拉出适当大小的控件。

不能使用双击工具箱上图标的自动方式。方法2:将控件“剪切”到剪贴板,然后粘贴(Ctrl+V)到框架。Caption属性:框架标题

Enabled属性

False:标题呈灰色,不允许对框架内的对象进行操作。

Visible属性

True:框架及其控件可见。

False:框架及其控件被隐含起来。

事件:Click、DblClick

一般不需要编写框架的事件过程。三、列表框(ListBox):显示项目列表,用户可从中选择一个或多个项目。如果有较多的选择项,超出所画的区域而不能一次全部显示时,VB会自动加上滚动条。通常在一个列表框中只能选择一项,但当列表框的MultiSelect属性为1或2时允许多项选择。列表框最主要的特点是只能从其中选择,而不能直接修改其中的内容。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只能在程序中设置或引用。2、方法列表框中的选择项可以简单地在设计状态通过List属性设置,也可通过相应方法来实现。(1)AddItem:添加一个项目 形式:对象.AddItemitem[,index]

其中:对象:可以是列表框或组合框

item:必须是字符串表达式,是要加入的项目

index:决定新增项目在列表框或组合框中的位置,如果省略,则添加在最后。对于第一个项目,index为0。(2)RemoveItem:删除一个项目 形式:对象.RemoveItemindex其中:对象、index同上(3)Clear:清除所有项目 形式:对象.Clear

其中:对象可以是列表框、组合框或剪贴板。3、事件:Click、DblClick

一般不需要编写Click事件过程 通常在单击命令按钮或发生DblClick事件时才读取Text属性四、组合框(ComboBox):组合框是组合了文本框和列表框的特性而形成的一种控件。组合框在列表框中列出可供用户选择的选项,另外还有一个正文框。当用户选定某项后,该项内容自动装入文本框中。当列表框中没有所需选项时,除了下拉式列表框(Style为2)之外都允许在文本框中用键盘输入,但输入的内容不能自动添加到列表框中。组合框占用屏幕空间比列表框要小。组合框有三种不同的风格,由Style属性值决定。1、属性:组合框拥有列表框和文本框的大部分属性。组合框也有SelLength、SelStart、SelText这三个文本框才有的属性。组合框特有的属性:Style(列表框特有的属性:MultiSelect、Selected)类型Style输入下拉式组合框0(默认)能简单组合框1能下拉式列表框2不能2、方法:

同列表框3、事件:

Click,只有简单组合框才有DblClick事件6.2滚动条

1、重要属性

Max:最大值 -32,768~32,767 Min:最小值 -32,768~32,767

SmallChange

最小变动值,单击箭头时移动的增量值。

LargeChange

最大变动值,单击空白处时移动的增量值。

Value滑块所处位置所代表的值。水平滚动条垂直滚动条SmallChangeMinValueMaxSmallChangeLargeChange

LargeChangeSlider控件Slider须通过:“工程/部件”,选择:MicrosoftWindowscommonControl6.0部件2、事件:

Scroll:拖动滑块时会触发Scroll事件。

Change:Value属性改变时触发Change事件。6.3时钟控件(Timer)

时钟控件能有规律地以一定的时间间隔激发计时器事件,周期性地自动执行相应的程序代码。它必须依附在窗体上,在程序运行时,它是不可见的。以Interval为时间间隔产生Timer事件。属性:Interval属性 单位:ms(0.001s),介于0~64767之间,所以最大时间间隔大约1min。如:0.5秒是500ms。

Interval=0:屏蔽计时器。

Enabled属性:True:有效计时

False:停止时钟工作事件:只有Timer事件6.4控件数组 本节介绍控件数组,控件数组为我们处理功能相近的控件提供了极大的方便。6.4.1控件数组的概念 在实际应用中,我们有时会用到一些类型相同且功能类似的控件。如果对每一个控件都单独处理,就会多做一些麻烦而重复的工作。这时,我们可以用控件数组来简化程序。 控件数组由一组相同类型的控件组成,这些控件共用一个控件名字,具有相似的属性设置,共享同样的事件过程。控件数组中各个控件相当于普通数组中的各个元素,同一控件数组中各个控件的Index属性相当于普通数组中的下标。 比如,假设有一个包含3个按钮的控件数组Command1,它的3个元素就是Command1(0),Command1(1),Command1(2)。6.4.2控件数组的建立 控件数组中每一个元素都是控件,它的定义方式与普通数组不同。可以通过以下两种方法建立控件数组。 方法一:复制已有的控件并将其粘贴到窗体上。 方法二:将窗体上已有的类型相同的多个控件的Name属性设置为同一值。6.4.3控件数组的应用举例 建立了控件数组之后,控件数组中所有控件共享同一事件过程。例如,假定某个控件数组含有10个标签,则不管单击哪个标签,系统都会调用同一个Click过程。由于每个标签在程序中的作用不同,系统会将被单击的标签的Index属性值传递给过程,由事件过程根据不同的Index值执行不同的操作。

【例6.12】设计一个简易计算器,能进行整数的加、减、乘、除运算。其运行界面如图7-8所示。 界面设计: 一个标签用于计算器输出;数字按钮控件数组Number;操作符控件数组Operator;一个“=”按钮用于计算结果;一个“Cls”按钮用于清屏。 程序如下:

'窗体级变量声明

Dimop1AsByte'用来记录前面输入的操作符

Dimops1&,ops2&'两个操作数

DimresAsBoolean'用来表示是否已算出结果

PrivateSubclear_Click()

dataout.Caption=""EndSub

PrivateSubForm_Load()

res=FalseEndSub

'按下数字键0~9的事件过程

PrivateSubnumber_Click(i1AsInteger)

IfNotresThen

dataout.Caption=dataout.Caption&i1Else

dataout.Caption=i1

res=FalseEndIfEndSub

'按下操作键+、-、×、/的事件过程

PrivateSuboperator_Click(i2AsInteger)

ops1=dataout.Captionop1=i2'记下对应的操作符

dataout.Caption=""EndSub

'按下=键的事件过程

PrivateSubresult_Click()

ops2=dataout.CaptionSelectCaseop1Case0

dataout.Caption=ops1+ops2Case1

dataout.Caption=ops1-ops2

Case2

dataout.Caption=ops1*ops2Case3

dataout.Caption=ops1/ops2EndSelect

res=True'已算出结果

EndSub6.5鼠标事件和键盘事件 鼠标对于Windows应用程序设计来说几乎是必需的,尤其是在图形图像处理的程序设计中,显得更为重要。而鼠标应用的基础是鼠标事件。下面我们就来简单介绍一下窗体鼠标事件及其应用。

6.5.1鼠标事件 除了单击(Click)和双击(DblClick)外,基本的鼠标事件还有3个:MouseDown、

MouseUp和MouseMove。工具箱中的大多数控件都能响应这3个事件。MouseDown:鼠标的任一键被按下时触发该事件。MouseUp:鼠标的任一键被释放时触发该事件。MouseMove:鼠标被移动时触发该事件。以Form对象为例,它们的语法格式为:PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)PrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)【例6.12】显示鼠标指针的当前位置。 程序如下:

PrivateSubForm_MouseMove(ButtonAsInteger,_ShiftAsInteger,XAsSingle,YAsSingle)

Text1.Text=XText2.Text=YEndSub

运行结果如图6-6所示。6.5.2键盘事件

VB中的对象识别键盘事件,包括KeyPress、KeyUp和KeyDown事件。用户按下并且释放一个ANSI键时就会触发KeyPress事件;用户按下一个键时触发KeyDown事件,释放引发KeyUp事件。在引发键盘事件的同时,用户所按的键盘码作为实参传递给相应的事件过程,供程序判断识别用户的操作。

KeyPress只响应按下标准ASCII字符表中对应的键时的事件,如[Enter]QVFP、[Tab]键、[Backspace]键等以及标准键盘中的字母、标点、数字键等。而KeyDown和KeyUP则提供了最低级的键盘响应。 它们的格式如下:SubObject_KeyPress([IndexAsInteger,]KeyAsciiAsInteger)SubObject_KeyDown

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论