GuiControl

提供: AutoHotkey Wiki
移動: 案内検索

実行制御 | GUI表示 | 演算・変数 | メモリ・DLL操作 | 文字列操作 | キーボード | マウス | シェル | ウィンドウ | ウィンドウグループ
ステータスバー | コントロール | サウンド | ファイル | INIファイル | レジストリ | 環境変数 | AutoHotkey | その他 | 設定関係 | オブジェクト

GuiControl[編集]

Guiコマンドで作成したウィンドウに配置されたコントロールに対し各種操作を行う。

GuiControl, SubCommand, ControlID [, Param3]

Parameters[編集]

引数名 説明
SubCommand 実行する操作を指定。
省略時はコントロールの内容がParam3で指定したものに変更される。
詳しくは後述。
ControlID 対象となるコントロールを指定する。
コントロール作成時に vオプションで変数を割り当てている場合、その変数名で指定できる。
それ以外の場合、コントロールのClassNNかコントロールに含まれるテキストを指定する。
Pictureコントロールの画像ファイル名も指定できる。

AHKL [v1.1.04+]: ControlID can be the HWND of a control. As with any other value for ControlID, the Gui must also be specified if the control is not on the default Gui.

Param3 各SubCommandの説明を参照。特に説明がなければ、省略する。

ErrorLevel[編集]

何か問題があれば 1、正常に終了すれば 0

AHKL [v1.1.04+] このコマンドは失敗した場合に例外をスローすることができる。詳細は実行時エラーを参照。

SubCommand省略時[編集]

Param3にGui,Add時にText引数で設定する部分の内容を指定することで、値を再設定できる。
下記のコントロールについては、特記事項あり。

Hotkey Param3に空文字列かホットキーを指定する。
ホットキーは ^!C ^Home ^NumpadHomeのようなホットキーラベルと同じ形式で指定する。修飾キーはCtrl(^)、Alt(!)、Shift(+)のみ使用可能。
Picture Param3に新しく読み込む画像ファイル名を指定する。
ファイル名の前に半角スペースで区切って以下のオプションを指定できる。
例:GuiControl,, MyPic, *icon2 *w100 *h-1 C:\My Application.exe
*wN N にコントロールの幅を指定。 *w0で画像の実際の幅。未指定の場合は現在のコントロールの幅。 *w-1で縦横比を維持するように *hNでの指定に合わせる。
*hN N にコントロールの高さを指定。 *h0で画像の実際の高さ。未指定の場合は現在のコントロールの高さ。 *h-1で縦横比を維持するように *wNでの指定に合わせる。
*IconN N にアイコン番号を指定。実行ファイルなどのプログラムファイル中のアイコンを読み込むときに使用。
Checkbox Param3にチェックの状態を指定する。
0ならチェックなし、 1ならチェックあり、 -1なら半チェック。
それ以外の場合、テキストを変更する。 0 -1 1という文字列をテキストに設定したい場合、 Textサブコマンドを使用する。
Radio Param3にチェックの状態を指定する。
0ならチェックなし、 1ならチェックあり。
それ以外の場合、テキストを変更する。
チェックがなしからありになる場合、同じグループのほかのRadioのチェックは自動的に外れる。
DateTime Param3にYYYYMMDDHH24MISSの書式で表示日時を設定する。
コントロールのオプションに 2をつけてチェックボックスをつけている場合、空文字列を指定することでチェックをはずし、選択なしを表す状態にできる。
MonthCal Param3にYYYYMMDDHH24MISSの書式で表示日時を設定する。
コントロールのオプションに Multiをつけて複数選択状態にしている場合、 20050101-20050202のような範囲で指定する。
UpDown
Slider
Progress
新しい値/位置を指定する。
+に続き値を指定すると、現在の位置からの相対位置で指定できる。減らす場合も +-10のように負の値に+をつけて指定する。
設定された範囲外の数値になる場合は、範囲内で最寄の値になる。
DropDownList
ComboBox
ListBox
リストに追加するテキスト項目を |で区切って列挙。
リストの項目をすべて設定しなおす場合、最初の項目の前に |を入れる。(例: |aaa|bbb|ccc)
項目の後ろに ||があると、その項目が選択された状態になる。(例: xxx||yyy|zzz、 xxx|yyy|zzz||)
Tab タブの名前や数によらず、1番目のタブシートに配置されていたコントロールは1番目のタブシートに、N番目のタブシートに配置されていたコントロールはN番目のタブシートに配置されたままになる。
変更によってタブシートの数が減る場合、一番後ろのタブシートが消えることになるが、後にタブの数が増えればタブシートの内容もろとも復活する。
ListView リストビューの操作はリストビュー操作用の組み込み関数を使用する。

SubCommand[編集]

Text サブコマンド省略時とほぼ同じ動作だが、CheckboxRadio0 -1 1を指定した場合でも、テキストとして設定される。
また、DateTimeコントロールでは、Param3で表示フォーマットを再設定できる。(Param3を省略すると、短い日付文字列フォーマットになる)
ComboBoxでは、入力欄の内容を変更できる。
Move コントロールを移動/サイズ変更する。
Param3には Xn (n にX座標を指定) Yn (n にY座標を指定) Wn (n に幅を指定) Hn (n に高さを指定)の内、変更したいものをスペース区切りで列挙する。(例: x10 y20 w200 h100)
座標は、ウィンドウのタイトルバーやメニューバーを含まないクライアント領域上での座標。
MoveDraw Moveとほぼ同じだが、ウィンドウを再描画させる。
表示内容が確実に更新されるが、表示がちらつく場合がある。
Focus コントロールに入力フォーカスをあわせる。
Enable
Enable1
Disable0
無効化されているコントロールを有効化する。
Disable
Disable1
Enable0
コントロールを無効化する。
Show
Show1
Hide0
非表示になっているコントロールを表示する。
Hide
Hide1
Show0
コントロールを非表示にする。
Choose Param3番目の項目を選択する(Tab/Tab2/DropDownList/ComboBox/ListBox用)。
このコマンドで選択を変更した場合、通常は gオプションで割り当てられたサブルーチンは実行されないが、 GuiControl,,Choose,|3のようにParam3の数字の前に |をつけると、サブルーチンが実行される。
また、 ||をつけると、A_GuiControlEvent変数がDoubleClickになっている状態でサブルーチンが実行される。
ChooseString Param3で指定した文字列に前方一致する項目を選択する(Tab/Tab2/DropDownList/ComboBox/ListBox用)。
大文字小文字は区別されない。
このコマンドで選択を変更した場合、通常は gオプションで割り当てられたサブルーチンは実行されないが、 GuiControl,,Choose,|3のようにParam3の数字の前に |をつけると、サブルーチンが実行される。
また、 ||をつけると、A_GuiControlEvent変数がDoubleClickになっている状態でサブルーチンが実行される。
Font フォントを現在Gui,Fontでウィンドウに設定されているフォントに変更する。 Gui,Font参照。
+Redraw/-Redraw リストビューなどで大量の項目を追加・削除・変更する前にGuiControl,-Redraw,ControlIDで再描画を停止し、終了後に+Redrawで再開させることでパフォーマンスを改善できる。
+/-Option Gui,Add時に指定できるものと同じオプションを追加・解除する。
複数をスペースで区切って列挙することもできる。
例えば、 GuiControl, -g +AltSubmit, MyListBoxとすると、 Gオプションによるイベントサブルーチン割り当てを解除し、 AltSubmitオプションを追加できる。
スタイルや拡張スタイルの大部分はこの方法で後から変更することはできない。(なお、変更に失敗しても、ErrorLevel0になる)

Remarks[編集]

スクリプトは最大で10のウィンドウを持つことが出来る。
デフォルト以外のウィンドウを操作するには、サブコマンドの前に 2:のようにウィンドウ番号とコロンを追加する。

基本的にデフォルトのウィンドウ番号は 1だが、2番目以降のウィンドウ上のGUI操作の結果実行されたスレッドでは、そのウィンドウの番号がデフォルトになる。また、Gui, 2:Default等とすれば該当スレッド内では指定のGUI番号がデフォルトになる。

GuiControl, 2:Show, MyButton
GuiControl, 2:, MyListBox, Item1|Item2

Related[編集]

GUI, GuiControlGet, Control

Example(s)[編集]

GuiControl,, MyListBox, |Red|Green|Blue	; Replace the current list with a new list.
GuiControl,, MyEdit, New text line 1.`nNew text line 2.
GuiControl,, MyRadio2, 1		; Turn on this radio button and turn off all the others in its group.
GuiControl, Move, OK, x100 y200	; Move the OK button to a new location.
GuiControl, Focus, LastName		; Set keyboard focus to the control whose variable or text is "LastName".