GuiControl
実行制御 | 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 | サブコマンド省略時とほぼ同じ動作だが、CheckboxやRadioに 0 -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 オプションを追加できる。スタイルや拡張スタイルの大部分はこの方法で後から変更することはできない。(なお、変更に失敗しても、ErrorLevelは 0 になる)
|
Remarks[編集]
スクリプトは最大で10のウィンドウを持つことが出来る。
デフォルト以外のウィンドウを操作するには、サブコマンドの前に 2:
のようにウィンドウ番号とコロンを追加する。
基本的にデフォルトのウィンドウ番号は 1
だが、2番目以降のウィンドウ上のGUI操作の結果実行されたスレッドでは、そのウィンドウの番号がデフォルトになる。また、Gui, 2:Default
等とすれば該当スレッド内では指定のGUI番号がデフォルトになる。
GuiControl, 2:Show, MyButton GuiControl, 2:, MyListBox, Item1|Item2
Related[編集]
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".