ControlMove

コントロールを移動またはサイズ変更します。

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

パラメータ

X, Y

型:整数

どちらかを省略すると、その次元ではコントロールの位置は変更されません。そうでないときは、コントロールの新しい位置の左上隅のX座標とY座標をピクセル単位で指定します。座標はターゲットウィンドウのクライアント領域の左上隅からの相対座標で、ControlGetPosで決定できます。

Width, Height

型:整数

どちらかを省略すると、その次元ではコントロールのサイズは変更されません。そうでないときは、コントロールの新しい幅と高さをピクセル単位で指定します。

Control

型:文字列整数またはオブジェクト

コントロールのClassNN、テキスト、HWND、またはHwndプロパティを持つオブジェクトを指します。詳しくはControlパラメータをご覧ください。

WinTitle, WinText, ExcludeTitle, ExcludeText

型:文字列整数またはオブジェクト

もしこれらの項目が未設定または省略されたときは、最後に見つかったウィンドウが使用されます。そうでないときは、WinTitleウィンドウタイトルまたはターゲットウィンドウを識別するための他の基準、および/またはWinTextにターゲットウィンドウの単一のテキスト要素からの部分文字列(付属のWindow Spyユーティリティを使えばわかります)を指定します。

ExcludeTitleExcludeTextはウィンドウのタイトルまたはテキストで除外するために使用します。指定の仕方はWinTitleWinTextに似ていますが、ExcludeTitleはウィンドウのタイトル以外の基準(ウィンドウクラスやHWNDなど)を認識しません。

ウィンドウのタイトルとテキストは大文字と小文字を区別します。DetectHiddenWindows関数 と DetectHiddenText関数で変更しない限り、初期設定では非表示ウィンドウは検出されず、非表示テキストは検出されます。SetTitleMatchMode関数で変更しない限り、初期設定ではウィンドウのタイトルはその中のどこかにWinTitleまたはExcludeTitleを含んでいれば一致します。

エラー処理

ウィンドウまたはコントロールが見つからないときは、TargetErrorがスローされます。

コントロールの現在位置を特定できなかった場合、OSErrorがスローされます。

備考

信頼性向上のため、この関数を実行するたびに自動的に遅延が発生します。この遅延は、SetControlDelayまたはA_ControlDelayに値を割り当てることで変更可能です。詳しくは、SetControlDelayの備考をご覧ください。

ControlGetPosWinMoveSetControlDelayControl関数

スクリプトがユーザーの入力を待っている間に、入力ボックスのOKボタンを操作する方法を説明します。

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

ControlMoveTimer()
{
    if !WinExist("My Input Box")
        return
    ; それ以外の場合は、上記が「ラストファウンドウィンドウ」を設定してくれる:
    SetTimer , 0
    WinActivate
    ControlMove 10,, 200,, "OK"  ; OKボタンを左側に移動し、幅を広げる。
}