ControlGetPos

获取控件的位置和大小.

ControlGetPos &OutX, &OutY, &OutWidth, &OutHeight, Control, WinTitle, WinText, ExcludeTitle, ExcludeText

参数

&OutX, &OutY

类型: VarRef

用于存储 Control 左上角的 X 和 Y 坐标(英寸) 的输出变量的引用. 这些坐标相对于目标窗口的客户端区域, 因此与 ControlMove 使用的坐标相同.

如果任一参数未设置或省略, 则不会存储相应的值.

&OutWidth, &OutHeight

类型: VarRef

用于存储 Control 的宽度和高度(单位为英寸) 的输出变量的引用. 如果任一参数未设置或省略, 则不会存储相应的值.

Control

类型: 字符串, 整数对象

控件的 ClassNN, 文本或 HWND, 或具有 Hwnd 属性的对象. 有关详情, 请参阅 Control 参数.

WinTitle, WinText, ExcludeTitle, ExcludeText

类型: 字符串, 整数对象

如果这些都未设置或省略, 将使用上次找到的窗口. 否则, 为 WinTitle 指定窗口标题或其他条件, 来标识目标窗口, 和/或为 WinText 指定目标窗口的单个文本元素的子字符串(由包含的 Window Spy 实用程序显示). 如果 DetectHiddenText 已经打开, 则检测隐藏文本元素. 标题或文本包含 ExcludeTitleExcludeText 的窗口将不被考虑.

错误处理

如果找不到窗口或控件, 则抛出 TargetError.

备注

与更改控件的函数不同, ControlGetPos 没有自动延迟(不受 SetControlDelay 影响).

窗口标题和文本是区分大小写的. 除非 DetectHiddenWindows 被打开, 否则不会检测隐藏窗口.

ControlMove, WinGetPos, 控件函数

示例

持续地更新和显示当前鼠标光标下的控件的名称和位置.

Loop
{
    Sleep 100
    MouseGetPos ,, &WhichWindow, &WhichControl
    try ControlGetPos &x, &y, &w, &h, WhichControl, WhichWindow
    ToolTip WhichControl "`nX" X "`tY" Y "`nW" W "`t" H
}
unixetc