amouseobj( ) 函数

请参阅

创建一个数组,其中包含有关鼠标指针位置以及鼠标指针下对象的信息。

语法

AMOUSEOBJ(ArrayName [, 1])

返回值类型

数值型

参数

ArrayName

指定数组的名称,该数组中包含有关鼠标指针的信息。如果所指定的数组不存在,Visual FoxPro 会自动创建该数组。如果该数组存在,但是大小不足以容纳所有的信息,则 Visual FoxPro 自动增加该数组的大小。如果该数组比所需的要大,则 Visual FoxPro 会截短该数组。

所创建的数组包含四行。下表说明了数组每行的内容:

数组行 说明
1 包含一个对象引用,当执行 AMOUSEOBJ()函数时,鼠标指针位于该对象上。
2 包含一个对象容器的对象引用,当执行 AMOUSEOBJ()函数时,鼠标指针位于该对象上。
3 包含鼠标指针相对于对象容器的水平坐标 (X),单位为像素,当执行 AMOUSEOBJ()函数时,鼠标指针位于该对象上。
4 包含鼠标指针相对于对象容器的垂直坐标 (Y),单位为像素,当执行 AMOUSEOBJ()函数时,鼠标指针位于该对象上。

注意 如果鼠标位于一个普通容器上,例如页框上,数组的第一行和第二行可以包含相同的值。

[, 1]

这个可选的参数指定数组中包含的鼠标指针信息是相对于当前表单的(THISFORM)。如果包含了这个选项,数组的第二行总是包含对当前表单的一个对象引用,而第三第四行包含鼠标指针相对于当前表单的坐标。

说明

MOUSEOBJ()也可以用来在设计时刻确定鼠标指针的位置。下表列出了数组在设计时刻的元素,以及数组每行包含的值:

设计时刻的元素 数组内容
表单和类设计器 第一行——对控件的对象引用。第二行——对表单的对象引用。第三行——相对于表单的鼠标指针水平坐标 (X)。第四行——相对于表单的鼠标指针垂直坐标 (Y)。
项目管理器 第一行——对项目的对象引用。第二行——对象引用 to 项目.第三行——零。第四行——零。
Visual FoxPro 桌面 第一行——对桌面的对象引用。第二行——对桌面的对象引用。第三行——相对于桌面的鼠标指针水平坐标 (X)。第四行——相对于桌面的鼠标指针垂直坐标 (X)。

如果鼠标指针位于上述区域,则 AMOUSEOBJ()返回 4(数组的行数)。如果鼠标指针位于其他区域,AMOUSEOBJ()返回零,并且如果所指定的数组存在,则该数组不变。如果所指定的数组不存在,则不创建它。