ControlMove

移动控件或调整其大小.

ControlMove X, Y, Width, Height, Control, WinTitle, WinText, ExcludeTitle, ExcludeText

参数

X, Y

类型: 整数

Control 新位置的左上角的 X 和 Y 坐标(单位为像素). 如果其中一个坐标为空, 那么 Control 在这个维度(坐标轴) 中的位置将保持不变. 这里的坐标相对于目标窗口的工作区的左上角; 可以使用 ControlGetPos 来确定它们.

Width, Height

类型: 整数

Control 的新宽度和高度(单位为像素). 如果其中一个参数为空或省略, 那么 Control 在这个维度(宽或高) 的大小将保持不变.

Control

类型: 字符串, 整数对象

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

WinTitle

类型: 字符串, 整数对象

识别目标窗口的窗口标题或其他条件. 请参阅 WinTitle.

WinText

类型: 字符串

如果存在, 此参数必须是目标窗口的单个文本元素的子字符串(和内置的 Window Spy 工具显示的一样). 如果 DetectHiddenText 为 ON, 那么会检测隐藏文本元素.

ExcludeTitle

类型: 字符串

标题中含有此参数值的窗口将被排除.

ExcludeText

类型: 字符串

文本中含有此参数值的窗口将被排除.

错误处理

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

如果控件的当前位置无法确定, 则抛出 OSError.

备注

为了提高可靠性, 每次使用此函数后都会自动执行延迟. 该延迟可以通过 SetControlDelay 来更改.

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

ControlGetPos, WinMove, SetControlDelay, Control 函数

示例

演示如何在脚本等待用户输入时操作输入框的 OK 按钮.

SetTimer ControlMoveTimer
IB := InputBox(, "My Input Box")

ControlMoveTimer()
{
    if !WinExist("My Input Box")
        return
    ; 否则上面设置为 "上次找到的" 窗口:
    SetTimer, 0
    WinActivate
    ControlMove 10,, 200,, "OK"  ; 将 OK 按钮移动到左边并增加其宽度.
}
unixetc