版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章 常用控件与系统对象,本章内容及要求: 1. 掌握常用控件单选钮(OptionButton)、检查框(CheckBox)、 框架(Frame)、滚动条(ScrollBar)、 列表框(ListBox)、组合框(ComboBox)、时钟(Timer)等的常用、 属性、重要事件和方法的使用; 2. 了解一些常用的ActiveX控件(高级控件)的使用。 3. 了解一些常用系统对象的使用。,本章重点: 常用控件单选钮、检查框、 框架、滚动条、 列表框(ListBox)、组合框(ComboBox)、时钟(Timer)等的常用 属性、重要事件和方法的使用;,本章难点: ActiveX控件(高级控件)
2、的使用。 一些常用系统对象的使用。,5.1 命令按钮、标签和文本框,5.1.1 命令按钮的常用属性,1Name(名称)属性 控件的Name(名称)属性用以标识控件,具有惟一性。Name属性只能在属性窗口中设置,不能在程序运行时改变。 Visual Basic的每个控件都有一个缺省的名称,为了操作方便、提高程序的可读性,可以考虑根据控件在程序中的实际作用,为其另取一个合适的名称,为方便编写程序代码,控件名称最好采用英文字母、数字和下划线组成,并能见名知意。对于每个控件在起名时微软都有相应的名称前缀建议。 本书中,控件名称一般采用缺省的名称。对于本章介绍的常用控件,我们都会说明它们的缺省名称以及微
3、软建议的名称前缀。 命令按钮的缺省名称为Command1、Command2、,微软建议的名称前缀为cmd。例如一个“开始”按钮的名称可以取为cmdStart。,5.1.1 命令按钮的常用属性,2Caption属性 Caption属性返回或设置显示在控件上的标题。例如,本书第1章中介绍的窗体的Caption属性就是窗体标题栏上的标题文字。 Caption属性的缺省值与控件的Name属性缺省值相同,如新建名称属性为Command1的命令按钮,其Caption属性的初值也是Command1。在设计界面时一般都要重新设置命令按钮的Caption属性,说明该按钮的功能,为了符合中国人的使用习惯,命令按钮
4、的Caption属性通常用中文描述。 此外,还可以利用命令按钮控件的Caption属性为该按钮设置一个访问键。在Caption中,在想要指定为访问键的字符前加一个“&”符号,该字符就带有一个下划线。在程序运行时,同时按下Alt键和带下划线的字符,就相当于单击命令按钮。 例如,如果将命令按钮的Caption属性设置为“退出(&X)”,效果为,按下Alt+X键,触发该按钮的单击事件。,5.1.1 命令按钮的常用属性,3Enabled属性 控件的Enabled属性返回或设置控件是否响应用户生成的事件,也就是该控件是否可用。Enabled属性值是一个逻辑常量,为False或True。当Enabled属
5、性值为False时,命令按钮呈灰色、表示不可用;当Enabled属性值为True时,控件可用。Enabled属性的缺省值为True。 Enabled属性可以在设计时设置,也可以在运行时用赋值语句为其赋值。 例如,以下程序运行的结果是:程序开始运行时“退出”按钮是不可用的,只有在单击了“开始”按钮后才能激活“退出”按钮。,5.1.1 命令按钮的常用属性,Private Sub Form_Load() Command1.Caption = 开始 Command2.Caption = 退出 Command2.Enabled = False End Sub Private Sub Command1_C
6、lick() Command2.Enabled = True 以下是单击Command1后的执行代码 End Sub,5.1.1 命令按钮的常用属性,4命令按钮的其他属性 (1) BackColor属性、Picture属性和Style属性。 BackColor属性返回或设置控件中文字或图形的背景色。 Picture属性返回或设置控件中显示的图形。 要注意对于命令按钮设置的这两个属性还必须配合Style属性才有作用。Style属性用来设置命令按钮是标准的还是图形的。当Style属性设置为0时(缺省值),命令按钮是标准Windows按钮,如果将Style属性设置为1,命令按钮是图形按钮,可以显示设
7、置的背景色或图形效果。,5.1.1 命令按钮的常用属性,(2) Cancel属性。 Cancel属性返回或设置一个值,用来指示窗体中命令按钮是否为取消命令按钮。当Cancel属性设置为True时,那么该按钮就成为取消命令按钮。当用户按Esc键时,相当于单击该按钮。窗体中只能有一个命令按钮为“取消”命令按钮,当某个命令按钮的Cancel属性设置为True时,窗体中其他的命令按钮的Cancel属性自动设置为False。 (3) Default属性。 Default属性返回或设置一个值,用来指示窗体中命令按钮是否为缺省命令按钮。当Default属性设置为True时,那么该按钮就成为缺省命令按钮。如果
8、窗体上其他焦点控件不响应键盘事件,而且焦点不在其他命令按钮上,那么当用户按Enter键时,相当于单击该按钮。窗体中只能有一个命令按钮为缺省命令按钮,当某个命令按钮的Default属性设置为True时,窗体中其他的命令按钮的Default属性自动设置为False。,5.1.1 命令按钮的常用属性,(4) Font属性。 Font属性是一个对象,在属性窗口中设置Font属性将打开“字体”对话框,可以对字体、字形、大小和效果进行设置。如果通过程序代码设置,那么要设置Font对象的Name、Bold、Italic、Size、Underline、Strikethrough等属性,其中:Font.Name
9、或FontName属性返回或设置在控件中显示文本所用的字体类型名称。该属性的缺省值为“宋体”。Font.Bold或FontBold属性返回或设置在控件中显示文本是否粗体。该属性值为True,则控件上所显示的文本字体加粗,该属性值为False(缺省值)时为不加粗。Font.Italic或FontItalic属性返回或设置在控件中显示文本是否斜体。该属性值为True,则控件上所显示的文本为倾斜,该属性值为False(缺省值)时为不倾斜。Font.Size或FontSize属性返回或设置在控件中显示文本的大小。该属性的缺省值为“小五”号字(9磅)。 Font.Underline或FontUnderl
10、ine属性返回或设置在控件中显示文本是否带下划线。该属性值为True,则控件上所显示的文本带下划线,该属性值为False(缺省值)时为不带下划线。Font.Strikethrough或FontStrikethru属性返回或设置在控件中显示文本是否加删除线。该属性值为True,则控件上所显示的文本加删除线,该属性值为False(缺省值)时为无删除线。,5.1.1 命令按钮的常用属性,(5) Left、Top、Width、Height属性。 u Left属性返回或设置控件的左边界与它所在容器左边界之间的距离。 u Top属性返回或设置控件的上边界与它所在容器上边界之间的距离。 u Width属性返
11、回或设置控件的宽度 u Height属性返回或设置控件的高度。 这4个属性确定了控件的位置和大小,缺省的度量单位为缇(Twip),1440缇=1in。 (6) Visible属性。 返回或设置一个值,决定控件运行时是否为可见。当命令按钮的Visible值设置为True时(缺省值),命令按钮可见;当Visible值设置为False时,命令按钮不可见。,5.1.1 命令按钮的常用属性,(7) Value属性。 在程序代码中设置命令按钮的Value属性为True,相当于调用执行该命令按钮的Click事件。Value属性只能在程序代码中访问,不能在属性窗口中设置。 (8) ToolTipText属性。
12、 ToolTipText属性返回或设置鼠标在命令按钮上停留时的提示文本。这个属性对于图形按钮特别有用,可以提示按钮的功能。例如某个命令按钮的ToolTipText属性为“打开帮助文件”,那么程序运行时,当鼠标在该按钮上停留的时效果为:,5.1.2 命令按钮的常用事件,命令按钮的常用事件是Click事件,命令按钮的功能是通过编写命令按钮的Click事件程序代码实现的。例如,Command1的Caption设置为“退出”,表示这是一个退出程序运行的按钮,为了能实现退出程序的功能,在代码窗口中可以加入以下程序段: Private Sub Command1_Click() End End Sub 用户
13、触发命令按钮事件的方式有以下几种: (1) 鼠标单击命令按钮。 (2) 在命令按钮获得焦点时,按Enter键。 (3) 对于设计了访问键的命令按钮,按Alt+访问键。,5.1.3 标签的常用属性,1Caption属性 与命令按钮相似,标签的Caption属性返回或设置标签的显示文本。 运行时,标签的文本不能直接进行编辑,但是可以由程序代码控制,通过赋值语句改变Caption属性。 标签控件也可以通过字符前加一个“&”符号设置访问键。由于标签控件本身不能获得焦点,按下Alt+访问键会将焦点移到焦点顺序在标签后面的下一个可以获得焦点的控件上。 注意:可以按Tab键依次在建立在窗体上的可以获得焦点的
14、控件上移动焦点。TabIndex属性确定控件响应Tab键的顺序。TabIndex属性的值依照控件建立的顺序自动获得,第一个建立的控件的TabIndex值为0。可以重新设置控件的TabIndex属性来改变按Tab键获得焦点的顺序,通常将希望程序运行后第一个自动获得焦点的控件的TabIndex属性设置为0。,5.1.3 标签的常用属性,主动将焦点移动到指定的控件上,可以运用控件的SetFocus方法。格式为:控件名称.SetFocus 不能获得焦点的控件不支持SetFocus方法,例如标签控件。 2AutoSize属性和WordWrap属性 (1) AutoSize属性返回或设置控件是否自动改变大
15、小以显示所有内容。 (2) WordWrap属性返回或设置控件是否扩大以显示所有内容。 当Caption的文本超过标签的宽度时,若标签的Autosize属性值为False(缺省值),则保持标签的大小不变,超出部分不予显示(如图5-1中上面一个标签所示);若标签的Autosize属性值为True,而且WordWrap属性为False(缺省值),则自动增加标签的宽度以显示全部内容(如图5-1中间一个标签所示);若标签的Autosize属性值为True,而且WordWrap属性也为True,则保持标签的宽度不变增加标签的高度以显示全部内容(如图5-1下面一个标签所示)。,5.1.3 标签的常用属性,
16、图5-1 标签AutoSize属性和WordWrap属性示意 3Alignment属性 Alignment属性返回或设置标签中文本的对齐方式。当Alignment属性值为0时(缺省值),文本在标签中左对齐;当Alignment属性值为1时,文本在标签中右对齐;当Alignment属性值为2时,文本在标签中居中对齐。,5.1.3 标签的常用属性,4BackStyle属性 BackStyle属性返回或设置控件的背景样式是否透明。当标签的BackStyle属性值为0时,标签的背景是透明的;当标签的BackStyle属性值为1(缺省值)时,标签的背景不透明,背景色即BackColor属性所设置的颜色。
17、 5BorderStyle属性 BorderStyle属性返回或设置控件的边框样式。标签的BorderStyle属性值为0(缺省值)时,无边框;标签的BorderStyle属性值为1时,有边框。,5.1.4 标签的常用事件,标签框控件的常用事件有Change、Click、DblClick等事件。但在程序设计中,习惯上还是将标签作为文本显示使用,较少设计标签的事件过程。,5.1.5 文本框的常用属性,文本框通常用于在运行时输入和输出文本,是计算机与用户进行信息交互的控件。 工具箱中文本框控件的图标为 。 文本框控件的缺省名称为Text1、Text2、,微软建议的名称前缀为txt。 与标签控件不同
18、的是,文本框中的文本可以在程序运行过程中让用户直接进行编辑修改,除非将文本框的Locked属性设为True,使文本框的Text属性成为只读属性。 1Text属性 Text属性返回或设置文本框中的文本。Text属性是文本框控件最重要的属性之一,可以在设计时设置Text属性,也可以在运行时直接在文本框内输入、或通过程序代码对Text属性重新赋值来改变Text属性的值。,5.1.5 文本框的常用属性,2MaxLength属性 MaxLength属性返回或设置在文本框控件中能够输入字符的最大数。MaxLength属性的取值范围065535。默认值为0,与65535等价。若在其取值范围内设定了一个非0值
19、,则尾部多出的部分被截断。例如,将文本框Text1的MaxLength设置为6,那么在运行时Text1只接受6个字符;又如执行下列语句后,窗体上文本框内显示“abcdefghij”。 Text1.MaxLength=10 Text1.Text=abcdefghijk12345,5.1.5 文本框的常用属性,3MultiLine属性 MultiLine属性返回或设置文本框是否接受多行文本。 当MultiLine属性值为False(缺省值)时,文本框中的字符只能在一行中显示。 当MultiLine属性值为True时,则可以在文本框的Text属性中加入换行符使文本多行显示。换行符加入的方法有: (1
20、) 设计时,在属性窗口中设置Text属性时,在需要换行时直接按Ctrl+Enter键进行换行。 (2) 在程序代码中用赋值语句修改Text属性,在需要换行时加入回车符(Chr(13)或vbCr)和换行符(chr(10)或vbLf)才可换行,也可以将回车换行符连起来用vbCrLf表示。,5.1.5 文本框的常用属性,4ScrollBars属性 ScrollBars属性返回或设置文本框是否有垂直或水平的滚动条。当文本过长,可能超过文本框的边界时,应该为该控件添加滚动条。具体说明如下: (1) ScrollBars属性值为0(缺省值)时,无滚动条。 (2) ScrollBars属性值为1时,加水平滚
21、动条。 (3) ScrollBars属性值为2时,加垂直滚动条。 (4) ScrollBars属性值为3时,同时加水平、垂直滚动条。 需要注意的是,必须将文本框的MultiLine属性设置为True,ScrollBars属性设置为1、2、3才会出现滚动条。,5.1.5 文本框的常用属性,5PasswordChar属性 PasswordChar属性返回或设置一个值,该值指示所键入的字符或占位符在文本框中以何种形式显示。如果将PasswordChar 设置为空字符串()(缺省值),文本框将显示实际输入的文本。如果将PasswordChar 设置为某个字符,文本框将所有的输入都显示为该字符。 文本框
22、要输入密码,应使用此属性。虽然能够使用任何字符,但是大多数基于 Windows的应用程序都使用星号(*)。 例如文本框Text1的PasswordChar属性设置为“*”,程序运行后如果输入“abcdefg”,Text1中显示的内容是“*”。,5.1.5 文本框的常用属性,6文本编辑属性 (1) SelStart属性。该属性用来指定选定文本块的起始位置。如果没有选定的文本,则该属性指定光标的位置。若SelStart值为0,所指示的位置是在文本框第一个字符之前;若SelStart值等于文本框中文本的长度,所指示的位置是在文本框最后一个字符之后。 (2) SelLength属性。该属性用来指定所选
23、的字符个数。 (3) SelText属性。该属性用来指定选定的字符。如果没有字符被选定的话,就是空字符串。 注意:以上3个与文本选定操作有关的属性只能在程序代码中进行读写操作,设计时不可用。,5.1.5 文本框的常用属性,通过设置SelStart和SelLength属性,可以控制选定的文本。例如,下列语句可使文本框中的所有文本突出显示: Text1.SetFocus 文本框获得焦点 Text1.SelStart = 0 从第一个字符之前开始突出显示 Text1.SelLength = Len(Text1.Text) 突出显示,一直到文本尾。 当文本框中的文本突出显示时,用户可以方便地进行确认或
24、改写操作。 应用剪贴板对象(ClipBoard)提供的方法可以对选定的文本进行“复制”、“剪切”和“粘贴”的操作。具体程序设计见5.1.7节中例5-2的介绍。,5.1.6 文本框的常用事件,1Change事件 一旦文本框中的Text属性发生改变时,将触发文本框的Change事件。 如果要对文本框中内容的变化随时作出反应,可以编写文本框的Change事件程序代码。 例如,在一个应用程序中,文本框控件Text1用于输入x,事件过程Command1_Click用于计算1/x。如果文本框内没有输入任何数或输入0,单击Command1按钮就会导致运行错误。为防止程序计算出错,可以通过以下代码进行控制。,
25、5.1.6 文本框的常用事件,Private Sub Form_Load() Command1.Enabled = False End Sub Private Sub Text1_Change() If Val(Text1.Text) 0 Then Command1.Enabled = True Else Command1.Enabled = False End If End Sub,5.2 单选钮、检查框及框架,1单选钮 1 用途 单选钮(OptionButton)也称作选择按钮。一组单选钮控件可以提供一组彼此相互排斥的选项,任何时刻用户只能从中选择一个选项,实现一种“单项选择”的功能,被选
26、中项目左侧圆圈中会出现一黑点。,单选按钮,2. 重要属性 (1) Caption:文本标题。设置单选钮的文本注释内容。 (2) Alignment属性: 0:Left Justify(缺省设置)控件钮在左边,标题显示在右边。 1:Right Justify 控件钮在右边,标题显示在左边。 (3)Value 属性,True: 单选钮被选定 False: 单选钮未被选定(缺省设置),(4) Style 属性 0-Standard: 标准方式 1-Graphical:图形方式,说 明: 在Style属性设置为1时,可使用 Picture 属性(未选定时的图标或位图)、DoWnPicture属性( 选
27、定时的图标或位图)、DisabledPicture属性(禁止选择时的图标或位图),Value属性返回或设置单选钮的选中状态。Value属性值为False时(缺省值),单选钮控件的圆形框内为空白;Value属性值为True时,单选钮控件的圆形框内显示选中标记()。 运行时单击单选钮后单选钮的Value值变为True,同时单选钮控件的圆形框内显示选中标记()。与复选框不同的是,在运行时反复单击同一单选钮控件时,其Value属性值只能取True。只有单击了其他的单选钮才会使这个单选钮的Value属性值变为False。,3 方法 SetFocus方法是单选钮控件最常用的方法,可以在代码中通过该方法将V
28、alue属性设置为True。 与命令按钮相同,使用该方法之前,必须要保证单选钮处于可见和可用状态(即Visible与Enabled属性值均为True)。,4 事件 Click事件是单选钮控件最基本的事件,一般情况用户无需为单选钮编写Click事件过程,因为当用户单击单选钮时,它会自动改变状态。 例5.1 单选钮示例。,2 检查框,1 用途 检查框(CheckBox)也称作复选框、选择框。一组检查框控件可以提供多个选项,它们彼此独立工作,所以用户可以同时选择任意多个选项,实现一种“不定项选择”的功能。选择某一选项后,该控件将显示,而清除此选项后,消失。,2. 重要属性 Caption、Align
29、ment、Style与单选钮相同,检查框的Value 属性与单选按钮不同,其值为数值型数据,可取0,1,2,检查框与单选按钮Value 属性的比较,Value属性返回或设置复选框的选中状态。 (1) Value属性值为0时(缺省值),复选框控件的方框内为空白;Value属性值为1时,复选框控件的方框内显示选中标记();Value属性值为2时,复选框控件的方框内显示灰色的选中标记()。 (2) 运行时单击复选框: 如果原先Value属性值为0(复选框控件的方框内为空白),单击后Value属性值变为1(同时复选框控件的方框内显示“”标志)。 如果原先Value属性值为1或2(复选框控件的方框内为黑
30、色或灰色的选中标记(),单击后Value属性值变为0(同时复选框控件的方框内显示为空白)。 运行时反复单击同一复选框控件时,其Value属性值只能在0、1之间交替变换。,4 事件 Click事件是检查框控件最基本的事件。用户一般无需为检查框编写Click事件过程,但其对Value属性值的改变遵循以下规则: 单击未选中的检查框时,Value属性值变为1; 单击已选中的检查框时,Value属性值变为0; 单击变灰的检查框时,Value属性值变为0。,3. 方法,复选框控件的常用事件为Click事件,复选框不支持鼠标双击事件,系统把一次双击解释为两次单击事件。 复选框控件在程序中是为用户提供选择项目
31、的,为了判断用户是选中还是清除了复选框,需要读取单击后复选框的Value属性值,从而为程序的进一步运行提供依据。所以典型的复选框单击事件中,通常都有选择结构。 例如复选框Check1的单击事件的典型程序结构通常为: Private Sub Check1_Click() If Check1.Value = 1 Then 选中后要进行的操作 Else 清除后要进行的操作 End If End Sub,3 框架 (Frame),Frame 控件为控件提供可标识的分组。它是一个容器控件。当需要在同一窗体内建立几组互独立的单选钮时,就需要用框架将每一组单选钮框框起来,把 OptionButton 控件分
32、成几组,如下形式。,框架内控件的创建方法: 为了将控件分组,首先需要绘制 Frame 控件,然后绘制 Frame 里面的控件。这样就可以把框架和里面的控件同时移动。如果在 Frame 外部绘制了一个控件并试图把它移到框架内部,那么控件将在 Frame 的上部,这时需分别移动 Frame 和控件 方法1:单击工具箱上的工具,然后用出现的“+”指针,在框架中适当位置拖拉出适当大小的控件。 不能使用双击工具箱上工具的自动方式。 方法2:将控件“剪切”(Ctrl+X)到剪贴板,然后选中框架,使用 (Ctrl+V)命令粘贴到框架内。,重要属性 1.Caption属性:框架标题 2Enabled属性:缺省
33、为True False:标题呈灰色,不允许对框架内的所有对象进行操作。 3.Visible属性: True:框架及其控件可见。 False:框架及其控件被隐含起来。 事件: 框架可以响应的事件Click、DblClick 一般不需要有关框架的事件过程。 例5.2 单选钮、检查框及框架用法示例。,5.3 列表框与组合框,一、用途 列表框控件(ListBox)用于显示项目列表,用户可从中选择一个或多个项目。如果项目总数超过了可显示的项目数, VB会自动加上滚动条。 列表框有两种风格:标准和复选列表框。通过它的Style属性来设置。如下图:,组合框控件(ComboBox)将文本框和列表框的功能结合在
34、一起,用户可以在列表中选择某项(只能选取一项)。或在编辑区域中直接输入文本内容来选定项目。 组合框共三种风格:下拉式组合框、简单组合框和下拉式列表框(见下图)。,1Style属性 该值用来指示控件的显示类型和行为。在运行时是只读的。对于列表框控件或组合框控件都有Style属性,但它们的含义是不同的,见表5.5和表5.6。Pg194,例如:在窗体上放置2个列表框,将其Style属性分别设置为0和1;放置3个组合框,将它们Style属性分别设置为0、1和2。,二、主要属性,2List、ListCount和ListIndex属性,List: 字符型数组,存放列表框的项目数据,下标是从0开始的。 例如
35、: List(0)表示第一项(Listindex=0)的内容 列表框项目可在设计模式下一项一项输入。 ListIndex: 为整型值,选中的项目的序号,如果列表框可多选,则为最后一次选中项目的序号, 没有项目选中时为-1。 ListCount:为整型值,表示项目的数量,ListCount-1是最后一项的下标。,3MultiSelect属性 用于指示是否能够在列表框控件中进行复选以及如何进行复选,在运行时是只读的。注意,组合框控件无此属性。,表5.7 MultiSelect 属性设置值及含义,4Selected属性 该属性返回或设置列表框控件中的一个项目的选择状态。该属性是一个逻辑类型的数组,数
36、组元素个数与列表框中的项目数相同,其下标的变化范围与List属性相同。 例如:List1.Selected(0)=True表示列表框List1的第一个项目被选中,此时ListIndex的值设置为0。Selected属性在设计时是不可用的,即无法在属性窗口中设置属性值。,5NewIndex属性 返回最近加入列表框控件或组合框控件的项目的索引。如果在列表中已没有项目或删除了一个项目,该属性将返回-1。,7Sorted属性 返回一个逻辑值,当Sorted属性为True时列表框控件或组合框控件的项目自动按字母表顺序(升序)排序,为False时项目按加入的先后顺序排列显示。该属性只能在设计时设置,不能在
37、程序代码中设置。 8Text属性 对于组合框:(Combo1) 下拉式组合框与简单组合框(Style=0和1): Text属性返回编辑区域中的文本。 下拉列表框,Text属性的返回当前被选中的项,值总与combo1.List(combo1.ListIndex)的值相同。 对于列表框:(List1) Text属性选中的文本,如果列表框可多选,则为最后一次选中项目。Text属性值总与List1.List(List1.ListIndex)的值相同。,ListCount = 6 ListIndex = 3 (下标从0开始的) Selected(3) = True,其余为False。 Sorted =
38、False,没有排序。 Text = “abc” ,,List1.List(List1.ListIndex)=“abc”,Combo1.List(Combo1.ListIndex)=“abc”,列表框、组合框各主要属性的值:,方法 1AddItem方法 用于将项目添加到列表框控件或组合框控件。 语法格式: 对象名.AddItem item , index 其中:item: 为字符串表达式,表示要加入的项目。 Index:决定新增项目的位置,缺省,则添加在最后。 2RemoveItem方法 用于从列表框控件或组合框控件中删除一项。 语法格式: 对象名. RemoveItem index 对ind
39、ex参数的规定同AddItem方法。,3Clear方法 用于清除列表框控件或组合框控件中的所有项目。 语法格式: 对象名. Clear 例如,要删除列表框(List1)中所有项目,可使用: List1. Clear,例如,要删除列表框(List1)中所有选中的项目,可使用下面的程序段:,i = 0 Do While i = List1.ListCount - 1 If List1.Selected(i) = True Then List1.RemoveItem I End If i = i + 1 loop,i = i- 1,4、事件 (1)Click事件 当单击某一列表项目时,将触发列表框与
40、组合框控件的Click事件。该事件发生时系统会自动改变列表框与组合框控件的ListIndex、Selected、Text等属性,无需另行编写代码。 (2)DblClick事件 当双击某一列表项目时,将触发列表框与简单组合框控件的DblClick事件。 (3)Change事件(列表框没有此事件) 当用户通过键盘输入改变下拉式组合框或简单组合框控件的文本框部分的正文,或者通过代码改变了Text属性的设置时,将触发其Change事件。,例5.5 列表框示例。 设计一个畅销书排行榜程序。 用户界面如右图。,例5.6 组合框示例。 设计一个用于设置字体属性的程序,界面如右图所示。,5.4 滚动条 (Sc
41、rollBar),1 用 途 滚动条控件(ScrollBar)分为水平滚动条(HScrollbar)和垂直滚动条(VscrollBar)二种,通常附在窗体上协助观察数据或确定位置,也可用作数据输入工具,用来提供某一范围内的数值供用户选择。,2. 属性 (1) Value 滑块所处位置所代表的值。 (2) Max:最大值 -32,76832,767 (3) Min:最小值 -32,76832,767 (4) SmallChange 最小变动值, 单击箭头时移动的增量值。 (5) LargeChange 最大变动值,单击空白处时移动的增量值。,4 事件 (1)Change事件 滚动条的Change
42、事件在移动滚动框或通过代码改变其Value属性值时发生。单击滚动条两端的箭头或空白处将引发Change事件。 (2)Scroll事件 当滚动框被重新定位,或按水平方向或垂直方向滚动时,Scroll事件发生。拖动滑块时会触发Scroll事件 Scroll事件与Change事件的区别在于:当滚动条控件滚动时Scroll事件一直发生,而Change事件只是在滚动结束之后才发生一次。,例5.3 滚动条示例。设计一个程序进行坐标设置 教材Pg.190,例5.4 滚动条示例。设计一个用于设置字体颜色的程序.,1.用途 时钟控件(Timer)又称计时器、定时器控件,用于有规律地定时执行指定的工作,常常用于编
43、写不需要与用户进行交互就可直接执行的代码,如计时、倒计时、动画等。 在程序运行阶段,时钟控件不可见。,5.5 时钟,2 属 性 (1)Interval属性 取值范围在0 64767 ,单位:为毫秒(0.001秒),表示计时间隔。若将Interval属性设置为0或负数,则计时器停止工作。 缺省设置为 0 (2)Enabled属性 设置为True,而且Interval属性值大于0,则计时器开始工作(以Interval属性值为间隔,触发Timer事件)。 设置为False可使时钟控件无效,即计时器停止工作。 缺省设置为True,3 方 法 Timer控件没有方法。 4 事 件 时钟控件只有Timer
44、事件 当Enabled属性值为True且Interval属性值大于0时, 该事件以Interval属性指定的时间间隔发生 常常将需要定时执行的操作放在Timer事件过程中,例1、 时钟示例。 (设计一个计时、倒计时程序),例3 设计一个霓虹灯程序,例2:动例画:滚动字幕,常常用于编写不需要与用户进行交互就可直接执行的代码,如:计时器、倒计时、动画等。,时钟控件的应用举例,*5.5 ActiveX控件,概念: 在VB中除了使用工具箱上的标准控件外,还可以使用微软以及一些第三方厂商开发了许多扩展的高级控件,这些控件被称为ActiveX控件。 使用ActiveX控件,首先应把需要使用的ActiveX
45、控件添加到工具箱中。ActiveX控件文件的类型名为.ocx,一般情况下ActiveX 控件被安装和注册在 WindowsSystem 或 System32 目录下。,执行“工程”菜单中的“部件”命令,打开“部件”对话框,该对话框中列出当前系统中所有注册过的ActiveX 控件、可插入对象和ActiveX设计器。,8.6,5.5.1 UpDown控件,UpDown控件位于Microsoft Windows Common Controls-2 6.0部件中,其添加到工具箱后的图标为 。UpDown控件一般与其它控件配套使用,与之配套的控件称为伙伴控件。,属性:,BuddyControl属性 Bu
46、ddyProperty属性 Value属性 Increment属性 Min和Max属性 Wrap属性,例5.9 UpDown控件示例。,5.5.2 Slider控件,Slider控件位于Microsoft Windows Common Controls 6.0部件中,其添加到工具箱后的图标为 。Slider控件包含滑块和可选择性刻度标记,与滚动条控件类似,,Slider控件具有与滚动条控件相类似的基本属性: 如Min、Max、SmallChange、LargeChange和Value属性 Slider控件的其它属性: (1)TextPosition属性: (2)TickFrequency属性:
47、 (3)TickStyle属性:,Slider控件的常用事件为Scroll和Change,其触发条件与滚动条控件相同。,例5.10 Slider控件示例。,5.5.3 ProcessBar控件,ProcessBar控件位于Microsoft Windows Common Controls 6.0部件中,其添加到工具箱后的图标为 。ProcessBar控件常用于监视一个较长操作完成的进度,它通过从左到右用一些方块填充矩形的形式来表示操作处理的进程。,ProcessBar控件的属性设置:,例5.11 ProgressBar控件示例,5.5.4 ImageList控件与ImageCombo控件,Im
48、ageList控件与ImageCombo控件均位于Microsoft Windows Common Controls 6.0部件中,其添加到工具箱后的图标分别为 和 。 ImageList控件不能独立使用,它只是一个向其它控件提供图象的资料中心,运行时不可见。 ImageCombo控件是支持图片的组合框,控件列表中的每一项都可以有一幅图片指定给它。,例5.12 ImageList控件与ImageCombo控件示例。,5.5.5 SSTab控件,Style:选项卡样式 Tabs:选项卡总数 TabsPerRow:每一行选项卡的数目 Rows:选项卡总行数 TabOrientation:选项卡的位
49、置。 ShowFocusRect:决定选项卡上的焦点矩形是否可视。 Tab:当前选项卡的序号。序号从0开始,如果Tab为1,则第二个选项卡为当前活动的选项卡。,SSTab控件位于Microsoft Windows Tabbed Dialog Control 6.0部件中,其添加到工具箱后的图标为,属性:,*5.6 常用系统对象,在Visual Basic系统中,提供许多的系统内部对象,用户在应用程序中,直接可以调用这些对象。系统对象没有用户界面。,5.6.1 App对象,用途: 在应用程序中使用App对象可获得:应用程序的标题、版本信息、可执行文件和帮助文件的路径及名称等信息,以及检查应用程序
50、是否已经运行等。,最常用的属性,例5.13 要限定某用应用程序(*.EXE)必须放在D盘根目录与应用程序同名的文件夹中才能运行。,可在窗体的Load事件中写入如下代码 Private Sub Form_Load() If App.EXEName = Mid(App.Path, 4) And _ Ucase(Mid(App.Path, 1, 2) = D: Then Exit sub Else End End If End Sub,5.6.2 Clipboard 对象,Clipboard 对象用于操作剪贴板上的文本和图形。它使用户能够复制、剪切和粘贴应用程序中的文本和图形。 所有Windows
51、应用程序共享 Clipboard 对象,当切换到其它应用程序时,剪贴板内容会改变。因此Clipboard(剪贴板)对象提供了应用程序之间信息的传递。 Clipboard 对象它没有属性和事件,提供6个常用的方法。,Clipboard 对象的常用方法 :,1Clear方法 在复制信息到剪贴板之前,应使用Clear方法清除Clipboard对象中的内容,使用格式如下: Clipboard.Clear 2SetText方法 使用SetText方法将字符串数据按指定格式存入剪贴板中,使用格式如下: Clipboard.SetText ,其参含义见教材Pg.211,3GetText方法 使用此方法从剪贴
52、板中获得一字符串。其语法格式为: Clipboard.GetText(),例如,要将剪贴板上的文字粘贴到文本框插入点所在处或替换选中的内容,则可使用如下语句: Text1.SelText=Clipboard.GetText(),补充例题:一个文本编辑器程序,可以对文本框中选中的文本进行剪切、复制、粘贴和删除剪贴板内容的操作。,4SetData方法 将图形数据保存到剪贴板上,要使用SetData方法,其使用语法格式为: Clipboard.SetData data,format 其中, data参数是必需的。为要放到 Clipboard 对象中的图形数据。 format参数是可选的。一个常数或数
53、值,用来指定图片的格式,其取值见表5.15,如果省略 format,则由系统自动决定图形格式。,5GetData方法 用此方法从剪贴板中得到图形,其使用语法格式是: Clipboard.GetData(format),例5.14,6GetFormat方法 使用GetFormat方法,检查剪贴板中指定格式的数据存在否,它返回一个逻辑值。其语法格式: Clipboard.GetFormat (),例5.15 使用 GetFormat 方法确定剪贴板中是否有Bmp格式数据,如果有将其粘贴到图片框picture1中。 Private Sub Form_Click () If Clipboard.Get
54、Format(vbCFBitmap) Then Picture1.picture= Clipboard.GetData( ) End if End Sub,5.6.3 Screen对象,Screen对象代表了整个Windows桌面。通过Screen对象,还可以在程序运行期间修改屏幕的鼠标指针。,Screen对象的常用属性,例5.16 打印输出计算机系统中显示器或活动打印机可用的所有字体名,其程序如下: Private Sub Command1_Click() Dim I As Integer For I = 0 To Screen.FontCount - 1 Print Screen.Font
55、s(I) Next I End Sub,5.6.4 Printer对象和Printers集合对象,在VB中,要将处理结果的数据或图形通过打印机输出,就必须使用系统提供的Printer对象和Printers集合对象,1Printer对象,2Printers集合对象,5.6.5 立即窗口,立即窗口是Visual Basic所提供的全域性(G1obal)系统对象之、称为Debug对象,作为调试之用。此对象除了Print方法外,不具备任何事件和属性。,在设计状态可以在立即窗口中进行一些简单的命令操作,例如可用“?”或Print(两者等价)输出一些表达式的值。,在程序中,可以使用Debug.Print方
56、法将要输出的信息输出到立即窗口中;而若要作为立即之用、只要进入“中断”模式便会出现此窗口。,5.6.6 其他系统对象,除了上述对象外,系统还提供了Control对象、Controls集合对象、Form对象、Forms集合对象。关于这些对象的使用,限于篇幅不再展开,读者可以通过系统MSDN帮助获得详细的帮助。 先举例说明Control对象、Controls集合对象的使用,Controls集合对象包含窗体上的所有控件,如下程序段是在立即窗口中显示窗体上的所有控件名称: Dim x As Control For Each x In Form1.Controls Debug.Print x.Name
57、Next x,5.7.1 控件数组,控件数组是具有相同名称和类型并具有相同事件的一个或多个控件。每个控件数组至少含有一个控件,控件的个数最多为32767个,并受系统资源和内存的限制。同一控件数组中,每个控件可以有各自不同的属性设置。在开发应用程序的过程中,如果需要多个类型相同功能相近的控件,最好建立控件数组,因为控件数组占用的系统资源要低于同样个数的相同类型控件所占用的系统资源。 1在设计时创建控件数组 (1)将相同类型的控件的名称设置为相同:先在窗体上建立若干个相同类型的控件,确定哪个要作为控件数组的第一个控件,接着将其他控件的名称(Name)属性都改为与第一个控件的名称相同。在修改时,Vi
58、sual Basic会弹出一个对话框询问是否创建控件数组,单击“是”按钮即可。对于控件数组中的控件系统会自动分配它们的Index属性,控件数组的第一个控件的Index属性为0,第二个为1,依此类推。,5.7.1 控件数组的建立,5.7.1 控件数组的建立,(2) 通过复制粘贴的方法:先建立控件数组中的第一个控件,选择该控件,进行“复制”操作,接着进行“粘贴”操作,同样Visual Basic会弹出一个对话框询问是否创建控件数组,单击“是”按钮即可。对于不止由两个控件构成的控件数组,就继续进行“粘贴”操作。这种方法建立的控件数组除了Index属性依次按建立的顺序自动获得相应的数值外,其他的外观属
59、性都是相同的,用户要根据需要重新设置它们各自相应的属性。 2在运行时创建控件数组 在运行时要在程序中动态地增减控件,可以通过控件数组的Load和UnLoad语句实现。必须先在设计时建立一个控件,再将该控件的Index属性设置为0,这样这个控件就构成只有一个控件元素的控件数组了。在运行时需要创建新的控件时,可以执行Load语句。Load语句格式为:Load 控件名称(索引值),使用控件数组的两个实例: 1、计算器程序 2、调色板程序,5.8 常见错误及其处理,在面向对象的程序设计中,除了要掌握程序设计的基本方法,正确运用程序设计元素和程序控制结构外,还要掌握和正确运用对象(控件)的属性、方法和事件。程序错误分为语法错误(编译错误)、实时错误和逻辑错误3种,熟练掌握Visual Basic编程规则可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东省云浮市云城区赴高校招聘事业编制教师50人备考题库(广州专场)及答案详解1套
- 2026菏泽海吉亚医院期招聘备考考试试题及答案解析
- 2026中国东方航空股份有限公司江西分公司招聘劳务派遣制员工1人参考考试题库及答案解析
- 2026山西运城凤英医院招聘41人考试备考题库及答案解析
- 2026年度驻马店市市直机关遴选公务员8人备考题库参考答案详解
- 2026东风汽车集团股份有限公司人事共享服务中心招聘备考题库(湖北)及一套参考答案详解
- 2026天津商业大学第一批招聘20人备考题库(高层次人才岗位)(含答案详解)
- 2026年景宁县机关事业单位公开选调25人考试参考试题及答案解析
- 2026广东广州市中山大学孙逸仙纪念医院护理岗位人才招聘备考题库(第二批)完整参考答案详解
- 2026四川成都市矿产机电技师学院招聘教师备考题库及答案详解(夺冠系列)
- 2025年公务员(省考)测试卷附答案详解
- JJG 499-2021 精密露点仪检定规程
- T-CPQS A0011-2022 二手车车况检测及评估通则
- 吸毒的危害性后果
- 2025年湖南邵阳经开贸易投资有限公司招聘12人笔试考试参考试题及答案解析
- 白内障手术术前准备和术后护理流程
- 多动症儿童在感统训练
- 环保生产应急预案
- 殡葬礼仪服务创新创业项目商业计划书
- 数据驱动的零售商品陈列优化方案
- 录用通知(入职通知书)offer模板
评论
0/150
提交评论