Gui,Add

GUIウィンドウにコントロールを追加する

Gui, Add, ControlType [, Options, Text]

Parameters

引数名説明
ControlType 追加するコントロールの種類。
現在のところ、以下のものがある。
詳しくはそれぞれの項を参照。
Options 各種の設定を半角スペースで区切って指定する。
すべてのコントロール種別に共通のものについては後述。
固有のものについては、それぞれのコントロールの項を参照。
Text コントロールに表示されるキャプションなどを指定する。
ControlTypeによっては、特殊な指定が必要なものもある。
詳しくはそれぞれのコントロールの項を参照。

Options

配置関係

Xn
nにコントロールの水平位置をウィンドウのクライアント領域の左上からの相対座標で指定。(例:X100)
省略時は自動的に決定される。
Yn
nにコントロールの垂直位置をウィンドウのクライアント領域の左上からの相対座標で指定。
省略時は自動的に決定される。
x+n
コントロールの水平位置を、直前に追加したコントロールの右端からの距離で指定する。nには負の値も指定可能(例:x+-10)
y+n
コントロールの垂直位置を、直前に追加したコントロールの下端からの距離で指定する。nには負の値も指定可能(例:y+-10)
xp+n
コントロールの水平位置を、直前に追加したコントロールの左端からの距離で指定する。
GroupBoxの内側にコントロールを配置したいときに使う。
yp+n
コントロールの垂直位置を、直前に追加したコントロールの上端からの距離で指定する。
GroupBoxの内側にコントロールを配置したいときに使う。
xm[+n|-n|]
コントロールの水平位置を、左端に設定する。「x0」と違い、マージン(Remarks参照)は考慮される。
「xm+100」や「xm-10」のように数値を指定すると、マージンを考慮した左端からさらに指定ピクセルだけずらして配置される。
ym[+n|-n|]
コントロールの垂直位置を、上端に設定する。「y0」と違い、マージン(Remarks参照)は考慮される。
「ym+100」や「ym-10」のように数値を指定すると、マージンを考慮した上端からさらに指定ピクセルだけずらして配置される。
Section
そのコントロールの位置をその後使用されるxs,ysオプションのための基準位置に設定する。
一番最初に配置されるコントロールは、自動的に基準位置に設定される。
xs[+n|-n|]
コントロールの水平位置を、Sectionで設定したコントロールと同じ位置に設定する。
「xm+100」や「xm-10」のように数値を指定すると、指定ピクセルだけずらした位置に設定される。
ys[+n|-n|]
コントロールの垂直位置を、Sectionで設定したコントロールと同じ位置に設定する。
「ym+100」や「ym-10」のように数値を指定すると、指定ピクセルだけずらした位置に設定される。
Wn
nにコントロールの横幅をピクセル数で指定する。
省略時は、一部のコントロールはText引数の内容が収まるように自動設定され、それ以外の場合はフォントサイズの15倍に設定される。
Hn
nにコントロールの高さをピクセル数で指定する。
HオプションとRのいずれも指定されなかった場合、高さは自動的に決定される。
DropDownList、ComboBoxでは、展開されたドロップダウンの高さの指定となる。(指定しないと、スクリーンの高さいっぱいに展開される)
wp[+n|-n]
直前に配置したコントロールの幅からの相対値で幅を指定する。
「wp」なら前のコントロールと同じ幅、「wp+10」なら10ピクセル広く、「wp-10」なら10ピクセル狭くなる。
hp[+n|-n]
直前に配置したコントロールの高さからの相対値で高さを指定する。
Rn
コントロールの高さをテキストの行数で指定。
nに行数を指定する。小数での指定も可能。
Hオプションとともに使用した場合、Rオプションのほうが優先される。
GroupBoxでは、縦方向に並べることの出来るコントロールの数になる。
DropDownList、ComboBoxでは、展開されたドロップダウンに一度に表示される項目数が変更される。

実行制御関係

Vn
コントロールの入力内容を取得する変数名を設定。
nに変数名を指定する。(例:「vName」)
グローバル変数や関数内のスタティック変数、ByRef引数で渡されたグローバル変数が指定できる。
入力内容を変数に反映させるには、「GUI, Submit」を実行する必要がある。
ユーザーが値を入力するタイプのコントロール以外でも、変数を割り当てておくことで「GuiControl」や「GuiControlGet」コマンドで、割り当てた変数名を使ってコントロールを指定することができる。
Gn
そのコントロールがクリックや選択の変更などの操作をされたときに実行されるサブルーチンを設定する。
nにサブルーチンラベルを指定する。
たとえば、「gClicked」と指定すれば「Clicked」というサブルーチンが実行されるようになる。
「gCancel」という指定は特殊で、「Cancel」というラベルが存在しない場合、「GUI, Cancel」の動作が代わりに実行されるようになる。
実行されるサブルーチン内では、組み込み変数A_GuiControlEventでダブルクリックなど特殊な操作をされたことを知ることができる。(Text、Pictrue、Radio、ListBoxなど)
HwndN
Nで指定した名前の変数に作成されたコントロールのウィンドウハンドルを格納する。(例:「HwndHandle」)
Gui,Add時のみ有効。

スタイル関係

Redraw
表示内容に変化があったときに再描画を行う。
デフォルトでONになっている。
リストビューなどで大量の項目を追加・削除・変更する前にGuiControl,-Redraw,ControlIDで再描画を停止し、終了後に+Redrawで再開させることでパフォーマンスを改善できる。
Cn
文字色を指定。nに色名やRRGGBB形式のカラーコードとともに指定する。(例1:cRed,例2:cFFCC99)
BackGround
Gui,Colorで設定したコントロールの背景色を適用する(デフォルト)
「-BackGround」と指定することで、設定を無視してシステムのデフォルト配色を使用する。
Disabled
コントロールを操作できないようにする
Disabled0/Disabled1とすることで、操作可能/不可能にすることも可能。
Hidden
コントロールを最初から非表示にする。
Control, Show」で表示させられる。
Hidden0/Hidden1とすることで、表示/非表示にすることも可能。
Left
Buttonのテキストを左揃えにする
Right
テキストを右揃えにする
CheckBoxやRadioButtonでは、チェックボックスの部分も右側になる。
Center
テキストを中央揃えにする
-TabStop
Tabキーによるフォーカスの移動で移動対象にしない
-Wrap
テキストが横幅に収まらない場合に、自動的に折り返しを行わないようにする。
(一部の環境では、CheckBoxとRadioBoxの横幅の自動算出がおかしく、横幅を指定しないと1文字だけ足りなくなって2行に折り返されてしまうので、このオプションで折り返しを無くすといい)
VScroll/-VScroll
縦スクロールバーを表示する(一部の種類のコントロールでのみ有効)
HScroll/-HScroll
横スクロールバーを表示する(一部の種類のコントロールでのみ有効)
ListBoxでは、スクロールできる幅が強制的にウィンドウの幅の3倍に固定される。
「HScroll200」のように後に数値を指定すると、スクロールできる幅を指定できる。
Border
コントロールの周りに枠を表示する。
Theme/-Theme
コントロールごとにWindowsXPのテーマを適用するかどうかを設定する。
[+/-]0xNNNNNNNN
コントロールのスタイルを8桁の16進数値で指定する。
詳しくはスタイル一覧を参照。
符号が省略された場合は、「+」とみなされる。
[+/-]E0xNNNNNNNN
コントロールの拡張スタイルを8桁の16進数値で指定する。
詳しくはスタイル一覧を参照。
符号が省略された場合は、「+」とみなされる。

Remarks

ウィンドウに最初にコントロールを追加するときに、自動的にウィンドウが作成される。

X/Yオプションで座標を指定しなかった場合、コントロールの位置は自動的に決定される。
最初に追加されるコントロールは、ウィンドウの左上に配置され、2つ目以降のコントロールは、直前のコントロールの下側にほかのコントロールと重ならないように配置される。
X/Yのうち片方だけ指定した場合、もうひとつの座標だけが自動的に決定される。

コントロールのサイズも、コントロールの種類やテキストの内容などによって自動的に決定される。

自動レイアウト時には、ほかのコントロールから一定の間隔をあけて配置される。
上下の間隔は選択されているフォントの高さの1.25倍、左右の間隔は0.75倍になる。
Gui,Show」でウィンドウが最初に表示されるときにも、幅や高さが指定されない限り、このマージンを考慮してサイズが決定される。

Related

GUI