admin 管理员组

文章数量: 887021


2024年2月23日发(作者:quantifiers)

AddNewMode 属性

返回一个值,描述当前单元关于网格的 AddNew 行的位置。运行时只读,设计时不可用。

语法

object。AddNewMode

AddNewMode 属性语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于"列表中的对象.

AddNewMode 属性返回以下一个值:

常数 值 描述

dbgNoAddNew 0 当前单元不在最后一行,没有 AddNew 操作,被挂起。

dbgAddNewCurrent 1 当前单元在最后一行,但没有 AddNew 操作,被挂起。

dbgAddNewPending 2 当前单元的下一行是最后一行,作为挂起 AddNew 操作的结果,通过网格的用户界面可以让用户进行初始化,或通过代码把 Value 或 Text 的列属性作为设置结果。

说明

如果 AllowAddNew 属性为 True ,那么在网格中显示的最后一行是空的,允许用户输入新记录.如果 AllowAddNew 属性为 False, 空白行将不显示,并且 AddNewMode 总是返回

0。

AfterColEdit 事件

在完成网格单元中的编辑之后出现。

语法

Private Sub object_AfterColEdit([ index As Integer,] ByVal colindex As Integer)

AfterColEdit 事件的语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于"列表中的对象。

Index Interger,它标识控件数组中的一个控件.

colindex Interger,它标识已编辑过的列.

说明

当完成网格单元中的编辑时,比如当按 Tab 键而切换到同一行的另外一列时按了 ENTER

键,或者单击了另外一个单元时,都将执行 BeforeColUpdate 和 AfterColUpdate 事件,并且可将单元的数据移动到网格的复制缓冲区中。AfterColEdit 事件紧随 AfterColEdit 事件出现。

在格单元中完成时,即使未对单元进行改动,或是已经取消了 BeforeColUpdate 事件,也会触发该事件。

如果取消 BeforeColEdit 事件,就不会启动 AfterColEdit 事件。

AfterColEdit 事件

在完成网格单元中的编辑之后出现.

语法

Private Sub object_AfterColEdit([ index As Integer,] ByVal colindex As Integer)

AfterColEdit 事件的语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于"列表中的对象。

Index Interger,它标识控件数组中的一个控件。

colindex Interger,它标识已编辑过的列.

说明

当完成网格单元中的编辑时,比如当按 Tab 键而切换到同一行的另外一列时按了 ENTER

键,或者单击了另外一个单元时,都将执行 BeforeColUpdate 和 AfterColUpdate 事件,并且可将单元的数据移动到网格的复制缓冲区中.AfterColEdit 事件紧随 AfterColEdit 事件出现。

在格单元中完成时,即使未对单元进行改动,或是已经取消了 BeforeColUpdate 事件,也会触发该事件。

如果取消 BeforeColEdit 事件,就不会启动 AfterColEdit 事件。

AfterDelete 事件

当用户在 DataGrid 控件中删除一条选定的记录后被触发。

语法

Private Sub object_AfterDelete ([index As Integer,] colindex As Integer)

AfterDelete 事件语法包括下列部分

部分 描述

object 对象表达式,其值为“应用于”列表中的一个对象。

index 整数,用来标识一个在控件数组中的控件。

colindex 是用来标识列的整数。

说明

当用户在 DataGrid 控件中选择了一个记录选择器,并且按了 DEL 键或 CTRL+X 键时,所选行被删除。 在记录被删除之前, BeforeDelete 事件被触发。该选择行被删除后, AfterDelete

事件被触发.被选择删除的行可在由 SelBookmarks 属性所指向的集合中获得。

AfterInsert 事件

在用户往 DataGrid 控件中插入一条新记录后被触发。

语法

Private Sub object_AfterInsert (index As Integer)

AfterInsert 事件语法包括下列部分:

部分 描述

object 对象表达式,其值为“应用于”列表中的一个对象。

Index 整数,标识在控件数组中的控件。

说明

当用户选择一条新记录(在控件的底部)并且在其中一个单元中输入一个字符时,触发

BeforeInsert 事件,接着 BeforeUpdate、AfterUpdate 和 AfterInsert 事件被触发。

当 AfterInsert 事件被触发时,该记录已被添加到数据库中.Bookmark 属性可用于存取新记

录。

AfterInsert event 不能被取消。

AfterInsert 事件过程可用于更新其它的表,或进行其它控件事后更新的清理工作。

AfterUpdate 事件

修改过的数据已经从 DataGrid 控件中被写到数据库后被触发。

语法

Sub object_AfterUpdate (index As Integer)

AfterUpdate 事件语法包括下列部分:

部分 描述

object 对象表达式,其值为“应用于"列表中的一个对象。

index 整数,用来标识在控件数组中的控件。

说明

当用户移动到另一行,或执行 Recordset 对象的 Update 方法时,数据从控件的复制缓冲区移动到 Data 控件的复制缓冲区,并被写到数据库中。一旦完成写操作,就触发 AfterUpdate

事件.

通过使用 DataGrid 控件的 Bookmark 属性,被更新过的记录可以用.

AfterUpdate 事件发生在 BeforeUpdate 事件之后,但是在控件的 LostFocu (或者按 Tab 键次序的下一个控件的 GotFocus)事件之前. 该事以被连结和不被连结两种方式发生,并且不能被取消。

与 Change 事件不同的是,用代码在控件或记录中改变数据不会触发该事件

Align 属性

返回或设置一个值,确定对象是否可在窗体上以任意大小、在任意位置上显示,或是显示在窗体的顶端、底端、左边或右边,而且自动改变大小以适合窗体的宽度。

语法

[= number]

Align 属性语法包含下面部分:

部分 描述

Object 对象表达式,其值是“应用于”列表中的一个对象.

Number 整数值,用来确定如何显示对象,“设置值”中有详细描述。

设置值

number 的设置值如下:

常数 设置值 描述

VbAlignNone 0 (非 MDI 窗体的缺省值)无 - 可以在设计时或在程序中确定大小和位置。

如果对象在 MDI 窗体上,则忽略该设置值。

VbAlignTop 1 (MDI 窗体的缺省值)顶部- 对象显示在窗体的顶部,其宽度等于窗体的

ScaleWidth 属性设置值.

VbAlignBottom 2 底部- 对象显示在窗体的底部,其宽度等于窗体的 ScaleWidth 属性设置值.

VbAlignLeft 3 左边- 对象在窗体的左面,其宽度等于窗体的 ScaleWidth 属性设置值。

VbAlignRight 4 右边- 对象在窗体的右面,其宽度为窗体的 ScaleWidth 属性设置值。

说明

用 Align 属性可以很快地在窗体的顶部或底部创建工具栏或状态栏.当用户改变窗体的大小时,Align 值设置为 1 或 2 的对象,会自动地改变大小以适合窗体的宽度。

PictureBox 和 Data 控件是唯一能放在 MDI 窗体上的标准控件。MDI 窗体的内部区域定义为没有被控件覆盖的空间。当 MDI 子窗体在 MDI 父窗体中最大化时,它不会覆盖任何控件.

number 设置值 3 和 4 可以用来将工具栏对齐于窗体或 MDI 窗体的左边和右边。如果在

MDI 窗体的一个角上有两个工具栏,上或下对齐会优先占满整个角,而不用左右对齐。就象上下对齐的对象一样,左右对齐的对象占据 MDI 窗体的内部区域。

AllowAddNew 属性

返回或设置一个值,指出用户是否能够向与 DataGrid 控件连接的 Recordset 对象中添加新记录。

语法

ddNew [= value]

AllowAddNew 属性的语法具有这些部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象。

value 如“设置值”中所示,确定用户是否能够添加新记录的布尔表达式。

设置值

value 的设置值为:

设置 描述

True 用户可以向与 DataGrid 控件连接的 Recordset 对象中添加记录.

False 用户不能向与 DataGrid 控件连接的Recordset 对象中添加记录.

说明

如果 AllowAddnew 属性为 True,则在 DataGrid 控件中显示的最后一行被留作空白以允许用户输入新记录。如果 AllowAddNew 属性为 False,则无空白行显示,用户无法定位进行输入.

即使 AllowAddNew 属性为 True,Recordset 也可能不允许插入。在此情况下,若用户试图添加记录就会产生错误提示。

AllowArrows 属性

设置或返回一个值,该值决定控件是否用箭头键对网格定位。

语法

object。AllowArrows [= value]

AllowArrows 属性的语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象。

value 布尔表达式,它决定箭头键是否用来对网格定位,参见“设置值"中的描述。

设置值

value 的设置值为:

设置值 描述

True (缺省值)可用箭头键在同一行中从一个单元移动到另一个单元。

False 左箭头键和右箭头键将把焦点从一个控件移动到另一个控件,但不能用来在单元之间移动。

说明

当把该属性设置为 True 时,不能用箭头键移动到 DataGrid 控件之外。如果把

WrapCellPointer 属性也设置为 True,则箭头键会在行的边缘上自动换行,并且可用箭头键对整个网格定位。

AllowDelete 属性

返回或设置一个值,指出用户能否从与 DataGrid 控件连接的 Recordset 对象中删除记录.

语法

elete [= value]

AllowDelete 属性的语法具有这些部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象。

value 如“设置值”中所示,一个确定用户能否删除记录的布尔表达式.

设置值

value 的设置值为:

设置 描述

True 用户可以从与 DataGrid 控件连接的 Recordset 对象中删除记录.

False 用户不能从与 DataGrid 控件连接的Recordset 对象中删除记录。

说明

使用 AllowDelete 属性防止用户在 Recordset 中通过与 DataGrid 控件的交互过程来删除记录.

对于DataGrid控件,即使 AllowDelete 属性为 True,Recordset 也可能不允许删除。在此情况下,若用户试图删除记录就会产生错误。

注意 从 DataGrid 控件中删除一个记录之后,您应该对其使用 Refresh 方法,强迫

DataGrid 更新。否则,尽管从下层记录集中删除了一个记录,记录将仍然在DataGrid 中显示。

AllowRowSizing 属性

返回或设置一个值,指示用户能否在运行时重置 DataGrid 控件的行或 Split 对象的大小。

语法

object。AllowRowSizing [= value]

AllowRowSizing 属性的语法具有这些部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象。

value 如“设置值”中所示,一个确定用户能否重置行的大小的布尔表达式。

设置值

value 的设置值为:

设置 描述

True 行的大小可以被用户改变.

False 行的大小不能被用户改变。

说明

如果 AllowRowSizing 属性为 True,则当鼠标指针被定位在记录选定器之间的分界线上时变为双向箭头(大小为 N S),且用户可以通过拖动重置行的大小。行的大小的任何改变都将引发一个 RowResize 事件.

DataGrid 控件的所有行总是具有相同的高度,这一高度是由 RowHeight 属性确定.

注意 即使 AllowRowSizing 属性为 False,行的高度也仍可用 RowHeight 属性可编程地改变。

AllowUpdate 属性

返回或设置一个值,指示用户能否修改 DataGrid 控件中的数据。

语法

pdate [= value]

AllowUpdate 属性的语法具有这些部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象。

value 如“设置值”中所示,确定用户能否改变数据的布尔表达式。

设置值

value 的设置值为:

设置 描述

True 用户可以修改 DataGrid 控件中的数据。

False 用户不能修改 DataGrid 控件中的数据。

说明

当 AllowUpdate 属性为 False 时,用户仍然可以通过 DataGrid 控件进行滚动并选择数据,但不能改变任何值;忽视任何改变网格中数据的操作。

也可以使用 Column 对象属性使 DataGrid 控件的单个列成为只读的,但 AllowUpdate 属性设置居优先于列设置值(不改变列设置值)。

注意 即使 AllowUpdate 对 DataGrid 控件为 True,Recordset 对象也可能不允许更新;在此情况下,当用户试图改变记录时会发生一个可捕获的错误。

Appearance 属性 (ActiveX 控件)

返回或设置 MDIForm 或 Form 对象上的控件在设计时的绘图风格。在运行时是只读的。

语法

object。Appearance

object 所在处代表一个对象表达式,其值是“应用于"列表中的一个对象。

设置值

Appearance 属性的设置值是:

设置值 描述

0 平面,绘制控件和窗体没有可视化效果。

1 (缺省值)3D。带有三维效果的绘制控件。

说明

如果在设计时将其设置为 1,那么 Appearance 属性在画出控件时带有三维效果。如果窗体的 BorderStyle 属性被设置为固定双边框(vbFixedDouble,或 3),窗体的标题和边框也是以有三维效果的方式绘画的。将 Appearance 属性设置为 1,也导致窗体及其控件的

BackColor 属性被设置为这样的颜色,该颜色是为操作系统控制面板“颜色选项"中的按钮表面颜色选定的.将 MDIForm 对象的 Appearance 属性设置为 1,只对 MDI 父窗体产生影响。想要在 MDI 子窗体上具有三维效果,必须将每个子窗体的 Appearance 属性设置为 1

ApproxCount 属性

返回在网格中的行号的近似值.

语法

object。ApproxCount

对象所在处表示对象表达式,其值是“应用于”列表中的对象。

说明

此属性返回网格用于校准垂直滚动条的近似行数.

一般来说, ApproxCount 属性用于改善垂直滚动条的精确性.这在行号已知的情况下非常有用,例如当网格与数组联合使用时。

注意 获得 ApproxCount 属性将查询下一级数据源。

BackColor、ForeColor 属性 (ActiveX 控件)

BackColor-返回或设置对象的背景颜色。

foreColor-返回或设置在对象里显示图片和文本的前景颜色。

语法

object。BackColor [= color]

object。ForeColor [= color]

BackColor 和 ForeColor 属性语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的一个对象。

color 值或常数,确定对象前景或背景的颜色,“设置值”中有详细说明.

设置值

Visual Basic 用 Microsoft Windows 运行环境的红-绿-蓝 (RGB) 颜色方案.color 的设置值如下:

设置值 描述

标准 RGB 颜色 使用调色板或在代码中使用 RGB 或 QBColor 函数指定的颜色。

系统缺省颜色 由对象浏览器中的 Visual Basic (VB) 对象库所列的系统颜色常数指定的颜色。Windows 运行环境替换使用用户在控制面板设置值中的选择。

对所有的窗体和控件,在设计时的缺省设置值如下:

BackColor-设置为由常数 vbWindowBackground 定义的系统缺省颜色。

ForeColor-设置为由常数 vbWindowText 定义的系统缺省颜色。

说明

在 Label 和 Shape,控件中,如果 BackStyle 属性的设置值为 0(透明),则忽略 BackColor

属性。

如果在 Form 对象或 Picturebox 控件中设置 BackColor 属性,则所有的文本和图片,包括指定的图片,都被擦除。设置 ForeColor 属性值不会影响已经绘出的图片或打印输出。在其它的所有控件中,屏幕的颜色会立即改变。

标准 RGB 颜色的有效取值范围是 0 到 16,777,215 (&HFFFFFF).该范围内数的高字节为

0;较低的 3 个字节,从最低字节到最高字节依次决定红、绿和蓝的量。红、绿和蓝的成分,分别由一个介于 0 与 255 (&HFF) 之间的数来表示。如果最高字节不为 0,Visual Basic 将使用系统颜色,这些颜色由用户的控制面板设置值和由对象浏览器中的 Visual Basic (VB)

对象库所列出的常数来确定。

在 Windows 运行环境中显示文本,文本和背景的颜色必须都是原色.如果所选择的文本或背景颜色没有显示出来,则选择颜色中可能有抖动色-也就是说,最多由三种不同颜色的像素组成的颜色。如果对文本或背景选择了抖动色,则会用最接近的原色来代替。

BeforeColEdit 事件

仅在键入字符而进入编辑模式之前出现该事件。

语法

Private Sub object_BeforeColEdit([ index As Integer,] ByVal colindex As Integer, ByVal

keyascii As Integer, cancel As Integer)

BeforeColEdit 事件的语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象。

Index Interger,它标识控件数组中的一个控件。

colindex Interger,它标识已编辑过的那一列。

keyascii Interger,对于用户为启动编辑而键入的字符,它表示这些字符的 ANSI 键代码。如果用户通过单击鼠标来启动编辑,则它取值为 0。KeyAscii 按值而不是地址来传递;所以不能通过改变其值,使得可用不同字符启动编辑。

cancel Interger,可将其设置为 True,以防止用户编辑该单元,参见“设置值”中的描述。

设置值

cancel 的设置值为:

设置值 描述

True 单元不进入编辑模式。

False (缺省值) ColEdit 事件立即被引发,如果 KeyAscii 参数不为零,则 Change 和

KeyUp 事件将随后出现。

说明

如果没有使用浮动编辑器字幕,那么,当用户单击当前单元或双击另一个单元时也会出现此事件。

可用该事件控制每个单元的可编辑性,或将最初的击键值转换成缺省值。

注意 如果没有使用浮动编辑器字幕,则 keyascii 参数只能为 0。

BeforeColUpdate 事件

在一个单元内的编辑完成之后而数据从单元移到 DataGrid 控件的复制缓冲区之前被触发。

语法

Private Sub object_BeforeColUpdate ([ index As Integer,] colindex As Integer, oldvalue As

Variant, cancel As Integer)

BeforeColUpdate事件语法包含下列部分:

部分 描述

object 对象表达式 ,其值为“应用于"列表中的一个对象。

index 整数,用来标识在控件数组中的控件。

colindex 是用来标识列的整数.

oldvalue 包含着单元格中变化之前值的一个值。

cancel 如设置中所描述的,是一个指出是否有变化发生的布尔表达式.

设置值

对 Cancel 的设置为

设置 描述

True 取消改变,单元恢复为 Oldvalue ,焦点也恢复到控件.

False (缺省)持续变化并允许焦点的变化。

说明

当用户在一个单元内编辑完成后,如在一行中转到另一列,按 ENTER 键,或者把焦点从单元中改过来时, Oldvalue 参数指定的数据也从单元移到控件的复制缓冲区,。 在数据从单元移到控件的复制缓冲区之前,触发 BeforeColUpdate 事件。这个事件提供一个把网格单元提交给控件的复制缓冲区之前有检查各个网格单元的机会。

如果事件过程将 Cancle 参数设置为 True ,则恢复单元中以前的值,把焦点保留在控件上,且不触发 AfterColUpdate 事件。

要恢复单元中 oldvalue 并且允许用户把焦点移出单元,将 Cancle 设置为 False ,并按如下方式将单元设置为原来的值:

Cancel = False

DataGrid1。Columns(ColIndex)。Value = OldValue

AfterColUpdate事件发生在BeforeColUpdate事件之后。

当把 cancel 参数设置为 True 时,,除非应用程序确定数据能够安全地移回控件的复制缓冲区,否则用户不可以从控件移出焦点。

BeforeDelete 事件

发生在 DataGrid 控件中选定的记录被删除之前.

语法

Private Sub object_BeforeDelete ([index As Integer,] cancel As Integer)

BeforeDelete 事件语法含有下列部分:

部分 描述

object 对象表达式 ,其值为“应用于”列表中的一个对象。

index 整数,用来标识一个在控件数组中的控件。

cancel 如设置值中所描述的是一个布尔表达式 ,它指出有一条记录是否被删除了。

设置值

对 cancel 的设置为:

设置 描述

True 保持焦点在该控件,不删除记录。

False (缺省)持续删除操作,使焦点能够改变。

说明

当用户选择控件中的一个记录选择器并按了 DEL 键或 CTL+X 键时,在选定的行被删除之前,触发 BeforeDelete 事件.

一旦行被删除,就触发 AfterDelete 事件。被选定删除的行可由 SelBookmarks 属性提供的集合中获得。

如果事件过程将 cancel 参数设置为 True ,则该行不被删除。

如果选择多于一行,则显示多行不能删除的错误信息。

BeforeInsert 事件

出现在往一个 DataGrid 控件中插入一条记录之前。

语法

Private Sub object_BeforeInsert ([ index As Integer,] cancel As Integer)

BeforeInsert 事件语法包括下列部分:

部分 描述

object 对象表达式 ,其值为“应用于"列表中的一个对象。

index 整数,用来标识一个在控件数组中的控件。

cancel 如设值中所描述的是一个布尔表达式 指出是否添加一条记录.

设置值

对 cancel 的设置为:

设置 描述

True 保持焦点在该控件,不添加新记录

False (缺省)持续复制并使焦点能够改变

说明

当用户选择一条新记录(在 DataGrid 控件的底部)并且在其中一个单元中输入一个字符时,触发 BeforeInsert 事件,接着 BeforeUpdate,AfterUpdate 和 AfterInsert 事件被触发。

如果事件过程将 cancel 参数设置为 True ,该行不被插入,单元被清空。

当 BeforeInsert 事件被触发时,该记录还未添加到数据库中。新记录存在于 DataGrid 控件的复制缓冲区中,直到事件过程结束。

AfterInsert 事件完成后, DataGrid 控件中的新记录行被重新初始化,被编辑的记录成为

DataGrid 控件的最后一行.

BeforeUpdate 事件

发生在数据从 DataGrid 控件移动到控件的复制缓冲区之前.

语法

Private Sub object_BeforeUpdate ([index As Integer,] cancel As Integer)

BeforeUpdate 事件语法包括下列部分:

部分 描述

object 对象表达式 ,其值为“应用于”列表中的一个对象。

index 整数,用来标识一个在控件数组中的控件。

cancel 如设置值中所描述的是一个布尔表达式,指出是否复制数据。

设置值

cancel 的设置为:

设置 描述

True 保持焦点在该控件,不复制数据。

False (缺省) 持续复制操作并使焦点能够改变。

说明

当用户移动到另一行或者执行 Recordset 对象的 Update 方法时,数据将从 DataGrid 控件的复制缓冲区移动到 Data 控件的复制缓冲区,并且写到数据库里。

在数据从 DataGrid 控件的复制缓冲区移到 Data 控件的复制缓冲区之前,触发

BeforeUpdate 事件。除非复制操作被取消,在数据被移回至 Data 控件的复制缓冲区并写到数据库以后, AfterUpdate 事件被触发。更新的记录可通过使用 DataGrid 控件的 Bookmark

属性获取。

如果将 BeforeUpdate 事件的 cancel 参数设置为 True ,焦点会保持在控件上,既不触发

AfterUpdate 事件也不触发 LostFocus 事件,记录也不存入数据库.

BeforeUpdate 事件发生在该控件的 AfterUpdate 和 LostFocus 事件之前,或发生在按 Tab

键次序的下一个控件的 GotFocus 事件之前

即使该控件未被连结该事件也会发生。

与 Change 事件不同的是,使用代码改变控件或记录中的数据时不触发本事件。

在允许用户将变化提交 Data 控件的复制缓冲区之前, 可以用本事件使一个被绑定的控件记录中的数据有效.通过将 cancel 参数设置为 True , 用户不能将焦点移离控件,除非应用程序确定数据能够安全地移回 Data 的复制缓冲区。

Bookmark 属性 (DataGrid)

返回或设置非绑定 DataGrid 控件中 RowBuffer 对象内部指定行的书签。

语法

object。Bookmark (row) [= value]

Bookmark 的属性语法由下列部分组成:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象。

row 指定放置书签的数据行的整数值。该值的范围为 0 到 RowCount—1.

value 表示指定 row 的书签的变体.

说明

使用 Bookmark 属性返回的值来保存对当前行的引用,甚至在另一行变成当前行时,原当前行仍有效.

当您在代码中将 Bookmark 属性设置成有效值时,与该值相联结的行将变成当前行,而网格则调整其显示,使得在必要时得以看到新的当前行。

将将 Bookmark 属性定义成一个变体,以适合用户定义的未绑定模式下的书签。.

在 UnboundReadData 事件中,可能有多个数据行,所以必须给每一行提供一个书签。

UnboundWriteData 事件传送一个书签,用来标识待更新的数据行.

UnboundAddData 事件传送一个书签,用来标识要加入的数据行。

注意 在未绑定模式下将 Bookmark 属性设置成自身,这样将强行通过 UnboundWriteData

事件更新当前行。

BorderStyle 属性 (ActiveX 控件)

返回或设置对象的边框样式.对 Form 对象和 Textbox 控件在运行时是只读的。

语法

Style = [value]

BorderStyle 属性语法有这些组成部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的一个对象。

value 值或常数,用于决定边框样式,“设置值”中有详细说明.

设置值

Form 对象的 BorderStyle 属性设置值如下:

常数 设置值 描述

vbBSNone 0 无(没有边框或与边框相关的元素).

vbFixedSingle 1 固定单边框。可以包含控制菜单框,标题栏 ,“最大化”按钮,和“最小化"按钮。只有使用最大化和最小化按钮才能改变大小.

vbSizable 2 (缺省值)可调整的边框。可以使用设置值1列出的任何可选边框元素重新改变尺寸。

vbFixedDouble 3 固定对话框。可以包含控制菜单框和标题栏,不能包含最大化和最小化按钮,不能改变尺寸。

vbFixedToolWindow 4 固定工具窗口。不能改变尺寸。显示关闭按钮并用缩小的字体显示标题栏。窗体在 Windows 95 的任务条中不显示.

vbSizableToolWindow 5 可变尺寸工具窗口。可变大小。显示关闭按钮并用缩小的字体显示

标题栏。窗体在 Windows 95 的任务条中不显示. MS Flex Grid、Image、Label、OLE 容器、PictureBox、Frame 和 TextBox 控件的 BorderStyle 属性设置值如下:

设置值 描述

0 (Image 和 Label 控件的缺省值)无.

1 (MS Flex Grid、PictureBox、TextBox 和 OLE 容器控件的缺省值)固定单边框。

Line 和 Shape 控件的 BorderStyle 属性设置值如下:

常数 设置值 描述

vbTransparent 0 透明

vbBSSolid 1 (缺省值)实线.边框处于形状边缘的中心.

vbBSDash 2 虚线

vbBSDot 3 点线

vbBSDashDot 4 点划线

vbBSDashDotDot 5 双点划线

vbBSInsideSolid 6 内收实线。边框的外边界就是形状的外边缘。

说明

对于窗体,BorderStyle 属性决定了其主要特征,这些特征从外观上就能确定窗体是通用窗口或对话框。设置值 3(固定对话框)用于标准对话框.设置值 4(固定工具窗口)和 5(可变工具窗口)用于创建工具箱样式的窗口.

设置值为 2(可变尺寸)的 MDI 子窗体,以 Windows 运行环境运行时定义的缺省尺寸,在

MDI 窗体内显示。对于任何其它设置值,窗体按设计时指定的大小显示。

改变 Form 对象的 BorderStyle 属性设置值,可能会改变 MinButton、MaxButton 和

ShowInTaskbar 属性的设置值.当 BorderStyle 设置为 1(固定单边框)或 2(可变尺寸)时,MinButton、MaxButton 和 ShowInTaskbar 属性自动设置为 True。当 BorderStyle 设置为 0(无)、3(固定对话框)、4(固定工具窗口)或 5(可变工具窗口)、MinButton、MaxButton

和 ShowInTaskbar 属性自动设置为 False。

注意 如果带有菜单的窗体设置为 3(固定对话框),该窗体将按设置值 1(固定单边框)显示。

运行时,窗体或者是模式或者是无模式,都可以用 Show 方法指定。

ButtonClick 事件(DataGrid 控件)

在单击当前单元的内置按钮时出现该事件。

语法

Private Sub object_ButtonClick([ index As Integer,] ByVal colindex As Integer)

ButtonClick 事件的语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象。

Index Interger,它标识控件数组中的一个控件。

colindex Interger,它标识其按钮被单击了的列.

说明

当把内置按钮的 Button 属性设置为 True 时,内置按钮对列有效。

一般来说,在想放下一个 Visual Basic 控件(如内置的组合框、被绑定的列表框,甚至另一个 DataGrid 控件)来进行编辑或数据录入时,应启动该列按钮。单击当前单元中的按钮时将会引发 ButtonClick 事件。然后可编写代码,从该单元放下所需控件.

Caption 属性(DataGrid 控件、 Column 对象)

对于 DataGrid 控件,该属性决定网格顶部标题栏中显示的文本。

对于 Column 对象,该属性决定在该列的标头区中显示的文本。

语法

n [= value]

Caption 属性的语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的一个对象。

value 字符串表达式,决定要显示的内容,参见下面的描述.

说明

对于 DataGrid 控件,把 Caption 属性设置为空字符串,可隐藏其标题栏。

对于 Column 对象,把 Caption 属性设置为空字符串,可清除该列头标区中的文本,但不会隐藏标头。如果 DataGrid 把控件的 ColumnHeaders 属性设置为 True,而未把 HeadLines

属性设置为 0,则仅显示列标题。

CaptureImage 方法

返回网格在当前状态下显示的被捕获图象。

语法

object。CaptureImage

object 所在处表示对象表达式,其值是“应用于”列表中的对象.

说明

可用 CaptureImage 方法来获得网格的快照.

下列代码用 CaptureImage 方法将 DataGrid 控件的快照赋值给 PictureBox 控件。

Picture1。Picture = DataGrid1。CaptureImage

注意 CaptureImage 方法获得的是元文件类型的图象。所以应将图象的大小调整到其容器的大小.

CausesValidation 属性

返回或设置一个值,该值确定正在获得焦点的第二个控件上Validate 事件是否将发生。

语法

object。CausesValidation [ = boolean]

CausesValidation 属性的语法包含下面几部分:

部分 描述

object 一个对象表达式,其值为“ 应用于”列表中的一个对象。

boolean 一个布尔表达式,确定获得焦点的控件是否引发Validate事件。

设置值

boolean的设置值如下:

设置值 描述

True (缺省)已获得焦点的控件引发它的 Validate 事件。

False 已获得焦点的控件不引发它的Validate 事件。

说明

当一个控件会失去焦点时,CausesValidation 属性和Validate 事件联合进行限定。

Change 事件

指示一个控件的内容已经改变的。此事件如何和何时发生则随控件的不同而不同:

ComboBox - 改变控件的文本框部分的正文.该事件仅在 Style 属性设置为 0(下拉

Combo)或 1(简单 Combo)和正文被改变或者通过代码改变了 Text 属性的设置时才会发生。

DirListBox - 改变所选择的目录.该事件在双击一个新的目录或通过代码改变 Path 属性的设置时发生。

DriveListBox - 改变所选择的驱动器。该事件当选择一个新的驱动器或通过代码改变

Drive 属性的设置时发生。

HScrollBar 和 VScrollBar(水平和垂直滚动条) - 移动滚动条的滚动框部分。该事件在进行滚动或通过代码改变 Value 属性的设置时发生。

Label - 改变 Label 的内容。该事件在一个 DDE 链接更新数据或通过代码改变 Caption

属性的设置时发生。

PictureBox - 改变 PictureBox 的内容.该事件当一个 DDE 链接更新数据或通过代码改变

Picture 属性的设置时发生。

TextBox - 改变文本框的内容。该事件当一个 DDE 链接更新数据、用户改变正文或通过代码改变 Text 属性的设置时发生。

语法

Private Sub object_Change([index As Integer])

Change 事件语法包括下列部分:

部分 描述

object 一个对象表达式,其值是“应用于”列表中的一个对象。

index 一个整数,用来唯一地标识一个在控件数组中控件.

说明

Change 事件过程可协调在各控件间显示的数据或使它们同步。例如,可用一个滚动条的

Change 事件过程更新一个 TextBox 控件中滚动条的 Value 属性的设置。或者可以利用

Change 事件过程在一个工作区里显示数据和公式,在另一个区域里显示结果。

Change 事件过程在更新系统控件(DirListBox,DriveListBox 和 FileListBox)中的各属性时也是有用的。例如,可更新一个 DirListBox 控件的 Path 属性设置来反映一个

DriveListBox 控件的 Drive 属性设置的改变。

注意 一个 Change 事件过程有时会导致一个层叠事件。这种情况在控件的 Change 事件过

程改变该控件的内容时会发生,例如,通过用代码设置一个决定该控件的值的属性,如对一个 TextBox 控件的 Text 属性之类的设置。为了避免层叠事件:

如果可能,应避免为控件编写能改变该控件内容的 Change 事件过程。如果编写了那样的过程,应确保设置一个标志用来防止在当前变化进行中更进一步的变化。

ClearFields 方法

恢复缺省的网格布局。

语法

ields

object 所在处表示对象表达式,其值是“应用于”列表中的对象.

说明

ClearFields 方法将恢复缺省的网格布局(具有两个空白的列),使后面的 ReBind 操作自动从(可能已改变的)数据源导出新列的绑定。可以调用 HoldFields 方法来取消网格的自动布局行为。

避免创建两个或两个以上其 Change 事件过程互相影响的控件。例如,两个 TextBox 控件在它们的 Change 事件期间互相更新。

避免对 HScrollBar 和 VScrollBar 控件在 Change 事件中使用 MsgBox 函数或语句。

ClearSelCols 方法

撤消对拆分中所有列所作的选择。如果未选择列,则不做任何事情。

语法

elCols

object 所在处表示对象表达式,其值是“应用于”列表中的对象.

说明

如果网格包含多个拆分,则调用其 ClearSelCols 方法与调用当前拆分的 ClearSelCols 方法有相同效果.可由 DataGrid 控件的 Split 属性得到当前拆分的索引。

用 SelStartCol 和 SelEndCol 属性来决定拆分的当前列选定范围。

Click 事件 (ActiveX 控件)

此事件是在一个对象上按下然后释放一个鼠标按钮时发生。它也会发生在一个控件的值改变时。

对一个 Form 对象来说,该事件是在单击一个空白区或一个无效控件时发生。对一个控件来说,这类事件的发生是当:

用鼠标的左键或右键单击一个控件。对 CheckBox, CommandButton, Listbox 或

OptionButton 控件来说,Click 事件仅当单击鼠标左键时发生。

通过按下箭头键或者单击鼠标按钮,对 ComboBox 或 ListBox 控件中的项目进行选择.

当 CommandButton,OptionButton 或 CheckBox 控件具有焦点时,按下 SPACEBAR 键。

当窗体带有其 Default 属性设置为 True 的 CommandButton 控件时,按下 ENTER 键。

当窗体带有一个 Cancel 按钮 - 其 Cancel 属性设置为 True 的 CommandButton 控件时,按下 ESC 键。

对控件按下一个访问键.例如,如果一个 CommandButton 控件的标题是 ”&Go”,则按下

ALT+G 键可触发该事件。

也可在代码中触发 Click 事件,通过:

将一个 CommandButton 控件的 Value 属性设置为 True。

将一个 OptionButton 控件的 Value 属性设置为 True。

改变一个 CheckBox 控件的 Value 属性的设置。

语法

Private Sub Form_Click( )

Private Sub object_Click([index As Integer])

Click 事件的语法包括下列部分:

部分 描述

object 一个对象表达式,其值是“应用于”列表中的一个对象。

index 一个整数,用来唯一地标识一个在控件数组中的控件。

说明

通常,将一个 Click 事件过程附加到一个 CommandButton 控件,Menu 对象或 PictureBox

控件上用来执行命令或类似命令的操作。对其它可应用的控件来说,使用这个事件来触发一个动作以响应控件中的变化。

可用一个控件的 Value 属性从代码中测试该控件的状态.单击一个控件除了产生 Click 事件以外还可产生 MouseDown 和 MouseUp 事件.这三种事件发生的顺序根据控件的不同而不同。例如,对 ListBox 和 CommandButton 控件来说,这些事件按下列顺序发生:MouseDown、Click、MouseUp。但对 FileListBox,Label 或 PictureBox 控件来说,这些事件按下列顺序发生:MouseDown、MouseUp 和 Click.当给这些相关的事件附加事件过程时,要确保它们的操作不互相冲突。如果在应用程序中事件发生的顺序是重要的,则应对控件进行测试以确定事件的顺序。

注意 为区别鼠标的左、中、右按钮,应使用 MouseDown 和 MouseUp 事件。

如果在 Click 事件中有代码,则 DlbClick 事件将永远不会被触发,因为 Click 事件是两个事件中首先被触发的事件.其结果是鼠标单击被 Click 事件截断,从而使 DblClick 事件不会发生。

Col、Row 属性

返回或设置 DataGrid 控件中的活动单元,设计时不可用。

语法

[= number]

[= number]

Col 和 Row 属性语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的一个对象。

numbe 包含活动单元的列或行的数目。

说明

用这些属性来指定 DataGrid控件中的某一单元,或在选定的区域内查找哪一个行或列含有活动单元.行和列从 0 开始计数,行从顶部开始而列从左边开始计数.运行时设置这些属性不会改变所选的单元。用 SelEndCol、SelStartCol、SelEndRow 和 SelStartRow 属性来指定选择区域.

注意 Col 和 Row 属性与 Cols 和 Rows 属性不同。

ColContaining 方法

返回包含指定的 (X) 坐标值的 DataGrid 控件的列的 ColIndex 值。不支持命名的参数。

语法

object。ColContaining coordinate

ColContaining 方法的语法包含下列部分:

部分 描述

object 对象表达式,其值是“应用于"列表中的对象。

coordinate 必需的。简单数值表达式,它定义一个基于容器的坐标系统的水平坐标(X 值)。

说明

ColContaining 方法返回一个与 object 控件指定的列索引之一对应的数。 这个数的范围是从 0到 Columns 集合的 Count 属性减 1(0 到 Columns。Count — 1)。当用鼠标和拖动事件进行工作时,如果要确定在何处单击或在 DataGrid 控件的某列放置另一个控件时,本方法是很有用的。

如果 coordinate 到了容器的坐标系统之外,就发生一个可以捕获的错误。

注意 ColContaining 方法返回的是指定列而不是可视列的 ColIndex。 如果 coordinate 落在第一个可视的列中,但是两个列已滚出控件的左边,ColContaining 方法返回 2

ColEdit 事件

在键入字符,使单元第一次进入编辑模式时出现该事件。

语法

Private Sub object_ColEdit([ index As Integer,] ByVal colindex As Integer)

ColEdit 事件的语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象。

Index Interger,它标识控件数组中的一个控件。

colindex Interger,它标识被编辑过的列.

说明

如果没有使用浮动编辑器字幕,那么,当用户单击当前单元或双击另一单元时也会出现该事件.

只有在未取消 BeforeColEdit 事件时,ColEdit 事件才紧跟在 BeforeColEdit 事件后出现。

当在网格单元中完成编辑时,比如当 Tab 切换到同一行的另外一列时按 ENTER 键,或单击另外一单元,如果数据已被改变,则将执行 BeforeColUpdate 和 AfterColUpdate 事件。随后,

引发 AfterColEdit 事件,表明已完成编辑.

ColResize 事件

当某个用户调整 DataGrid 控件的一个列的大小时该事件发生。

语法

Private Sub object_ColResize ([ index As Integer,] colindex As Integer, cancel As Integer)

ColResize 事件语法包括下列部分:

部分 描述

object 对象表达式 ,其值为“应用于”列表中的一个对象.

index 整数,用来标识一个在控件数组中的控件。

colindex 用来标识列的一个整数。

cancel 如设置值中所描述的,是一个布尔表达式确定是否调整一个列的大小。

设置值

cancel 的设置为:

设置 描述

True 取消所做的改变,将列恢复到原来的宽度.

False (缺省)继续宽度改变。

说明

当用户调整一个列的大小时,触发 ColResize 事件。 事件过程可以接收所做的改变,修改改变程度,或完全取消所做的改变。

如果设置 cancel 变元为 True,列宽被恢复.要修改改变程度,可设置 Column 对象的 Width

属性为想要的值。

在过程中执行 Refresh 方法引起控件重画 (repaint),不管 cancel 变元是否为 True

ColumnHeaders 属性

返回或设置一个值,指示是否在 DataGrid 控件中显示列标头。

语法

Headers [= value]

ColumnHeaders 属性的语法具有这些部分:

部分 描述

object 对象表达式,其值是“应用于"列表中的对象。

value 如“设置值”中所示,确定列标头是否被显示的布尔表达式。

设置值

value 的设置值为:

设置 描述

True 显示 DataGrid 控件的列标头。

False 不显示 DataGrid 控件的列标头.

Columns 属性 (DataGrid)

返回一个 Column 对象的集合。

语法

s

object 所在处代表对象表达式,其值是“应用于”列表中的对象。

说明

Columns 属性返回一个在 Variant 中的 Column 对象的集合.

可以通过改变 Column 对象的属性的方法来操作 DataGrid 控件的大多数属性。用 Col 属性选择一个特定的 Column 对象。

Container 属性

返回或设置 Form 上控件的容器。在设计时不能使用。

语法

Set ner [= container]

Container 属性的语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的一个对象.

container 一个对象表达式其值是能够作为别的控件容器使用的对象,按照说明的描述.

说明

下面的控件能够容纳别的控件:

Frame 控件

PictureBox 控件。

SSTab 控件

CurrentCellModified 属性

设置或返回当前单元的修改状态。在设计时不可用。

语法

tCellModified [= value]

CurrentCellModified 属性的语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象.

value 布尔表达式,该表达式决定当前单元的修改状态,参见“设置值"中的描述。

设置值

value 的设置值为:

设置值 描述

True 正在进行编辑,用户已修改当前单元(由 Bookmark 和 Col 属性所指定)。

False 尚未修改该单元,或未进行编辑。

说明

可用该属性取消用户对当前文本所做的任何改动.例如,对一个功能键编程,可放弃用户所做改动(就象 ESC 键那样),在网格的 KeyDown 事件中捕获键的编码,并把

CurrentCellModified 设置为 False。这会把当前单元改回列原来的内容。

CurrentCellVisible 属性

设置或返回当前单元的可见性.在设计时不可用.

语法

object。CurrentCellVisible [= value]

CurrentCellVisible 属性的语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象.

value 布尔表达式,该表达式决定当前单元的可见性,参见“设置值"中的描述。

设置值

value 的设置值为:

设置值 描述

True (由 Bookmark 和 Col 属性所指示的)当前单元在网格或拆分的显示区中可视。

False 单元是不可视的.

说明

对于 DataGrid 控件,把 CurrentCellVisible 属性设置为 True 将会引起网格滚动,使当前单元出现在视图中。如果网格包含多个拆分,则当前单元在每一个拆分中都是可视的.

对于 Split 对象,把 CurrentCellVisible 属性设置为 True 将使当前单元只在那个拆分中是可视的。

在所有的情况下,把该属性设置为 False 都是毫无意义的,而且都会被忽略.

DataBindings 属性

返回 DataBindings 集合对象,该对象包含了有用的可绑定属性。

语法

ndings

object 所在处代表对象表达式,其值是“应用于”列表中的对象

DataChanged 属性 (DataGrid)

返回或设置一值,指出被绑定的控件中的数据已被某进程改变,而不获取当前记录的数据.在设计时不可用。

语法

object。DataChanged [= value]

DataChanged 属性语法具有以下几部分:

部分 描述

object 对象表达式,其值为应用于列表中的对象。

value 布尔表达式,指出是否可改变数据,如“设置值"中所述。

设置值

value 的设置值为:

设置 描述

True 当前控件中的数据不同于当前记录中的数据。

False (缺省)如果当前控件中的数据存在的话,就与当前记录中的数据相同。

说明

当 data 控件从记录移动到记录时,它将数据从当前记录中的字段移动到被绑定到特定字段或整个记录的控件。当在被绑定的控件中显示数据时,DataChanged 属性被设置成 False.如果用户或任何其它操作改变了被绑定的控件中的值,则 DataChanged 属性被设置成 True.直接移动到其它记录上并不会影响 DataChanged 属性。

当 data 控件开始移动到不同的记录时,则出现有效性事件.如果 DataChanged 对任何被绑定的控件为 True,则 data 控件自动调用 Edit 和 Update 方法通知对数据库的改变。

如果不希望将变化从被绑定的控件保存到数据库,则可在有效性事件中将 DataChanged 属性设置成 False.

在控件的改变事件的代码中检查 DataChanged 属性的值,避免层叠事件。将此应用于被绑定的控件和未被绑定的控件.

数据类型

Boolean

DataFormats属性

设置或返回StdDataFormat对象,一个被绑定对象将附加到它。在设计时或运行时都可读写。

语法

rmats

object所在处表示一个对象表达式,其值是“应用于”列表中的一个对象。

说明

复杂绑定对象可以被绑定到多个StdDataFormat对象上.例如,DataGrid的每一列都有一个绑定。DataFormats属性允许访问绑定到一个控件上的多个StdDataFormat对象.

DataFormats属性也能通过属性窗口的属性页设置。如果代码的设置值与属性页的设置值不一样,那么属性页的设置值将应用于第一个取到的记录,之后,将使用代码中的设置值.

DataMember属性

从数据供应程序提供的几个数据成员中返回或设置一个特定的数据成员。

语法

mber [= string]

部分 描述

object 必需的.一个对象表达式,其值为“应用于”列表中的一个对象.

string 数据成员名。

说明

数据供应程序可以有多组数据供数据使用者选择以绑定到其上。每组数据都称作“数据成

员”,并且用一个唯一的字符串标识。

例如,当使用包含多个Command对象的Data Environment作为一个DataSource时,DataMember将指定使用哪一个Command对象.

当使用一个类模块或一个用户控件作为数据源时,编程GetDataMember事件返回一个合适的数据成员。该事件的DataMember参数包含DataMember属性的值。通过查询该参数,可以决定需要什么数据成员,并且通过Data参数传回合适的数据。

DataSource 属性 (ActiveX 控件)

返回或设置一个数据源,通过该数据源将一个数据使用者绑定到一个数据库。

语法

object。DataSource [=datasource]

DataSource 属性语法有如下部分:

部分描述

object一个对象表达式,其值为“应用于”列表中的一个对象。

datasource一个限定为数据源的对象索引,包括 ADO Recordset 对象,以及类或定义为数据源的用户控件(DataSourceBehavior 属性 = vbDataSource).

说明

使用 Set 语句设置 DataSource 属性,如下所示:

Set Text1。DataSource = ADODC1

注意 两个旧的控件,Data 控件和 RemoteData 控件,可以用做数据源,然而,您不能在运行时将另一个控件或对象的 DataSource 属性设置为这两个控件之一。例如,下列代码将会失败:

Set Text1。DataSource = Data1 ’ 将会失败!您不能在运行时将 DataSource 设置为一个内部 Data 控件。

要将 Data 控件或 RemoteData 控件作为一个数据源使用,您只能在设计时设置绑定控件的

DataSource 属性

DblClick 事件(ActiveX 控件)示例

无论是通过单击 CommandButton 控件还是双击列表项,本范例将显示 TextBox 控件中选定的列表项。要试用此例,将代码粘贴包含 ListBox 控件、TextBox 控件和 CommandButton

控件的 Form 对象的声明部分。然后运行此例并单击 CommandButton 控件或双击在

ListBox 控件中的一项。

Private Sub Form_Load ()

m ”John” ' 添加列表框项.

List1。AddItem ”Paul”

m "George”

List1。AddItem ”Ringo"

End Sub

Private Sub List1_DblClick ()

= True ' 触发 Click 事件.

End Sub

Private Sub Command1_Click ()

Text1。Text = ' 显示选定。

End Sub

DefColWidth 属性

返回或设置一个值,指示 DataGrid 控件中所有列的缺省宽度。

语法

object。DefColWidth [= value]

DefColWidth 属性的语法具有这些部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象。

value 一个基于控件的比例模型的整数。

说明

如果将 DefColWidth 属性设置为 0,则该控件在列标头宽度或基本字段的 Size 属性设置的基础上自动调整所有列的大小。例如,将所有列的缺省列宽度设置为第一列的宽度:

Width = s(0)。Width

Drag 方法

用于除了 Line、Menu、Shape、Timer 或 CommonDialog 控件之外的任何控件的开始、结束或取消拖动操作。不支持命名参数。

语法

object。Drag action

Drag 方法的语法包含下列部分:

部分 描述

object 必需的。是一个对象表达式,其值为“应用于”列表中的一个对象。 如果省略 object,则认为该对象事件过程包含有 Drag 方法。

action 可选的.是一个常数或数值,如“设置值”中所描述的,它指定要执行的动作。如果省略 action,则缺省值为开始拖动对象.

设置值

action 的设置值有:

常数 值 描述

vbCancel 0 取消拖动操作

vbBeginDrag 1 开始拖动 object

vbEndDrag 2 结束拖放 object

说明

上述常数在 Visual Basic (VB) 对象浏览器的对象库里列出。

只有当对象的 DragMode 属性设置为手工(0)时,才需要使用 Drag 方法控制拖放操作。但是,也可以对 DragMode 属性设置为自动(1 或 vbAutomatic)的对象使用 Drag。

如果在拖动对象过程中想改变鼠标指针形状,使用 DragIcon 或 MousePointer 属性.如果没有指定 DragIcon 属性,则只能使用 MousePointer 属性。

Drag 方法一般是同步的,这意味着其后的语句直到拖动操作完成之后才执行。然而,如果该控件的 DragMode 属性设置为 Manual (0 or vbManual),则它可以异步执行.

DragDrop 事件

在一个完整的拖放动作(即将一个控件拖动到一个对象上,并释放鼠标按钮)完成,或使用

Drag 方法,并将其 action 参数被设置为 2 (Drop) 时,该事件发生。

语法

Private Sub Form_DragDrop(source As Control, x As Single, y As Single)

Private Sub MDIForm_DragDrop(source As Control, x As Single, y As Single)

Private Sub object_DragDrop([index As Integer,]source As Control, x As Single, y As Single)

DragDrop 事件语法包含下列部分:

部分 描述

object 一个对象表达式,其值是“应用于"列表中的一个对象.

index 一个整数,用来唯一地标识一个在控件数组中的控件。

source 正在被拖动的控件。可用此参数将属性和方法包括在事件过程中 - 例如,Source。Visible = 0。

x, y 是一个指定当前鼠标指针在目标窗体或控件中水平 (x) 和垂直 (y) 位置的数字。这些坐标值通常用目标坐标系统来表示,该坐标系是通过 ScaleHeight、ScaleWidth、ScaleLeft 和

ScaleTop 属性而设置的。

说明

DragDrop 事件过程用来控制在一个拖动操作完成时将会发生的情况。例如,可将源控件移到一个新的位置或将一个文件从一个位置复制到另一个位置。

当 source 参数中可能使用多个控件时:

应使用 TypeOf 关键字和 If 语句一起确定与 source 表示的控件的类型。

应使用该控件的 Tag 属性来标识一个控件,然后使用 DragDrop 事件过程。

注意 应使用 DragMode 属性和 Drag 方法来指定开始拖动的方法。一旦开始拖动,可使用

DragOver 事件过程来处理位于 DragDrop 事件前面的事件。

DragIcon 属性

返回或设置图标,它将在拖放操作中作为指针显示。

语法

on [= icon]

DragIcon 属性语法包含下面部分:

部分 描述

Object 对象表达式,其值是“应用于”列表中的一个对象。

Icon 任何返回图标的程序引用,例如引用窗体图标 (Form1。Icon),引用另外控件的

DragIcon 属性 (on),或是 LoadPicture 函数.

设置值

icon 的设置值如下:

设置值 描述

(none) (缺省值)矩形框内的箭头指针。

Icon 自定义的鼠标指针。在设计时用属性窗口设置图标。运行时可以用 LoadPicture 函数.所加载的文件必须有 。ico 文件扩展名和格式。

说明

在拖放操作中,用 DragIcon 属性可以提供可见的信息反馈─例如,它可以指定原控件在一个适当的目标之上。DragIcon 属性在用户开始拖放操作时起作用.典型做法是把 DragIcon

设置为 MouseDown 或 DragOver 事件过程的一部分。

注意 运行时,DragIcon 属性可以设置为任何对象的 DragIcon 或 Icon 属性,或者可以用

LoadPicture 函数返回的图标给它赋值。

在运行中,把一个控件的 Picture 属性值赋给另一个控件的 DragIcon 属性时, Picture 属性必须包含一个 .ico 文件,而不是 。bmp 文件。

DragMode 属性

返回或设置一个值,确定在拖放操作中所用的是手动还是自动拖动方式。

语法

de [= number]

DragMode 属性语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的一个对象。

Number 整数,指定拖动方式,“设置值"中有详细描述。

设置值

number 的设置值如下:

常数 设置值 描述

VbManual 0 (缺省值)手动方式- 需要在源控件中用 Drag 方法来启动拖放操作。

VbAutomatic 1 自动方式 - 单击源控件自动启动拖放操作。 只有在 OLE 容器控件没有焦点时,它才能自动地被拖动。

说明

当 DragMode 属性设置为 1(自动方式)时,控件不能正常响应鼠标事件。可以用方式 0(手动方式)来确定拖放操作何时开始或何时结束;用该设置值可以启动一个拖放操作以响应键盘或菜单命令,或允许源控件在拖放操作之前识别 MouseDown 事件。

在拖放操作过程中,当鼠标器指针在一个目标对象或窗体上时,单击鼠标会对目标对象产生

DragDrop 事件。这将终止拖放操作。拖放操作也可能产生 DragOver 事件。

注意 当拖动控件时,该控件不能识别用户发出的其它鼠标或键盘事件(KeyDown、KeyPress

或 KeyUp,MouseDown、MouseMove 或 MouseUp)。但是,控件可以接收程序或 DDE 链接启动的事件。

DragOver 事件

它在拖放操作正在进行时发生.可使用此事件对鼠标指针在一个有效目标上的进入、离开或停顿等进行监控。鼠标指针的位置决定接收此事件的目标对象。

语法

Private Sub Form_DragOver(source As Control, x As Single, y As Single, state As Integer)

Private Sub MDIForm_DragOver(source As Control, x As Single, y As Single, state As Integer)

Private Sub object_DragOver([index As Integer,]source As Control, x As Single, y As Single,

state As Integer)

DragOver 事件语法包括下列部分:

部分 描述

object 一个对象表达式,其值是“应用于”列表中的一个对象.

index 一个整数,用来唯一地标识一个在控件数组中的控件.

source 正在被拖动的控件。可用此参数在事件过程中引用各属性和方法—例如, Source。Visible = False.

x, y 是一个指定当前鼠标指针在目标窗体或控件中水平 (x) 和垂直 (y) 位置的数字。这些坐标值通常用目标坐标系统来表示,该坐标系是通过 ScaleHeight、ScaleWidth、ScaleLeft

和 ScaleTop 属性而设置的.

state 是一个整数,它相应于一个控件的转变状态,该控件在相关目标窗体或控件中正在被拖动:

0 = 进入(源控件正被向一个目标范围内拖动)。

1 = 离去(源控件正被向一个目标范围外拖动)。

2 = 跨越(源控件在目标范围内从一个位置移到了另一位置)。

说明

为了确定在拖动开始后和控件放在目标上之前发生些什么,应使用 DragOver 事件过程。例如,通过加亮目标(由代码设置 BackColor 或 ForeColor 属性)或者显示一个特定的拖动指针(由代码设置 DragIcon 或 MousePointer 属性)可验证有效的目标范围.

为了确定一些关键转变点处的操作,应使用 state 参数。例如,当 state 的设置为 0(进入)时可使一个可能的目标加亮,而当 state 的设置为 1(离去)时可恢复该对象先前的外观。

在 state 的设置为 0(进入)对象接收 DragOver 事件的情况:

如果源控件被放在该对象上,则该对象就接收一个 DragDrop 事件。

如果源控件没有被放在该对象上,则当 state 的设置为 1(离去)时该对象就接收另一个

DragOver 事件。

注意 应使用 DragMode 属性和 Drag 方法指定开始拖动的方式。关于 source 参数的使用技巧,请参阅 DragDrop 事件说明主题部分

EditActive 属性

设置或返回当前单元的编辑状态.在设计时不可用。

语法

tive [= value]

EditActive 属性的语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象。

value 布尔表达式,该表达式决定编辑状态,参见“设置值”中的描述。

设置值

value 的设置值为:

设置值 描述

True 正在编辑当前单元。

False 未进行编辑.

说明

如果网格不在编辑模式下,把 EditActive 设置为 True将开始对当前单元进行编辑。将插入符定位到单元的末尾并触发 ColEdit 事件。

如果网格已在编辑模式下,则把 EditActive 设置为 False,此时将退出编辑模式.如果已对单元进行过修改,则将触发下列事件:BeforeColUpdate、AfterColUpdate 和 AfterColEdit。

注意 为完全取消编辑,可先把 CurrentCellModified 属性设置为 False,再把 EditActive 设置为 False

Enabled 属性

返回或设置一个值,该值用来确定一个窗体或控件是否能够对用户产生的事件作出反应.

语法

d [= boolean]

Enabled 属性的语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的一个对象。如果 object 被省略,则与活动窗体模块相联系的窗体被认为是 object.

boolean 一个用来指定 object 是否能够对用户产生的事件作出反应的布尔表达式.

设置

boolean 的设置为:

设置 描述

True (缺省)允许 object 对事件作出反应。

False 阻止 object 对事件作出反应。

说明

Enabled 属性允许在运行时使窗体和控件成为有效或无效。例如,可以使对象成为不能用于应用程序的当前状态的无效状态。也可以使之纯粹用来显示,比如一个提供只读信息的文本框的控件无效.

通过把 Enabled 设置为 False 来使 Timer 控件成为无效,将取消由控件的 Interval 属性所建立的倒计数.

对于 Menu 控件,Enabled 在运行时可正常地读/写。但是对于那些被 Visual Basic 的加载宏遗弃或提供的菜单项来说,Enabled 是只读的,例如在“外接程序”菜单中的“外接程序管理器”命令。

Error 事件(DataGrid 控件)

该事件由于数据访问错误而出现,而在没有执行 Visual Basic 代码时就会产生这个错误。

语法

Private Sub object_Error([ index As Integer,] ByVal dataerror As Integer, response As Integer)

Error 事件的语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的一个对象。

Index Interger,它标识控件数组中的一个控件。

dataerror Interger,它标识已出现的错误。

response Interger,将其设置为 0,就可不显示错误信息,参见“设置值"中的描述。

设置值

response 的设置值为:

设置值 描述

0 不显示错误消息。

1 (缺省值)显示与错误关联的消息。

说明

即使应用程序在代码中处理了运行时错误,但在未执行代码时,错误也仍将出现,比如在单击 Data 控件按钮时,或在通过与被绑定的控件交互作用,以改变当前记录的时候.如果这样的一个操作导致了数据访问错误,则将引发 Error 事件。

不为该事件添加代码,这等效于将 response 参数设置为 0.

注意 用 ErrorText 属性来检索要显示的错误字符串。

ErrorText 属性

返回来自下一级数据源的错误消息串。在设计时不可用。

语法

ext

ErrorText 属性的语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象。

说明

用户和网格交互作用会产生数据库错误,比如在一个数字型字段中输入文本,随后又试图移动到另一行以更新当前记录,此时将引发该网格的 Error 事件。但是,通过 DataError 参数传给该事件处理程序的错误代码不能标识所出现的特殊错误,甚至会因操作环境而不同。鉴于这些原因,应提供 ErrorText 属性,使应用程序可对实际的错误消息进行语法分析,以决定错误的本质.

注意 仅在 DataGrid 控件的 Error 事件处理程序中,ErrorText 属性才有效。如果试图在其它上下文中访问它,就会出现一个可捕获的错误。

FirstRow 属性

返回或设置一个值,包含 DataGrid 控件或 Split 对象中第一个可见行的书签。在设计时不可用。

语法

ow [= value]

FirstRow 属性的语法具有这些部分:

部分 描述

object 对象表达式,其值是“应用于"列表中的对象。

value 字符串表达式,它包含相应于 DataGrid 控件或 Split 对象中第一个可见行的书签。

说明

对 DataGrid 控件,设置 FirstRow 属性将导致网格滚动,使特定行成为最顶层的行。如果网格包含多个拆分,则最顶层的行在每个拆分中都改变,甚至在拆分具有不同的 ScrollGroup

属性设置值时也如此。

对 Split 对象,FirstRow 属性中的设置使指定的行只对该拆分变成最顶层的行。

Font 属性 (ActiveX 控件)

返回一个 Font 对象。

语法

object。Font

object 所在处代表一个对象表达式,其值是“应用于”列表中的一个对象。

说明

为了标识一个具体的要使用其属性的 Font 对象应使用一个对象的 Font 属性。例如,下面的代码将改变一个 Font 对象的 Bold 属性设置,该Font 对象被 TextBox 对象的 Font 属性所标识:

= True

BackColor、ForeColor 属性 (ActiveX 控件)

BackColor-返回或设置对象的背景颜色.

ForeColor-返回或设置在对象里显示图片和文本的前景颜色。

语法

object。BackColor [= color]

lor [= color]

BackColor 和 ForeColor 属性语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的一个对象。

color 值或常数,确定对象前景或背景的颜色,“设置值”中有详细说明。

设置值

Visual Basic 用 Microsoft Windows 运行环境的红—绿—蓝 (RGB) 颜色方案。color 的设置值如下:

设置值 描述

标准 RGB 颜色 使用调色板或在代码中使用 RGB 或 QBColor 函数指定的颜色。

系统缺省颜色 由对象浏览器中的 Visual Basic (VB) 对象库所列的系统颜色常数指定的颜色。Windows 运行环境替换使用用户在控制面板设置值中的选择。

对所有的窗体和控件,在设计时的缺省设置值如下:

BackColor-设置为由常数 vbWindowBackground 定义的系统缺省颜色。

ForeColor-设置为由常数 vbWindowText 定义的系统缺省颜色。

说明

在 Label 和 Shape,控件中,如果 BackStyle 属性的设置值为 0(透明),则忽略 BackColor

属性.

如果在 Form 对象或 Picturebox 控件中设置 BackColor 属性,则所有的文本和图片,包括指定的图片,都被擦除。设置 ForeColor 属性值不会影响已经绘出的图片或打印输出。在其它的所有控件中,屏幕的颜色会立即改变。

标准 RGB 颜色的有效取值范围是 0 到 16,777,215 (&HFFFFFF)。该范围内数的高字节为

0;较低的 3 个字节,从最低字节到最高字节依次决定红、绿和蓝的量。红、绿和蓝的成分,分别由一个介于 0 与 255 (&HFF) 之间的数来表示。如果最高字节不为 0,Visual Basic 将使用系统颜色,这些颜色由用户的控制面板设置值和由对象浏览器中的 Visual Basic (VB)

对象库所列出的常数来确定.

在 Windows 运行环境中显示文本,文本和背景的颜色必须都是原色。如果所选择的文本或背景颜色没有显示出来,则选择颜色中可能有抖动色-也就是说,最多由三种不同颜色的像素组成的颜色。如果对文本或背景选择了抖动色,则会用最接近的原色来代替.

GetBookmark 方法

对与 DataGrid 控件中当前行相关的的某一行,返回一个包含书签的值。 不支持命名参数.

语法

kmark value

The GetBookmark 方法的语法包含下列部分 :

部分 描述

object 对象表达式,其值是“应用于”列表中的对象.

value 必需的。如“设置值"中所描述的长数值表达式,它确定与当前行的 DataGrid 控件相关的那些行位置,。

设置值

value 的设置值为:

设置值 描述

0 返回当前行的书签- 与 DataGrid1。Bookmark。 相同.

1 返回当前行之后一行的书签。

—1 返回当前行之前一行的书签。

n 返回与基于 ( + n) 的当前行相关的行的书签。

说明

GetBookmark 方法返回的值可能同 RowBookmark 方法有很大差异,因为当前行可能不是可见的.

GotFocus 事件

当对象获得焦点时产生该事件;获得焦点可以通过诸如 TAB 切换,或单击对象之类的用户动作,或在代码中用 SetFocus 方法改变焦点来实现。

语法

Private Sub Form_GotFocus( )

Private Sub object_GotFocus([index As Integer])

GotFocus 事件包含下列部分:

部分 描述

object 一个对象表达式,其值是“应用于”列表中的一个对象。

index 一个整数,用来唯一地标识一个在控件数组中的控件.

说明

通常,GotFocus 事件过程用以指定当控件或窗体首次接收焦点时发生的操作。例如,通过给窗体上每个控件附加一个 GotFocus 事件过程,就可以显示简要说明或状态条信息给外界提供指导。根据获取焦点控件的不同,通过使其有效、禁止或者是显示其它控件的方式,也可以提供出可视的提示.

注意 一个控件仅当其 Enabled 和 Visible 属性都设置为 True 时才能接收焦点。为了移动焦点,在 Visual Basic 中要自定义键盘接口,对于窗体上的控件需设置 Tab 键顺序或指定访问键。

HeadClick 事件

在用户单击一个 DataGrid 控件指定列的标题时发生。

语法

Private Sub object_HeadClick ([ index As Integer,] colindex As Integer)

HeadClick 事件语法包括下列部分:

部分 描述

object 一个对象表达式 ,其值为“应用于”列表中的一个对象。

index 整数,用来标识在控件数组中的控件.

colindex 用来标识列的一个整数.

说明

这个事件可用于按照选定的列对 Recordset 对象进行重新排序。

HeadFont 属性

返回或设置一个值,指示在 DataGrid 控件列标头中使用的字体.

语法

object。Type [= value]

Type 属性的语法具有这些部分:

部分 描述

object 对象表达式,其值是“应用于"列表中的对象。

value 对 Font 对象进行计算的对象表达式。缺省值是将该列的当前字体设置为粗体。

说明

改变 HeadFont 属性可能会改变标头的对象以接纳新字体。

HeadLines 属性

返回或设置一个值,指示显示在 DataGrid 控件标头的列标头中的文本行数。

语法

object。HeadLines [= value]

HeadLines 属性的语法具有这些部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象。

value 一个从 0 到 10 的Single 数据类型缺省值为 1,它导致这样的控件,该控件对标头中的每一列显示基本字段的名称设置 0 将删除该标头。

说明

HeadLines 属性可以用来在 DataGrid 控件的列标头中显示多于一行的文本.

可以通过为每列显式地设置 Caption 属性来覆盖缺省设置 (1)。

Height、Width 属性

返回或设置对象的维数、或 DataGrid 控件 Columns 对象的宽度。对于 Printer 和 Screen

对象,在设计时不可用。

语法

object。Height [= number]

[= number]

Height 和 Width 属性语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的一个对象。

number 数值表达式,指定对象的维数,“设置值”中有详细说明。

设置值

大小如下计算:

Form -窗体的外部高度和宽度,包括边框和标题栏。

Control -从控件边框的中心度量,以使边框宽度不同的控件能够正确对齐。这些属性使用控件容器的度量单位

Printer 对象-为打印设备设置的纸张物理尺寸,在设计时无效.如果在运行时设置该属性,则使用这些属性的值而不用 PaperSize 属性的设置。

Screen 对象-屏幕的高度和宽度;在设计时无效,在运行时为只读。

Picture 对象-以 HiMetric 为单位的图片的高度和宽度。

说明

对于 Form、Printer 和 Screen 对象,这些属性值是以缇来度量的。对于窗体或控件,这些属性值随着用户或ol调整对象大小而改变。所有对象的这些属性的最大值与系统有关。

对不允许设置这些属性的打印机驱动程序,若设置 Height 和 Width 属性,不会发生错误但纸张的大小保持不变。 对只允许某些 缇值的打印机驱动程序,设置 Height 和 Width 属性时,不会发生错误,且该属性被设置为驱动程序所允许的值.例如,可以将 Height 设置成

150 但驱动程序可能会把它设置成 144。

对基于对象全区代作或计算,如改变对象大小或移动对象,要使用 Height、Width、Left 和

Top 属性。对基于对象内部区域的操作或计算,如在一对象内绘制或移动对象,要使用

ScaleLeft、ScaleTop、ScaleHeight 和 ScaleWidth 属性。

注意 DriveListBox 控件或 ComboBox 控件的 Height 属性不能改变,这两控件的 Style 属性设置为 0(下拉组合框)或 2(下拉列表框).

对于 DataGrid 控件的 Columns 对象,Width 按包含 DataGrid的对象的度量单位来指定。Width 的缺省值为 DataGrid 的 DefColWidth 属性值。

对于 Picture 对象,用 ScaleX 和 ScaleY 方法将 HiMetric 单位转换为所需的单位。

HelpContextID 属性

为一个对象返回或设置一个相关联上下文的编号。它被用来为应用程序提供上下文有关的帮助。

语法

ntextID [= number]

HelpContextID 属性的语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的一个对象。如果 object 被删去,则与活动窗体模块相联系的窗体被认为是 object.

number 用来指定与 object 相关联的“帮助"主题上下文编号的数值表达式。

设置

number 的设置为:

设置 描述

0 (缺省)没有上下文编号被指定.

〉 0 用来指定有效上下文编号的一个整数。

说明

对于应用程序中对象上下文有关的帮助,当编译帮助文件时,必须对 object 和相关联的帮助主题赋予相同的上下文编号.

如果已经为应用程序建立了 Microsoft Windows 操作系统环境的帮助文件并设置了应用程序的 HelpFile 属性,那么当用户按 F1 键时,Visual Basic 将自动地调用帮助并查找被当前上下文编号所定义的主题.

当前上下文编号是拥有焦点的对象的 HelpContextID 的值。如果 HelpContextID 被设为 0,那么 Visual Basic 将在对象的容器 HelpContextID 中查找,若仍然为 0,那么将在那个对象的容器中查找,如此继续下去。如果不能找到非 0 的当前上下文号,那么 F1 键被忽略。

对于一个 Menu 控件,HelpContextID 在运行时可正常地读/写. 但是对于那些被 Visual

Basic 的加载宏遗弃或提供的菜单项来说,HelpContextID 是只读的,比如在“外接程序”菜单中的“外接程序管理器”命令。

HoldFields 方法

设置当前列/字段布局作为自定义布局。

语法

object。HoldFields

object所在处表示对象表达式,其值是“应用于"列表中的对象。

说明

HoldFields 方法设置当前列/字段布局作为自定义布局,随后的ReBind操作将用当前布局进行显示。您可以通过调用 ClearFields 方法,使网格继续自动执行。

hWnd 属性 (ActiveX 控件)

返回窗体或控件的句柄。

注意 OLE 容器控件不支持该属性。

语法

object。hWnd

object 所在处代表一个对象表达式 ,其值是“应用于”列表中的一个对象。

说明

Microsoft Windows 运行环境,通过给应用程序中的每个窗体和控件分配一个句柄(或

hWnd)来标识它们.hWnd 属性用于Windows API调用。许多 Windows 运行环境函数需要活动窗口的 hWnd 作为参数。

注意 由于该属性值在程序运行时可以改变,绝对不要将 hWnd 存储在变量中。

hWndEditor 属性

通过 Microsoft Windows 操作环境返回 DataGrid 控件编辑窗口的唯一窗口句柄。在运行时不可用。

语法

itor

hWndEditor 属性的语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象。

说明

有经验的用户可把属性值传递给需要有效窗口句柄的 Windows API 调用。

在尚未进行编辑的时候,该属性返回 0。

注意 由于该属性值在程序运行时会发生变化,所以绝不要把 hWndEditor 的值存储在变量中。也不要使用 hWndEditor 属性来检测是否正在进行编辑。正是为此才提供了 EditActive

属性。

Index 属性(ActiveX 控件)

返回或设置数,它唯一指定集合中的对象。

语法

对象所在处是对象表达式,其值是“应用于”列表中的对象.

说明

按照缺省,Index 属性被设置成在集合中创建对象的次序。集合中的第一个对象的索引总是

(1)。

当集合中的对象重编次序时,比如将 Sorted 属性 设置成 True时,对象的 Index 属性值可以改变希望 Index 属性动态地变化,则通过使用 Key 属性来引用集合中的对象将会更有益..

KeyDown、KeyUp 事件 (ActiveX 控件)

这些事件是当一个对象具有焦点时按下 ( KeyDown ) 或松开 ( KeyUp ) 一个键时发生的。(要解释 ANSI 字符集 中的字符,应使用 KeyPress 事件.)

语法

Private Sub Form_KeyDown(keycode As Integer, shift As Integer)

Private Sub object_KeyDown([index As Integer,]keycode As Integer, shift As Integer)

Private Sub Form_KeyUp(keycode As Integer, shift As Integer)

Private Sub object_KeyUp([index As Integer,]keycode As Integer, shift As Integer)

KeyDown 和 KeyUp 事件包括下列部分:

部分 描述

object 一个对象表达式,其值是“应用于”列表中的一个对象.

index 是一个整数,它用来唯一标识一个在控件数组中的控件.

keycode 是一个键代码,诸如 vbKeyF1 ( F1 键)或 vbKeyHome ( HOME 键).要指定键代码,可使用对象浏览器中的 Visual Basic ( VB ) 对象库中的常数.

shift 是在该事件发生时响应 SHIFT 、CTRL和 ALT 键的状态的一个整数。shift 参数是一个位域,它用最少的位响应 SHIFT 键(位 0 )、CTRLL 键(位 1 )和 ALT 键(位 2 )。这些位分别对应于值 1、2 和 4.可通过对一些、所有或无位的设置来指明有一些、所有或零个键被按下。例如,如果 CTRL 和 ALT 这两个键都被按下,则 shift 的值为 6。

说明

对于这两个事件来说,带焦点的对象都接收所有击键.一个窗体只有在不具有可视的和有效的控件时才可以获得焦点。虽然 KeyDown 和 KeyUp 事件可应用于大多数键,它们最经常地还是应用于:

扩展的字符键如功能键等。

定位键。

键盘修饰键和按键的组合.

区别数字小键盘和常规数字键.

在需要对按下和松开一个键都响应时,可使用 KeyDown 和 KeyUp 事件过程。

下列情况不能引用 KeyDown 和 KeyUp 事件:

窗体有一个 CommandButton 控件,并且 Default 属性设置为 True 时的 ENTER 键。

窗体有一个 CommandButton 控件,并且 Cancel 属性设置为 True 时的 ESC 键.

TAB 键。

KeyDown 和 KeyUp 用两种参数解释每个字符的大写形式和小写形式:keycode —显示物理的键(将 A 和 a 作为同一个键返回)和 shift —显示 shift + key 键的状态而且返回 A

或 a 其中之一.

如果需要测试 shift 参数,可使用该参数中定义各位的 shift 常数。该常数有下列值:

常数 值 描述

vbShiftMask 1 SHIFT 键的位屏蔽。

VbCtrlMask 2 CTRL 键的位屏蔽。

VbAltMask 4 ALT 键的位屏蔽。

该常数用作位屏蔽。它可被用来测试任何键组合.

测试一个条件时,首先将每个结果分配给一个临时整数变量,然后将 shift 与一个位屏蔽进行对比。如下例,可用 And 运算符和 shift 参数一起来测试条件是否大于 0。该条件说明该修正键被按下:

ShiftDown = (Shift And vbShiftMask) > 0

可按此例在一个过程中测试任何条件的组合:

If ShiftDown And CtrlDown Then

注意 如果 KeyPreview 属性被设置为 True,则一个窗体先于该窗体上的控件接收到此事件。可用 KeyPreview 属性来创建全局键盘处理例程.

KeyPress 事件 (ActiveX 控件)

此事件当用户按下和松开一个 ANSI 字符集 中的键时发生。

语法

Private Sub Form_KeyPress(keyascii As Integer)

Private Sub object_KeyPress([index As Integer,]keyascii As Integer)

KeyPress 事件语法包含下列部分:

部分 描述

object 一个对象表达式,其值是“应用于”列表中的一个对象.

index 一个整数,它用来唯一标识一个在控件数组中的控件。

keyascii 是返回一个标准数字 ANSI 键代码的整数。Keyascii 通过引用传递,对它进行改变可给对象发送一个不同的字符。将 keyascii 改变为 0 时可取消击键,这样一来对象便接收不到字符。

说明

具有焦点的对象接收该事件。一个窗体仅在它没有可视和有效的控件或 KeyPreview 属性被设置为 True 时才能接收该事件.一个 KeyPress 事件可以引用任何可打印的键盘字符,一个来自标准字母表的字符或少数几个特殊字符之一的字符与 CTRL 键的组合,以及 ENTER

或 BACKSPACE 键。KeyPress 事件过程在截取 TextBox 或 ComboBox 控件所输入的击键时是非常有用的。它可立即测试击键的有效性或在字符输入时对其进行格式处理。改变

keyascii 参数的值会改变所显示的字符。

可使用下列表达式将 keyascii 参数转变为一个字符:

Chr(KeyAscii)

然后执行字符串操作,并将该字符反译成一个控件可通过该表达式解释的 ANSI 数字:

KeyAscii = Asc(char)

应当使用 KeyDown 和 KeyUP 事件过程来处理任何不被 KeyPress 识别的击键,诸如:功能键、编辑键、定位键以及任何这些键和键盘换档键的组合等.与 KeyDown 和 KeyUp 事件不同的是,KeyPress 不显示键盘的物理状态,而只是传递一个字符.

KeyPress 将每个字符的大、小写形式作为不同的键代码解释,即作为两种不同的字符。而

KeyDown 和 KeyUp 用两种参数解释每个字符的大写形式和小写形式:keycode — 显示物理的键(将 A 和 a 作为同一个键返回)和 shift —指示 shift + key 键的状态而且返回 A

或 a 其中之一。

如果 KeyPreview 属性被设置为 True,窗体将先于该窗体上的控件接收此事件。可用

KeyPreview 属性来创建全局键盘处理例程。

注意 CTRL+@ 的键盘组合的 ANSI 编号是 0。因为 Visual Basic 将一个零值的

keyascii 识别为一个长度为零的字符串 ("”),在应用程序中应避免使用 CTRL+@ 的组合.

Left、Top 属性

Left-返回或设置对象内部的左边与它的容器的左边之间的距离.

Top-返回或设置对象的内顶部和它的容器的顶边之间的距离。

语法

[= value]

[= value]

Left 和 Top 属性语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的一个对象。

value 数值表达式,用于指定距离。

说明

对于窗体,Left 和 Top 属性总以缇为单位来表达;对于控件,它们的度量单位决定于它的容器的坐标系统。这些属性值随着用户或程序中移动该对象而改变。对于公共对话框和 Timer

控件,这些属性在运行时无效。

对任一个属性,都可以指定单精度数值。

用 Left、Top、Height 和 Width 属性来完成基于对象外部维数的操作,如移动或改变尺寸。用 ScaleLeft、ScaleTop、ScaleHeight 和 ScaleWidth 来完成基于对象内部尺寸的操作,如绘出或移动包含在该对象中的对象.与比例相关的属性只适用于 Picturebox 控件和 Form 以及 Printer 对象。

LeftCol 属性

返回或设置一个整数,表示DataGrid 控件最左端的可见列,该属性在设计时是只读的。

语法

l [= value]

LeftCol 属性语法有以下几个部分:

部分 描述

object 对象表达式,其值是“应用于"列表中的对象。

value 数值表达式,指示最左端的可见列。缺省值是 0。

LostFocus 事件

此事件是在一个对象失去焦点时发生,焦点的丢失或者是由于制表键移动或单击另一个对象操作的结果,或者是代码中使用 SetFocus 方法改变焦点的结果。

语法

Private Sub Form_LostFocus( )

Private Sub object_LostFocus([index As Integer])

LostFocus 事件包括下列部分:

部分 描述

object 一个对象表达式,其值是“应用于”列表中的一个对象.

index 一个整数,它用来唯一地标识一个在控件数组中的控件。

说明

LostFocus 事件过程主要是用来对更新进行验证和确认。使用 LostFocus 可以在焦点移离控件时引进确认。这类事件过程的另一种用途与在 GotFocus 事件过程中的应用类似,可以隐藏、显示其它对象或者使它们有效或无效。也可使设置在该对象的 GotFocus 事件过程中的条件取反或对其进行更改。

如果由 Visual Basic 所建立的 。exe 文件要显示一个由也是用 Visual Basic 所建立的 。dll

文件所创建的对话框,则该 。exe 文件的窗体将得到 Deactivate 和 LostFocus 事件。这可能是不希望的,因为对话框将不能获得 Deactivate 事件:

如果该对象是进程外的部件。

如果该对象不是用 Visual Basic 编写成。

在开发环境中当调用一个用 Visual Basic 所建立的 DDL 时.

MarqueeStyle 属性

设置或返回 DataGrid 控件或 Split 对象的字幕 样式。

语法

object。MarqueeStyle [= value]

MarqueeStyle 属性的语法包括以下部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象。

value 一个数字或常数,它指定字幕的样式,参见“设置值”中的描述。

设置值

value 的设置值为:

常数 值 描述

dbgDottedCellBorder 0 用虚线边框将当前行中的当前单元框起来,因而可突出显示当前单元.用 Microsoft Windows 的术语来说,这是一个焦点方框.

dbgSolidCellBorder 1 用实线边框将当前行中的当前单元框起来,因而可突出显示当前单元。实线框比虚线框更为醒目,当网格使用三维分界属性时情况更是如此.

dbgHighlightCell 2 在当前单元中反转颜色,因而可突出显示整个当前单元。这就给当前单元提供了极为醒目的块状突出显示。

dbgHighlightRow 3 在包含当前单元的一整行中将颜色反转,因而可突出显示这一行。在该模式中不能从外观上判定哪个单元是当前单元,而只能判定当前行.当无法对网格或拆分进行编辑时,该设置值常常优先,因为单元位置在此时是无关紧要的。

dbgHighlightRowRaiseCell 4 突出显示整个行.行中的当前单元会“凸出来”,看起来很醒目。在所有的背景色和分界设置的衬托下,该设置看起来不是很清楚.使用三维分界和浅灰色的背景时可获得最佳效果。

dbgNoMarquee 5 不显示字幕.如果当前行是无关紧要的,或者暂时还不想让用户的注意力集中在网格,则该设置极为有用。

dbgFloatingEditor 6 通过一个带闪烁插入符的浮动编辑器(就象 Microsoft Access 中那种样式的编辑器)来突出显示当前单元。这是缺省设置.

说明

如果网格包含多个拆分,那么设置该网格的 MarqueeStyle 属性的效果与单独设置每个拆分的 MarqueeStyle 属性的效果相同。

注意 如果浮动编辑器的字幕设置值有效,而且当前单元包含了单选钮或图形,则将显示一个虚线焦点框。

MouseDown、MouseUp 事件 (ActiveX 控件)

这些事件是当按下 ( MouseDown ) 或者释放 ( MouseUp ) 鼠标按钮时发生。

语法

Private Sub Form_MouseDown(button As Integer, shift As Integer, x As Single, y As Single)

Private Sub MDIForm_MouseDown(button As Integer, shift As Integer, x As Single, y As

Single)

Private Sub object_MouseDown([index As Integer,]button As Integer, shift As Integer, x As

Single, y As Single)

Private Sub Form_MouseUp(button As Integer, shift As Integer, x As Single, y As Single)

Private Sub MDIForm_MouseUp(button As Integer, shift As Integer, x As Single, y As Single)

Private Sub object _MouseUp([index As Integer,]button As Integer, shift As Integer, x As

Single, y As Single)

MouseDown 和 MouseUp 事件各种语法包含下列部分:

部分 描述

object 返回一个对象表达式,其值是“应用于”列表中的一个对象。

index 返回一个整数,用来唯一地标识一个在控件数组中的控件。

button 返回一个整数,用来标识该事件的产生是按下 ( MouseDown ) 或者释放

( MouseUp ) 按钮引起的。button 参数是具有相应于左按钮(位 0),右按钮(位 1),以及中间按钮(位 2)的一个位字段。这些位的值分别等于 1、2、和 4。其中仅有一位被设置,指示出引起该事件的那个按钮。

shift 返回一个整数,在 button 参数指定的按钮被按下或者被释放的情况下,该整数相应于

SHIFT、CTRL、和 ALT 键的状态。某键被按下使得一个二进制位被设置。shift 参数是具有相应于 SHIFT 键(位 0),CTRL 键(位 1),以及 ALT 键(位 2)最少二进制位的一个位字段。这些位的值分别等于 1、2、和 4。shift 参数指示这些键的状态。这些位中可能有一些,全部,或者一个也没有被设置,指示这些键中的一些、全部,或者一个也没有被按下。例如,CTRL 和 ALT 键都被按下,则 shift 的值就是 6.

x, y 返回一个指定鼠标指针当前位置的数.x 和 y 的值所表示的总是通过该对象

ScaleHeight, ScaleWidth, ScaleLeft, 和ScaleTop 属性所建立的坐标系统的方式.

说明

为了在给定的一个鼠标按钮按下或释放时指定将引起的一些操作,应当使用 MouseDown

或者 MouseUp 事件过程.不同于 Click 和 DblClick 事件的是,MouseDown 和 MouseUp

事件能够区分出鼠标的左、右、和中间按钮。也可以为使用 SHIFT、CTRL、 和 ALT 等键盘换挡键编写用于鼠标—键盘组合操作的代码。

下列情况对 Click 和 DblClick 事件都适用:

如果鼠标按钮是当其指针在窗体或控件之上时被按下,则该对象将“捕获”鼠标并接收包括最后 MouseUp 事件在内的全部鼠标事件。这暗示了通过鼠标事件所返回的 x,y 鼠标指针坐标值,可以不总是在接收它们的对象的内部区域之内.

如果鼠标被持续地按下,则第一次按下之后捕获鼠标的对象将接收全部鼠标事件直至所有按钮被释放为止。

如果要测试 button 或 shift 参数,可以使用对象浏览器中的 Visual Basic (VB) 对象库中所列出的常数,用来定义该参数中的各个二进制位:

常数(按钮) 值 描述

vbLeftButton 1 左按钮被按下

vbRightButton 2 右按钮被按下

vbMiddleButton 4 中间按钮被按下

常数(换挡) 值 描述

vbShiftMask 1 SHIFT 键被按下。

vbCtrlMask 2 CTRL 键被按下。

vbAltMask 4 ALT 键被按下。

随后这些常数作为位屏蔽,对于按钮的各种组合,无须计算各个组合的唯一的位字段即可进行测试.

注意 可使用 MouseMove 事件过程对由于鼠标移动而引起的事件进行响应。MouseDown

和 MouseUp 所使用的 button 参数与 MouseMove 所使用的 button 参数是不同的。对于

MouseDown 和 MouseUp 来说,button 参数要精确地指出每个事件的一个按钮,而对于

MouseMove 来说,它指示的是所有按钮的当前状态。

MouseMove 事件 (ActiveX 控件)

此事件在移动鼠标时发生。

语法

Private Sub Form_MouseMove(button As Integer, shift As Integer, x As Single, y As Single)

Private Sub MDIForm_MouseMove(button As Integer, shift As Integer, x As Single, y As

Single)

Private Sub object_MouseMove([index As Integer,] button As Integer, shift As Integer, x As

Single, y As Single)

MouseMove 事件语法包含下列部分:

部分 描述

object 一个对象表达式,其值是“应用于"列表中的一个对象。

index 一个整数,用来唯一地标识一个在控件数组中的控件.

button 一个整数,它对应鼠标各个按钮的状态,如果某个按钮按下,其中就有一个二进制位被设置。button 参数是具有相应于左按钮(位 0),右按钮(位 1),以及中间按钮(位 2)的一个位字段。这些位的值分别等于 1,2,和 4。它指示这些鼠标按钮的整体状态;三个二进制位中的一些、全部、或一个也没有被设置,指示这些按钮中的一些、全部、或一个也没有被按下。

shift 一个整数,该整数相应于 SHIFT、CTRL、和 ALT 键的状态。某键被按下使得一个二进制位被设置。shift 参数是具有相应于 SHIFT 键(位 0),CTRL 键(位 1),以及 ALT 键(位 2)最少二进制位的一个位字段.这些位的值分别等于 1,2,和 4。shift 参数指示这些键的状态.这些位中可能有一些、全部、或者一个也没有被设置,指示这些键中的一些、全部、或者一个也没有被按下.例如,CTRL 和 ALT 键都被按下,则 shift 的值就是 6.

x, y 一个指定鼠标指针当前位置的数。x 和 y 的值所表示的总是通过该对象 ScaleHeight,

ScaleWidth, ScaleLeft,和 ScaleTop 属性所建立的坐标系统的方式。

说明

MouseMove 事件伴随鼠标指针在对象间移动时连续不断地产生.除非有另一个对象捕获了鼠标,否则,当鼠标位置在对象的边界范围内时该对象就能接收 MouseMove 事件.

要测试 button 或 shift 参数,可使用对象浏览器中的 Visual Basic (VB) 对象库中所列出的常数,用来定义该参数中的各个位:

常数(按钮) 值 描述

vbLeftButton 1 左按钮按下。

vbRightButton 2 右按钮按下.

vbMiddleButton 4 中间按钮按下。

常数(换挡) 值 描述

vbShiftMask 1 SHIFT 键按下。

vbCtrlMask 2 CTRL 键按下.

vbAltMask 4 ALT 键按下。

然后这些常数用作位屏蔽,对于按钮的各种组合,无须计算出各个组合的唯一的位字段值即可进行检测。

要测试某一条件,首先将各个结果赋给一个临时整型变量然后再与一个位屏蔽的 button 或

shift 参数进行比较。测试应当用各个参数进行 And 运算,若结果大于零,则说明该键或按钮被按下。其操作如下:

LeftDown = (Button And vbLeftButton) 〉 0

CtrlDown = (Shift And vbCtrlMask) > 0

然后,接下去可对结果的各种组合进行检测,其操作如下:

If LeftDown And CtrlDown Then

注意 为了对鼠标按钮按下和释放所引起的事件进行处理,可使用 MouseDown 和

MouseUp 事件过程。

MouseMove 事件的 button 参数与 MouseDown 和 MouseUp 事件的 button 参数是不同的.对于 MouseMove 事件来说,button 参数指示的是所有按钮当前的状态;一个 MouseMove

事件可指示某些、全部或没有一个按钮被按下。对于 MouseDown 和 MouseUp 事件来说,button 参数在每个事件精确地指示一个按钮。

在 MouseMove 事件中任何时侯移动窗口,都能引起层叠事件。当该窗口移动到指针下面时 MouseMove 事件将产生。即使是鼠标完全不动 MouseMove 事件也能产生。

Move 方法

用以移动 MDIForm、Form 或控件。不支持命名参数。

语法

object。Move left, top, width, height

Move 方法的语法包含下列部分:

部分 描述

object 可选的。一个对象表达式,其值为“应用于”列表中的一个对象。如果省略 object,带有焦点的窗体缺省为 object.

left 必需的。单精度值,指示 object 左边的水平坐标 (x-轴).

top 可选的。单精度值,指示 object 顶边的垂直坐标 (y—轴).

width 可选的。单精度值,指示 object 新的宽度。

height 可选的。单精度值,指示 object 新的高度.

说明

只有 left 参数是必须的.但是,要指定任何其它的参数,必须先指定出现在语法中该参数前面的全部参数。例如,如果不先指定 left 和 top 参数,则无法指定 width 参数。任何没有指定的尾部的参数则保持不变。

对于 Frame 控件中的窗体和控件,坐标系统总是用缇 。移动屏幕上的窗体或移动 Frame

中的控件总是相对于左上角的原点 (0,0)。移动 Form 对象或 PictureBox 中的控件(或

MDIForm 对象中的 MDI 子窗体)时,则使用该容器对象的坐标系统。坐标系统或度量单位是在设计时 用 ScaleMode 属性设置。在运行时 使用 Scale 方法可以更改该坐标系统.

Name 属性

返回在代码中用于标识窗体、控件、或数据访问对象的名字。在运行时是只读的。

返回或设置字体对象的名字.

语法

object。Name

object 所在处代表一个对象表达式,其值是“应用于”列表中的一个对象。如果 object 被删去,则与活动窗体模块相联系的窗体被认为是 object.

说明

新对象的缺省名字由对象类型加上一个唯一的整数组成。例如,第一个新的 Form 对象是

Form1, 一个新的 MDIForm 对象是 MDIForm1,以及在窗体上创建的第三个 TextBox 控件是 Text3。

一个对象的 Name 属性必须以一个字母开始并且最长可达 40 个字符。它可以包括数字和带下划线 (_) 的字符,但不能包括标点符号或空格。窗体不能具有与别的公共对象相同的名字,例如 Clipboard、Screen 或 App。虽然 Name 属性设置可以是一个关键字、属性名字、或别的对象的名字,但这会在你的代码中产生冲突.

能够在运行时与 Dim 语句一起使用一个窗体的 Name 属性,以此创建该窗体的其它实例。在设计时不能有两个窗体有相同的名字.

能够通过设置 Name 属性为相同的值来创建相同类型的控件数组。例如,当将群组中的所

有选项按钮的名字设置为 MyOpt 时,Visual Basic 将为每个控件的 Index 属性分配一个唯一的值以便使数组中的控件相互区分。不同类型的两个控件不能共享相同的名字.

注意 虽然 Visual Basic 经常将 Name 属性设置作为 Caption、LinkTopic 和 Text 属性的缺省值使用,但是这些属性中一个的改变对别的属性并没有影响。

然而,更改窗体或其它模块 Name 属性值的大小写而不更改名称本身,下一次包含该窗体或模块的工程加载时,会造成 “名称冲突”错误消息.例如,将 “Form1” 改为 “form1” 将会引起错误;而将“Form1” 改为 “formX" 则不会。

错误是由模块名在工程文件中存储的方式引起的 – 在工程文件内部更改名称的过程是不分大小写的,而在工程加载中读取名称的过程是区分大小写的。

Object 属性

返回一个对控件的属性或方法的引用,它们具有 Visual Basic 对该控件自动扩展的属性或方法相同的名字。

语法

[。property | 。method]

Object 属性的语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的一个对象。

property 与 Visual Basic 所提供的属性名一致的控件的属性。

Method 与 Visual Basic 所提供的方法名一致的控件的方法.

说明

注意 Object 属性返回这的对象是没有被 Visual Basic 自动为其扩展属性或方法的控件的基础。因此,也可以通过 Object 属性来引用控件的 ”custom” 属性和方法,例如Print

Visual Basic 为控件提供部分或全部 Visual Basic 工程中的属性和方法的标准集。对于控件或 ActiveX 部件(如 Microsoft Excel 或 Microsoft Word)来说,定义与这些标准属性或方法具有相同名字的属性或方法是可能的。当这种情况发生时,Visual Basic 自动地使用它提供的属性或方法来代替在控件中定义的具有相同名字的属性或方法.Object 属性允许跨越

Visual Basic 提供的属性或方法,并使用控件中定义的相同命名的属性或方法.

例如,Tag 属性是一个提供给 Visual Basic 工程中所有控件的属性。如果工程中一个控件具有名字 ctlDemo,那么可使用下面的语法来访问 Tag 属性:

ctlDemo。Tag

Visual Basic 自动使用它提供的 Tag 属性。然而,如果控件定义了它自己的 Tag 属性并且想访问这个属性,那么可以按下面语法使用 Object 属性:

。Tag

Visual Basic 自动地将下面这些属性、方法、和事件部分或全部扩展到 Visual Basic 工程中的控件:

属性

Align Height Object

Binding HelpContextID Parent

Bindings Index TabIndex

Cancel Left TabStop

Container LeftNoRun TagParent

DataChanged LinkItem ToolTipText

DataField LinkMode Top

DataSource LinkTimeout TopNoRun

Default LinkTopic VisibleTabStop

DragIcon Name WhatsThisHelpID

DragMode NegotiateLinkItem Width

方法

Drag LinkSend ShowWhatsThis

LinkExecute Move Zorder

LinkPoke Refresh

LinkRequest SetFocus

事件

GotFocus LinkError LinkOpen

LinkClose LinkNotify LostFocus

如果在使用了控件的属性或方法而没有获得期望的行为,那么检查一下该属性或方法是否与以上列表中的那些属性与方法具有相同的名字.如果名字相匹配,则检查与控件一起提供的文档,看获得的行为与 Visual Basic 提供的属性或方法是否相匹配。如果行为不同,那么可能需要使用 Object 属性来访问想要的控件的特性。

OnAddNew 事件

在用户操作调用 AddNew 操作时出现。

语法

Private Sub object_OnAddNew([ index As Integer])

OnAddNew 事件的语法包含下面部分:

部分 描述

object 对象表达式,其值是“应用于"列表中的对象.

index Interger,它标识控件数组中的一个控件。

说明

当使用下列几种方式启动 AddNew 操作时将出现 OnAddNew 事件:

在 AddNew 行中修改单元。一般来说,键入一个字符就会出现该事件,但也会由于选定一个内置的单选钮或组合框而使这个事件出现。

当 AddNew 行包含当前单元时,在代码中设置一列的 Value 或 Text 属性。

只有当网格的 AllowAddNew 属性为 True 时才会引发该事件。

当 OnAddNew 事件点火时,AddNewMode 属性取值为 2(AddNew 挂起)。

Parent 属性

返回包含控件、或其它对象或者集合的窗体、对象、或集合。

语法

object 所在处代表一个对象表达式,其值是“应用于"列表中的一个对象。

说明

使用 Parent 属性可访问一个对象的父亲的属性、方法、或控件。例如:

。MousePointer = 4

Parent 属性在应用程序中是很有用的,其中可将对象作为参数来传递。例如,可以传递一个控件变量给模块中的一个一般的过程,并使用 Parent 属性访问其父窗体。

在 Parent 属性和 MDIChild 属性之间没有任何联系。尽管如此,但在一个 MDIForm 对象和任何已经将其 MDIChild 属性设为 True 的 Form 对象之间仍有父-子关系。

Rebind 方法

重新生成 DataGrid 控件属性和列。不支持命名的参数。

语法

object。Rebind

说明

Rebind 方法使 DataGrid 控件执行与设置 DataSource 属性时发生的操作相同的操作。DataGrid控件对列标题以及基于当前 Data 控件属性的其它属性进行复位.

如果在设计时未修改网格列,则执行 ReBind 方法将复位列、标头以及其它基于当前数据源的属性。

但是,如果已在设计时以任何方式改变了列(甚至留下 DataField 属性空白),则网格将假定您想要保持已修改了的网格布局并不会自动复位列.

对未绑定的(具有设置为 1 的 DataMode 属性的)网格,该方法与 Refresh 方法相似,只是此处的网格要恢复当前的与最顶层的行。

注意 为强制网格复位列绑定,甚至在设计时修改了列时也如此,请在 ReBind。 之前直接调用 ClearFields 方法。反之,为取消网格自动布局响应并强制网格使用当前的列/字段布局,请在 ReBind 之前直接调用 HoldFields 方法。

RecordSelectors 属性

返回或设置一个值,指示记录选择器是否被显示在 DataGrid 控件或 Split 对象中。

语法

object。RecordSelectors [= value]

RecordSelectors 属性的语法具有这些部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象。

value 如“设置值”中所示,确定记录选择器是否被显示的布尔表达式。

设置值

value 的设置值为:

设置 描述

True 显示记录选择器.

False 不显示记录选择器。

说明

当显示时,记录选择器出现在网格或拆分中各行的左边.

如果网格包含多个拆分,则设置其 RecordSelectors 属性与分别单独设置每个拆分的

RecordSelectors 属性相同。

注意 当用户单击记录选择器选定行时,就把选定行的书签添加到 SelBookmarks 集合中。

Refresh 方法(ActiveX 控件)

强制全部重绘一个窗体或控件。

语法

h

object 所在处代表一个对象表达式,其值是“应用于”列表中的一个对象。

说明

在下列情况下使用 Refresh 方法:

在另一个窗体被加载时显示一个窗体的全部。

更新诸如 FileListBox 控件之类的文件系统列表框的内容。

更新 Data 控件的数据结构。

Refresh 方法不能用于 MDI 窗体,但能用于 MDI 子窗体。不能在 Menu 或 Timer 控件上使用 Refresh 方法。

通常,如果没有事件发生,窗体或控件的绘制是自动处理的。但是,有些情况下希望窗体或控件立即更新。例如,如果使用文件列表框、目录列表框或者驱动器列表框显示当前的目录结构状态,当目录结构发生变化时可以使用 Refresh 更新列表。

可以在 Data 控件上使用 Refresh 方法来打开或重新打开数据库(如果 DatabaseName、

ReadOnly、 Exclusive 或 Connect 属性的设置值发生改变),并能重建控件的 Recordset 属性内的 dynaset.

RightToLeft 属性(DataGrid 控件)

双向特征

DataGrid 控件具有可配置的单元矩阵,该矩阵具有一些相关的行为,这些行为提供了中东用户所熟悉的外观和功能。

当 RightToLeft 属性设置为 True 时:

网格列开始于网格的右边界。

固定的列位于网格的右边。

LeftCol 标识了最右边的可视列(在最左边固定列之外的第一列)。

SelStartCol 和 SelStartRow 一起指定了选定范围右上角的单元,而 SelEndCol 和

SelEndRow 指定了所选范围左下角的单元。

如果 ScrollBars 属性设置为 3,则网格左边出现垂直的滚动条,并且网格下边出现右边带有滚动框的水平滚动条。ScrollBars 属性设置为 1 时仅出现水平滚动条,设置为 2 时仅出现垂直滚动条。

单元值(网格 Text 属性)具有 RTL 读顺序。

通过设置 FixedAlignment 和 ColAlignment 属性为 1—Right-aligned,在每个单元格中数据将自动地进行右对齐。同时,开发人员也可以在运行时通过编程调整 FixedAlignment 和

ColAlignment 属性来独立地配置单元数据对齐.

以 Clip 属性填充的单元将从所选单元的最右上角开始从右到左填充。

当 RightToLeft 属性设置为 False 时,控件的行为同在标准 DataGrid 控件文档中描述的一样。通过设置 FixedAlignment 和 ColAlignment 属性为 0-Left-aligned,在每个单元中,数据将自动地进行左对齐。同时,开发人员也可以在运行时通过编程调整 FixedAlignment 和

ColAlignment 属性来独立地配置单元数据对齐.

开发人员提示

FixedAlignment、ColAlignment 及 Clip 属性只能在运行时设置,在设计时是不可用的。

RowBookmark 方法

对 DataGrid 控件中的可见行,返回一个包含书签的值。不支持命名的参数。

语法

kmark value

RowBookmark 方法的语法包含下列部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象.

value 必需的。一个整数,其值的范围为 0 到 DataGrid 控件的 VisibleRows 属性的设置值减 1。

说明

RowBookmark(0) 返回的书签与 DataGrid 控件的 FirstRow 属性相同。正象 DataGrid 控件的 Bookmark 属性所定义的,如果当前行不是可见的,那么当前行有可能不能通过这一方法返回。

注意 RowBookmark 返回的书签将不被保存,因为它们的值当行在 DataGrid 控件中成为可见时会发生变化。

RowColChange 事件

在当前单元改变为一个不同的单元时该事件发生.

语法

Private Sub object_RowColChange ([index As Integer, lastrow As String, lastcol As Integer])

RowColChange 事件语法包括下列部分:

部分 描述

object 一个对象表达式,其值是“应用于”列表中的一个对象。

index 一个整数,用来唯一地标识一个在控件数组中的控件。

lastrow (用于 DataGrid 控件)是一个字符串表达式,它用来指定前一行的位置.

lastcol (用于 DataGrid 控件)是一个整数,它用来指定前一列的位置。

说明

无论何时,只要单击当前单元以外的任何一个单元,或在一个选择中用 Col 和 Row 属性有计划地改变当前单元时,此事件都会发生。

SelChange 事件也会在单击一个新单元时发生,却不会在不改变当前单元的前提下对所选范围作有计划的改变时发生。

对 DataGrid 控件来说,当前单元的位置是由 Bookmark 和 ColIndex 属性提供的。前一个单元位置由 lastrow 和 lastcol 指定.如果对数据进行编辑然后将当前单元位置移动到一个新行,则对原有行的更新事件在另一个单元成为当前单元之前完成。

RowContaining 方法

返回一个与 DataGrid 控件指定的纵坐标 (Y) 的行号相对应的值。不支持命名的参数.

语法

object。RowContaining coordinate

RowContaining 方法的语法包含下列部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象.

coordinate 必需的。一个单数值表达式,它指定基于容器坐标系统的纵向值(Y 值).

说明

RowContaining 方法返回一个值,它对应于由 object 指定的控件的列索引之一。这个值的范围是从 0 到 VisibleRows 属性的设置值减 —1。当用鼠标和拖事件进行工作时如果要确定用户在何处进行单击或以 DataGrid 控件的一个列的形式放置其它控件时这个方法是很有用的.

如果坐标位于容器的坐标系统之外,就发生一个可以捕获的错误。

RowDividerStyle 属性

返回或设置一个值,指定画在选定的 DataGrid 控件的行之间的边框样式.

语法

iderStyle [= value]

RowDividerStyle 属性的语法具有这些部分:

部分 描述

object 对象表达式,其值是“应用于”列表中的对象。

value 如“设置值"中所示,指定边框样式的整数.

设置值

value 的设置值为:

设置 描述

0 无分界线。

1 黑色线。

2 (缺省)深灰色线。

3 突起的。

4 内陷的。


本文标签: 控件 对象 属性 设置 事件