</head> <body> <h1>ControlMove</h1> <p>移动控件或调整其大小.</p> <pre class="Syntax"><span class="func">ControlMove</span> <span class="optional">X, Y, Width, Height, Control, WinTitle, WinText, ExcludeTitle, ExcludeText</span></pre> <h2 id="Parameters">参数</h2> <dl> <dt>X, Y</dt> <dd> <p>类型: <a href="../Concepts.htm#numbers">整数</a></p> <p>如果任一坐标省略, 那么控件在这个维度(坐标轴) 中的位置将保持不变. 否则, 请指定控件新位置的左上角的 X 和 Y 坐标(单位为像素). 这里的坐标相对于目标窗口的<a href="CoordMode.htm#Client">工作区</a>的左上角; 可以使用 <a href="ControlGetPos.htm">ControlGetPos</a> 来确定它们.</p> </dd> <dt>Width, Height</dt> <dd> <p>类型: <a href="../Concepts.htm#numbers">整数</a></p> <p>如果任一省略, 那么控件在这个维度(坐标轴) 中的尺寸将保持不变. 否则, 请指定控件的新宽度和高度(单位为像素).</p> </dd> <dt>Control</dt> <dd> <p>类型: <a href="../Concepts.htm#strings">字符串</a>, <a href="../Concepts.htm#numbers">整数</a>或<a href="../Concepts.htm#objects">对象</a></p> 控件的 ClassNN, 文本或 HWND, 或具有 <code>Hwnd</code> 属性的对象. 有关详情, 请参阅 <a href="Control.htm#Parameter">Control 参数</a>.</p> </dd> <dt>WinTitle, WinText, ExcludeTitle, ExcludeText</dt> <dd> <p>类型: <a href="../Concepts.htm#strings">字符串</a>, <a href="../Concepts.htm#numbers">整数</a>或<a href="../Concepts.htm#objects">对象</a></p> <p>如果这些都是空白或省略, 将使用<a href="../misc/WinTitle.htm#LastFoundWindow">上次找到的窗口</a>. 否则, 为 <em>WinTitle</em> 指定<a href="../misc/WinTitle.htm">窗口标题或其他条件</a>, 来标识目标窗口, 和/或为 <em>WinText</em> 指定目标窗口的单个文本元素的子字符串(由包含的 Window Spy 实用程序显示).</p> <p><em>ExcludeTitle</em> 和 <em>ExcludeText</em> 可用于根据标题或文本排除一个或多个窗口. 它们的规范类似于 <em>WinTitle</em> 和 <em>WinText</em>, 除了 <em>ExcludeTitle</em> 不识别除窗口标题之外的任何条件.</p> <p>窗口标题和文本是区分大小写的. 默认情况下, 不检测隐藏窗口, 而检测隐藏文本元素, 除非使用 <a href="DetectHiddenWindows.htm">DetectHiddenWindows</a> 和 <a href="DetectHiddenText.htm">DetectHiddenText</a> 进行更改; 但是, 当使用<a href="../misc/WinTitle.htm#ahk_id">纯 HWND</a> 时, 无论 DetectHiddenWindows 怎样设置, 都会检测隐藏窗口. 默认情况下, 窗口标题的任意位置包含 <em>WinTitle</em> 或 <em>ExcludeTitle</em> 就能形成匹配, 除非使用 <a href="SetTitleMatchMode.htm">SetTitleMatchMode</a> 进行了更改.</p> </dd> </dl> <h2 id="Error_Handling">错误处理</h2> <p>如果找不到窗口或控件, 则抛出 <a href="Error.htm#TargetError">TargetError</a>.</p> <p>如果控件的当前位置无法确定, 则抛出 <a href="Error.htm#OSError">OSError</a>.</p> <h2 id="Remarks">备注</h2> <p>为了提高可靠性, 每次使用此函数后都会自动执行延迟. 该延迟可以通过 <a href="SetControlDelay.htm">SetControlDelay</a> 或者给 <a href="../Variables.htm#ControlDelay">A_ControlDelay</a> 赋值来更改. 有关详情, 请参阅 <a href="SetControlDelay.htm#Remarks">SetControlDelay 备注</a>.</p> <h2 id="Related">相关</h2> <p><a href="ControlGetPos.htm">ControlGetPos</a>, <a href="WinMove.htm">WinMove</a>, <a href="SetControlDelay.htm">SetControlDelay</a>, <a href="Control.htm">控件函数</a></p> <h2 id="Examples">示例</h2> <div class="ex" id="ExControlMoveTimer"> <p><a class="ex_number" href="#ExControlMoveTimer"></a> 演示如何在脚本等待用户输入时操作输入框的 OK 按钮.</p> <pre>SetTimer ControlMoveTimer IB := InputBox(, "My Input Box") ControlMoveTimer() { if !WinExist("My Input Box") return <em>; 否则上面设置为 "上次找到的" 窗口:</em> SetTimer, 0 WinActivate ControlMove 10,, 200,, "OK" <em>; 将 OK 按钮移动到左边并增加其宽度.</em> }</pre> </div> </body> </html>