ControlFocus

ウィンドウ上の指定されたコントロールに入力フォーカスを設定します。

ControlFocus Control , WinTitle, WinText, ExcludeTitle, ExcludeText

パラメータ

Control

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

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

WinTitle、WinText、ExcludeTitle、ExcludeText

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

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

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

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

エラー処理

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

備考

効果的に使用するためには、一般的にコントロールのウィンドウは最小化または非表示になっていない必要があります。

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

ユーザー入力(Tabキーなど)に応じてコントロールがフォーカスされると、ダイアログマネージャーは、フォーカスを持つコントロールとは独立した追加効果を適用します。これらの効果はControlFocusでは適用されないため、以下の制限が適用されます。

WM_NEXTDLGCTLメッセージは、コントロールをフォーカスし、これらの追加効果を適用するために使用することができます。事例:

WinExist("A") ; Last Found Windowをアクティブウィンドウに設定します。
hWndControl := ControlGetHwnd("Button1")  ; Get HWND of first Button
SendMessage 0x0028, hWndControl, True  ; 0x0028 is WM_NEXTDLGCTL

SetControlDelay, ControlGetFocus, Control functions

入力フォーカスをOKボタンに設定します。

ControlFocus "OK", "Some Window Title"