ウィンドウとコントロールのスタイル

このページでは、Gui.OptメソッドとGuiControl.Optメソッド、および組み込み関数のWinSetStyleWinSetExStyleWinGetStyleWinGetExStyleControlSetStyleControlSetExStyleControlGetStyleControlGetExStyleで、設定または取得できるスタイルと拡張スタイルの一覧を示します。

目次

一般的なスタイル

デフォルトでは、GUIウィンドウはWS_POPUPWS_CAPTIONWS_SYSMENUWS_MINIMIZEBOXを使用します。GUIウィンドウでは、WS_CLIPSIBLINGSは常に有効であり、無効にすることはできない。

Style Hex 説明
WS_BORDER 0x800000 +/-Border. 細い線の境界線を持つウィンドウを作成します。
WS_POPUP 0x80000000 ポップアップウィンドウを作成します。このスタイルはWS_CHILDスタイルとは併用できません。
WS_CAPTION 0xC00000 +/-Caption. タイトルバーを持つウィンドウを作成します。このスタイルはWS_BORDERWS_DLGFRAMEを数値で組み合わせたものです。
WS_CLIPSIBLINGS 0x4000000 つまり、特定の子ウィンドウが WM_PAINT メッセージを受信すると、WS_CLIPSIBLINGS スタイルは、更新される子ウィンドウの領域から、重なっている他のすべての子ウィンドウをクリップします。WS_CLIPSIBLINGSが指定されず、子ウィンドウが重なっている場合、子ウィンドウのクライアント領域内に描画すると、隣接する子ウィンドウのクライアント領域内に描画される可能性がある。
WS_DISABLED 0x8000000 +/-Disabled. 初期状態では無効になっているウィンドウを作成する。
WS_DLGFRAME 0x400000 ダイアログボックスで一般的に使用されるスタイルの境界線を持つウィンドウを作成する。
WS_GROUP 0x20000 +/-Group. このコントロールがコントロールグループの最初のコントロールであることを示す。このスタイルは、ラジオボタンの「一度に1つだけ」の動作を管理するために自動的に適用されます。ラジオボタンの2つのグループが連続して追加される(その間に他のコントロールタイプがない)まれなケースでは、このスタイルを2番目のラジオグループの最初のコントロールに手動で適用して、最初のコントロールから分離することができる。
WS_HSCROLL 0x100000 水平スクロールバーを持つウィンドウを作成します。
WS_MAXIMIZE 0x1000000 初期状態で最大化されたウィンドウを作成します。
WS_MAXIMIZEBOX 0x10000 +/-MaximizeBox. 最大化ボタンを持つウィンドウを作成します。Cannot be combined with the WS_EX_CONTEXTHELP style. WS_SYSMENUスタイルも指定しなければならない。
WS_MINIMIZE 0x20000000 初期状態では最小化されているウィンドウを作成します。
WS_MINIMIZEBOX 0x20000 +/-MinimizeBox. 最小化ボタンを持つウィンドウを作成します。Cannot be combined with the WS_EX_CONTEXTHELP style. WS_SYSMENUスタイルも指定しなければならない。
WS_OVERLAPPED 0x0 オーバーラップしたウィンドウを作成する。オーバーラップしたウィンドウにはタイトルバーとボーダーがある。WS_TILEDスタイルと同じ。
WS_OVERLAPPEDWINDOW 0xCF0000 WS_OVERLAPPEDWS_CAPTIONWS_SYSMENUWS_THICKFRAMEWS_MINIMIZEBOXWS_MAXIMIZEBOXスタイルのオーバーラップ ウィンドウを作成します。WS_TILEDWINDOWスタイルと同じ。
WS_POPUPWINDOW 0x80880000 WS_BORDER,WS_POPUP,WS_SYSMENUスタイルのポップアップウィンドウを作成します。ウィンドウメニューを表示するには、WS_CAPTIONWS_POPUPWINDOWのスタイルを組み合わせる必要があります。
WS_SIZEBOX 0x40000 +/-Resize. サイズの枠線を持つウィンドウを作成します。WS_THICKFRAMEスタイルと同じ。
WS_SYSMENU 0x80000 +/-SysMenu. タイトルバーにウィンドウメニューを持つウィンドウを作成します。WS_CAPTIONスタイルも指定しなければならない。
WS_TABSTOP 0x10000 +/-Tabstop. ユーザーがTabを押したときにキーボードフォーカスを受け取るコントロールを指定します。Tabキーを押すと、次の WS_TABSTOP スタイルのコントロールにフォーカスが移ります。
WS_THICKFRAME 0x40000 サイズの枠線を持つウィンドウを作成します。WS_SIZEBOXスタイルと同じ。
WS_VSCROLL 0x200000 垂直スクロールバーを持つウィンドウを作成します。
WS_VISIBLE 0x10000000 初期状態で表示されているウィンドウを作成する。
WS_CHILD 0x40000000 子ウィンドウを作成します。このスタイルのウィンドウはメニューバーを持つことができない。このスタイルはWS_POPUPスタイルとは併用できません。

テキストコントロールのスタイル

これらのスタイルはテキスト・コントロールに影響する。デフォルトスタイルも強制スタイルもない。

Style Hex 説明
SS_BLACKFRAME 0x7 ウィンドウの枠と同じ色で描かれた枠を持つボックスを指定する。この色はデフォルトの配色では黒である。
SS_BLACKRECT 0x4 現在のウィンドウ枠の色で塗りつぶされた矩形を指定する。この色はデフォルトの配色では黒である。
SS_CENTER 0x1 +/-Center. 単純な矩形を指定し、テキストを矩形の中央に配置する。コントロールは、行末からはみ出した単語を自動的に次の中央の行の先頭に折り返す。
SS_CENTERIMAGE 0x200

If the control contains a single line of text, the text is centered vertically within the available height of the control.

SS_ETCHEDFRAME 0x12 EDGE_ETCHED エッジスタイルを使用して静的コントロールのフレームを描画します。
SS_ETCHEDHORZ 0x10 EDGE_ETCHEDエッジスタイルを使用して、静的コントロールの上端と下端を描画します。
SS_ETCHEDVERT 0x11 EDGE_ETCHEDエッジスタイルを使用して、静的コントロールの左右のエッジを描画します。
SS_GRAYFRAME 0x8 画面の背景(デスクトップ)と同じ色で描かれた枠のあるボックスを指定します。この色はデフォルトの配色ではグレーである。
SS_GRAYRECT 0x5 現在の画面の背景色で塗りつぶされた矩形を指定する。この色はデフォルトの配色ではグレーである。
SS_LEFT 0x0 +/-Left. これはデフォルトです。これは単純な矩形を指定し、矩形内のテキストを左揃えにする。テキストは表示される前に整形される。行末からはみ出した単語は、自動的に次の左揃えの行頭に折り返される。コントロールの幅より長い単語は切り捨てられる。
SS_LEFTNOWORDWRAP 0xC +/-Wrap. 矩形を指定し、矩形内のテキストを左揃えにする。タブは展開されるが、単語は折り返されない。行末からはみ出したテキストは切り取られる。
SS_NOPREFIX 0x80 コントロールのテキストに含まれるアンパサンド(&)文字を、アクセラレータのプレフィックス文字として解釈しないようにする。これは、ファイル名やアンパサンド(&)を含む文字列をテキストコントロール内に表示しなければならない場合に便利である。
SS_NOTIFY 0x100 ユーザーがコントロールをクリックすると、親ウィンドウにSTN_CLICKED通知を送信します。
SS_RIGHT 0x2 +/-Right. 矩形を指定し、指定したテキストを矩形内で右揃えにする。
SS_SUNKEN 0x1000 静的コントロールの周囲に半分沈んだボーダーを描く。
SS_WHITEFRAME 0x9 ウィンドウの背景と同じ色で描かれた枠のあるボックスを指定します。この色はデフォルトの配色では白である。
SS_WHITERECT 0x6 現在のウィンドウの背景色で塗りつぶされた矩形を指定する。この色はデフォルトの配色では白である。

コントロールスタイルの編集

これらのスタイルはEditコントロールに影響する。デフォルトでは、WS_TABSTOPとWS_EX_CLIENTEDGE(拡張スタイルE0x200)を使用します。強制的なスタイルはない。

編集コントロールが、その開始コンテンツが複数行を含むか、その高さが1行より高いか、その行数が明示的に1より大きく指定されているために複数行として自動検出された場合、デフォルトで以下のスタイルが適用されます:WS_VSCROLL, ES_WANTRETURN, and ES_AUTOVSCROLL.

編集コントロールが1行として自動検出された場合、デフォルトでES_AUTOHSCROLLが設定されます。

Style Hex 説明
ES_AUTOHSCROLL 0x80 複数行の編集には+/-Wrap、1行の編集には+/-Limit。行末に文字を入力すると、自動的にテキストを右に10文字スクロールする。ユーザーがEnterを押すと、コントロールはすべてのテキストをゼロ位置にスクロールして戻す。
ES_AUTOVSCROLL 0x40 最後の行でEnterキーを押すと、テキストを1ページ分上にスクロールする。
ES_CENTER 0x1 +/-Center. 複数行編集コントロール内のテキストを中央揃えする。
ES_LOWERCASE 0x10 +/-Lowercase. エディットコントロールに入力されたすべての文字を小文字に変換する。
ES_NOHIDESEL 0x100 エディットコントロールのデフォルトの動作を無効にする。デフォルトの動作は、コントロールが入力フォーカスを失うと選択範囲を非表示にし、コントロールが入力フォーカスを受け取ると選択範囲を反転させます。ES_NOHIDESELを指定すると、コントロールにフォーカスがなくても選択テキストが反転表示されます。
ES_NUMBER 0x2000 +/-Number. ユーザーがコントロール内に数字以外のものを入力できないようにする。
ES_OEMCONVERT 0x400 このスタイルは、ファイル名を含むエディットコントロールに最も有効である。
ES_MULTILINE 0x4 +/-Multi. 複数行編集コントロールを指定する。デフォルトは1行のエディットコントロールです。
ES_PASSWORD 0x20 +/-Password. エディットコントロールに入力された各文字の代わりにマスキング文字を表示し、テキストを隠す。
ES_READONLY 0x800 +/-ReadOnly. ユーザーがエディットコントロールでテキストを入力または編集できないようにする。
ES_RIGHT 0x2 +/-Right. 複数行編集コントロールのテキストを右揃えにする。
ES_UPPERCASE 0x8 +/-Uppercase. エディットコントロールに入力された文字をすべて大文字に変換する。
ES_WANTRETURN 0x1000 +/-WantReturn. ダイアログボックスの複数行編集コントロールにテキストを入力中にEnterを押したときに、キャリッジリターンを挿入するように指定する。このスタイルを指定しない場合、Enterを押すとダイアログボックスのデフォルトのプッシュボタンを押したのと同じ効果が得られます。このスタイルは単一行のエディットコントロールには効果がありません。

アップダウン・コントロール・スタイル

これらのスタイルはUpDownコントロールに影響する。デフォルトでは、UDS_ARROWKEYSUDS_ALIGNRIGHTUDS_SETBUDDYINTUDS_AUTOBUDDYを使用します。強制的なスタイルはない。

Style Hex 説明
UDS_WRAP 0x1 "Wrap" と命名されたオプション。ユーザーが最小値または最大値を超えようとしたときに、コントロールがその範囲のもう一方の端に回り込むようにする。ラップなしでは、コントロールは最小または最大に達すると停止する。
UDS_SETBUDDYINT 0x2 位置が変更されたときに、UpDownコントロールが(WM_SETTEXTメッセージを使用して)バディコントロールのテキストを設定する。ただし、バディがリストボックスの場合は、リストボックスの現在の選択範囲が変更されます。
UDS_ALIGNRIGHT 0x4 オプション名「Right」(デフォルト)。UpDownをバディコントロールの右側に配置する。
UDS_ALIGNLEFT 0x8 オプション名は "Left"。UpDownをバディコントロールの左側に配置する。
UDS_AUTOBUDDY 0x10 UpDownコントロールのバディコントロールとして、Zオーダーで前のコントロールを自動的に選択する。
UDS_ARROWKEYS 0x20 キーボードのまたはを押して、UpDownコントロールの位置を増減できる。
UDS_HORZ 0x40 オプション名「Horz」。コントロールの矢印を上下ではなく左右に向ける。
UDS_NOTHOUSANDS 0x80 バディ・コントロールの小数点以下3桁の間に桁区切り記号を挿入しない。
UDS_HOTTRACK 0x100 コントロールを "hot tracking" 動作にする。つまり、マウスがボタンの上を通過すると、コントロールのボタンがハイライトされる。デスクトップテーマがこのフラグを上書きした場合、このフラグは無視される。

ピクチャーコントロールスタイル

これらのスタイルはピクチャーコントロールに影響を与える。デフォルトのスタイルはない。スタイル SS_ICON (アイコンとカーソル用) または SS_BITMAP (その他の画像タイプ用) は常に有効で、無効にすることはできません。

Style Hex 説明
SS_REALSIZECONTROL 0x40 コントロールのサイズに合わせてビットマップを調整する。
SS_CENTERIMAGE 0x200

コントロール内のビットマップを中央に配置する。ビットマップが大きすぎると、クリップされる。

Button, CheckBox, Radio, and GroupBox Control Styles

これらのスタイルはButtonCheckBoxRadioGroupBoxコントロールに影響する。

デフォルトでは、GroupBox以外のコントロールは、BS_MULTILINEスタイル(明示的に幅や高さが設定されていない場合、またテキストにCR/LF文字が含まれていない場合)とWS_TABSTOPスタイルを使用します(ただし、各ラジオ・グループの先頭以外のラジオ・コントロールにはWS_TABSTOPスタイルがありません)。

以下のスタイルは常に有効で、無効にすることはできません:

Style Hex 説明
BS_AUTO3STATE 0x6 ユーザーが選択すると状態が変化することを除いて、3状態のチェックボックスと同じボタンを作成します。状態はチェック済み、不確定、クリアの順に循環する。
BS_AUTOCHECKBOX 0x3 チェックボックスと同じボタンを作成します。ただし、ユーザーがチェックボックスを選択するたびに、チェックの状態がチェック済みとクリア済みで自動的に切り替わります。
BS_AUTORADIOBUTTON 0x9 ラジオボタンと同じボタンを作成します。ただし、ユーザーが選択すると、システムは自動的にボタンのチェック状態をcheckedに設定し、同じグループ内の他のすべてのボタンのチェック状態を自動的にclearに設定します。
BS_LEFT 0x100 +/-Left. テキストを左揃えにする。
BS_PUSHBUTTON 0x0 ユーザーがボタンを選択すると、オーナー・ウィンドウにWM_COMMANDメッセージをポストするプッシュ・ボタンを作成します。
BS_PUSHLIKE 0x1000 チェックボックスやラジオボタンを押しボタンのように見せる。ボタンが押されたりチェックされたりしないときは盛り上がって見え、押されたりチェックされたりすると沈んで見える。
BS_RIGHT 0x200 +/-Right. テキストを右揃えにする。
BS_RIGHTBUTTON 0x20 +Right(すなわち、+RightはBS_RIGHTBS_RIGHTBUTTONの両方を含むが、-RightはBS_RIGHTのみを削除し、BS_RIGHTBUTTONは削除しない)。チェックボックスの四角やラジオボタンの丸を、コントロールの使用可能幅の左側ではなく右側に配置する。
BS_BOTTOM 0x800 コントロールの使用可能な高さの下端にテキストを配置する。
BS_CENTER 0x300 +/-Center. コントロールの使用可能な幅内で、テキストを水平方向にセンタリングする。
BS_DEFPUSHBUTTON 0x1 +/-Default. 黒い太い縁取りのある押しボタンを作成します。ボタンがダイアログボックス内にある場合、ボタンに入力フォーカスがなくても、ユーザーはEnterキーを押すことでボタンを選択することができます。このスタイルは、ユーザーが最も可能性の高い選択肢を素早く選択できるようにするのに便利です。
BS_MULTILINE 0x2000 +/-Wrap. テキストが長すぎてコントロールの使用可能な幅の1行に収まらない場合、テキストを複数行に折り返す。また、改行(`n)で改行することもできる。
BS_NOTIFY 0x4000 BN_KILLFOCUSとBN_SETFOCUS通知コードを親ウィンドウに送信するボタンを有効にします。ボタンは、このスタイルを持っているかどうかに関係なく、BN_CLICKED通知コードを送信することに注意してください。BN_DBLCLK通知コードを得るために、ボタンはBS_RADIOBUTTONかBS_OWNERDRAWスタイルでなければなりません。
BS_TOP 0x400 コントロールの使用可能な高さの上端にテキストを配置する。
BS_VCENTER 0xC00 コントロールの使用可能な高さでテキストを垂直方向にセンタリングする。
BS_FLAT 0x8000 ボタンが2次元であることを指定します。デフォルトのシェーディングを使用して3次元効果を作成することはありません。
BS_GROUPBOX 0x7 他のコントロールをグループ化できる矩形を作成する。このスタイルに関連付けられたテキストは、矩形の左上隅に表示されます。

ドロップダウンリストとコンボボックスコントロールのスタイル

これらのスタイルはDropDownListComboBoxコントロールに影響する。

デフォルトでは、これらのコントロールはWS_TABSTOPを使用します。また、DropDownList コントロールはWS_VSCROLLを使用し、ComboBox コントロールはWS_VSCROLLCBS_AUTOHSCROLLを使用します。

以下のスタイルは常に有効で、無効にすることはできません:

Style Hex 説明
CBS_AUTOHSCROLL 0x40 +/-Limit. ユーザーが行末の文字を入力すると、エディットコントロールのテキストを自動的に右にスクロールする。このスタイルが設定されていない場合、矩形の境界内に収まるテキストのみが有効になる。
CBS_DISABLENOSCROLL 0x800 ドロップダウンリストにスクロールするのに十分な項目がない場合、無効な垂直スクロールバーを表示します。このスタイルがないと、ドロップダウンリストに十分な項目がない場合にスクロールバーが非表示になります。
CBS_DROPDOWN 0x2 CBS_SIMPLEと似ているが、ユーザーがエディットコントロールの隣にあるアイコンを選択しない限り、リストボックスは表示されない。
CBS_DROPDOWNLIST 0x3 CBS_DROPDOWNと似ていますが、エディットコントロールがリストボックスの現在の選択項目を表示する静的なテキストアイテムに置き換えられる点が異なります。
CBS_LOWERCASE 0x4000 +/-Lowercase. コンボボックスのエディットコントロールに入力された大文字を小文字に変換する。
CBS_NOINTEGRALHEIGHT 0x400 コンボボックスのサイズを、アプリケーションがコンボボックスの作成時に指定したサイズにすることを指定します。通常、Windows CEでは、コンボボックスのサイズは、部分的な項目を表示しないように設定されています。
CBS_OEMCONVERT 0x80 コンボボックス・エディットコントロールに入力されたテキストをWindows CE文字セットからOEM文字セットに変換し、再びWindows CE文字セットに戻す。このスタイルは、ファイル名を含むコンボボックスに最も有効です。CBS_DROPDOWNスタイルで作成されたコンボボックスにのみ適用されます。
CBS_SIMPLE 0x1 +/-Simple (ComboBox only). ドロップダウンリストを常に表示する。リストの現在の選択範囲がエディットコントロールに表示される。
CBS_SORT 0x100 +/-Sort. ドロップリストの項目をアルファベット順に並べ替えます。
CBS_UPPERCASE 0x2000 +/-Uppercase. コンボボックスのエディットコントロールに入力された小文字を大文字に変換します。

リストボックス・コントロールのスタイル

これらのスタイルはリストボックス・コントロールに影響する。デフォルトでは、WS_TABSTOPLBS_USETABSTOPSWS_VSCROLL、WS_EX_CLIENTEDGE(拡張スタイルE0x200)を使用します。LBS_NOTIFYスタイル(ダブルクリックの検出をサポート)は常に有効で、無効にすることはできません。

Style Hex 説明
LBS_DISABLENOSCROLL 0x1000 リストボックスにスクロールするのに十分な項目がない場合に、無効な垂直スクロールバーを表示する。このスタイルを指定しないと、リストボックスに十分な項目がない場合にスクロール・バーが非表示になります。
LBS_NOINTEGRALHEIGHT 0x100 リストボックスの作成時にアプリケーションが指定したサイズになるように指定します。
LBS_EXTENDEDSEL 0x800 +/-Multi. コントロール・クリックとシフト・クリックによる複数選択が可能。
LBS_MULTIPLESEL 0x8 マルチセレクトの簡易版で、通常の左クリックで選択範囲を広げたり、選択した項目の選択を解除したりできるので、controlクリックやshiftクリックは必要ない。
LBS_NOSEL 0x4000 +/-ReadOnly. リストボックスの文字列を表示することはできるが、選択することはできない。
LBS_NOTIFY 0x1 ユーザーがリストボックスの項目をクリックする (LBN_SELCHANGE)、項目をダブルクリックする (LBN_DBLCLK)、選択をキャンセルする (LBN_SELCANCEL) ときに、リストボックスから親ウィンドウに通知コードが送信されます。
LBS_SORT 0x2 +/-Sort. リストボックスの項目をアルファベット順に並べ替えます。
LBS_USETABSTOPS 0x80 リストボックスが文字列を描画するときにタブ文字を認識して展開できるようにする。デフォルトのタブ位置は32ダイアログボックス単位です。ダイアログボックス単位は、現在のダイアログボックスのベース幅単位の4分の1に相当する。

リストビューコントロールのスタイル

これらのスタイルはリストビューコントロールに影響する。デフォルトでは、WS_TABSTOPLVS_REPORTLVS_SHOWSELALWAYSLVS_EX_FULLROWSELECTLVS_EX_HEADERDRAGDROP、WS_EX_CLIENTEDGE(拡張スタイルE0x200)を使用します。強制的なスタイルはない。

Style Hex 説明
LVS_ALIGNLEFT 0x800 アイテムはアイコンとスモールアイコン表示で左寄せになります。
LVS_ALIGNTOP 0x0 アイコン・ビューとスモール・アイコン・ビューでは、アイテムはリスト・ビュー・コントロールの上部に整列される。これはデフォルトです。
LVS_AUTOARRANGE 0x100 アイコンは自動的にアイコン・ビューとスモール・アイコン・ビューに配置されます。
LVS_EDITLABELS 0x200 +/-ReadOnly. ReadOnly(または+0x200)を指定すると、ユーザーは各行の最初のフィールドをその場で編集できる。
LVS_ICON 0x0 +Icon. ラージ・アイコン・ビューを指定する。
LVS_LIST 0x3 +List. リスト表示を指定する。
LVS_NOCOLUMNHEADER 0x4000 +/-Hdr. レポートビューで列ヘッダを表示しない。
LVS_NOLABELWRAP 0x80 アイコン表示では、項目テキストは1行で表示されます。デフォルトでは、アイテムのテキストはアイコン表示で折り返されることがあります。
LVS_NOSCROLL 0x2000 スクロールは無効。すべてのアイテムはクライアントエリア内にあること。このスタイルはLVS_LISTLVS_REPORTスタイルとは互換性がない。
LVS_NOSORTHEADER 0x8000 +/-NoSortHdr. カラムヘッダーはボタンのようには機能しない。このスタイルは、レポートビューで列ヘッダーをクリックしても、並べ替えなどのアクションが実行されない場合に使用できます。
LVS_OWNERDATA 0x1000 このスタイルは、仮想リストビューコントロールを指定します(AutoHotkeyでは直接サポートされていません)。
LVS_OWNERDRAWFIXED 0x400 オーナーウィンドウは、WM_DRAWITEMメッセージに応答してレポートビューのアイテムをペイントすることができます(AutoHotkeyでは直接サポートされていません)。
LVS_REPORT 0x1 +Report. レポートビューを指定します。
LVS_SHAREIMAGELISTS 0x40 コントロールが破棄されても、画像リストは削除されない。このスタイルでは、複数のリストビューコントロールで同じ画像リストを使用することができます。
LVS_SHOWSELALWAYS 0x8 コントロールにキーボード・フォーカスがなくても、選択範囲があれば常に表示される。
LVS_SINGLESEL 0x4 +/-Multi. 一度に選択できるのは1項目のみ。デフォルトでは、複数の項目を選択することができる。
LVS_SMALLICON 0x2 +IconSmall. スモールアイコン・ビューを指定する。
LVS_SORTASCENDING 0x10 +/-Sort. 行は、最初のフィールドの内容に基づいて昇順にソートされる。
LVS_SORTDESCENDING 0x20 +/-SortDesc. 上記と同じだが、降順。

拡張 ListView スタイルは、Gui メソッド/プロパティで使用する場合、LV 接頭辞を必要とします。Windows XPまたはそれ以降のバージョンで導入された一部の拡張スタイルは、ここに記載されていません。全リストは、Microsoft Docsを参照:拡張リストビュースタイル.

エクステンド・スタイル Hex 説明
LVS_EX_BORDERSELECT LV0x8000 アイテムが選択されると、アイテムがハイライトされるのではなく、アイテムのボーダーカラーが変更されます(最近のオペレーティングシステムでは機能しない場合があります)。
LVS_EX_CHECKBOXES LV0x4

+/-Checked. 各項目にチェックボックスを表示します。このスタイルに設定すると、コントロールは、DrawFrameControlを使用して、2つの画像を持つ状態画像リストを作成および設定します。状態イメージ1がチェックされていないボックスで、状態イメージ2がチェックされたボックスである。状態画像をゼロに設定すると、チェックボックスは完全に削除される。

チェックボックスは、タイルビューモード以外のすべてのリストビューモードで表示され、機能する。タイルビューモードでチェックボックスをクリックすると、アイテムが選択されるだけで、状態は変化しない。

LVS_EX_DOUBLEBUFFER LV0x10000

ダブルバッファリングによるペイントで、ちらつきを抑える。この拡張スタイルは、アルファブレンドされたマーキー選択がサポートされているシステムでも使用できます。

LVS_EX_FLATSB LV0x100 リストビューでフラットスクロールバーを有効にする。
LVS_EX_FULLROWSELECT LV0x20 行を選択すると、その行のすべてのフィールドが強調表示される。このスタイルは、LVS_REPORTスタイルと組み合わせてのみ使用できる。
LVS_EX_GRIDLINES LV0x1 +/-Grid. 行や列の周囲にグリッド線を表示する。このスタイルは、LVS_REPORTスタイルと組み合わせてのみ使用できる。
LVS_EX_HEADERDRAGDROP LV0x10 リストビューコントロールの列をドラッグ&ドロップで並び替えられるようにする。このスタイルは、LVS_REPORTスタイルを使用するリストビューコントロールでのみ使用できます。
LVS_EX_INFOTIP LV0x400 リストビューコントロールがこのスタイルを使用する場合、項目のツールチップを表示する前にLVN_GETINFOTIP通知メッセージが親ウィンドウに送られます。
LVS_EX_LABELTIP LV0x4000 どのリストビューモードでも、部分的に隠されたラベルにToolTipテキストがない場合、リストビューコントロールはラベルを展開します。このスタイルが設定されていない場合、リストビューコントロールはラージアイコンモードでのみラベルの一部が非表示になる。注:Windowsのバージョンによっては、GUIウィンドウが常に上に表示されるように設定されている場合、このスタイルが正しく動作しないことがあります。
LVS_EX_MULTIWORKAREAS LV0x2000 リストビューコントロールにLVS_AUTOARRANGEスタイルが設定されている場合、1つ以上のワークエリアが定義されるまで、アイコンの自動配置は行われません(LVM_SETWORKAREASを参照)。このスタイルを有効にするには、ワークエリアが定義され、コントロールにアイテムが追加される前に設定する必要がある。
LVS_EX_ONECLICKACTIVATE LV0x40 リスト・ビュー・コントロールは、ユーザーが項目をクリックすると、LVN_ITEMACTIVATE通知メッセージを親ウィンドウに送信します。このスタイルでは、リストビューコントロールでのホットトラッキングも可能です。ホットトラッキングとは、カーソルがアイテムの上に移動すると、そのアイテムはハイライトされるが選択されないことを意味する。
LVS_EX_REGIONAL LV0x200 SetWindowRgnを使用して、リストビューのウィンドウ領域にアイテムのアイコンとテキストのみを含めるように設定します。アイテムの一部でない領域は、ウィンドウ領域から除外される。このスタイルは、LVS_ICONスタイルを使用するリストビューコントロールでのみ使用可能です。
LVS_EX_SIMPLESELECT LV0x100000 アイコン・ビューでは、アイテムの状態画像を大きなアイコン描画の右上に移動します。アイコン・ビュー以外では変化はない。ユーザーがスペースバーを使って状態を変更すると、フォーカスのあるアイテムではなく、選択されているすべてのアイテムがサイクルオーバーする。
LVS_EX_SUBITEMIMAGES LV0x2 最初のフィールド以外のフィールドに画像を表示できるようにする。このスタイルは、LVS_REPORTスタイルと組み合わせてのみ使用できる。
LVS_EX_TRACKSELECT LV0x8 リストビューコントロールでホットトラック選択を有効にする。ホットトラック選択とは、カーソルがその項目の上にある状態が一定時間続くと、その項目が自動的に選択されることを意味する。この遅延は、LVM_SETHOVERTIMEメッセージによって、デフォルトのシステム設定から変更することができる。このスタイルは、リストビューコントロールのすべてのスタイルに適用されます。ホットトラック選択が有効かどうかは、SystemParametersInfo を呼び出すことで確認できる。
LVS_EX_TWOCLICKACTIVATE LV0x80 リストビューコントロールは、ユーザーが項目をダブルクリックすると、親ウィンドウにLVN_ITEMACTIVATE通知メッセージを送信します。このスタイルでは、リストビューコントロールでのホットトラッキングも可能です。ホットトラッキングとは、カーソルがアイテムの上に移動すると、そのアイテムはハイライトされるが選択されないことを意味する。
LVS_EX_UNDERLINECOLD LV0x1000 アクティベートされる可能性のある非ホット項目を下線付きテキストで表示する。このスタイルでは、LVS_EX_TWOCLICKACTIVATEも設定する必要がある。
LVS_EX_UNDERLINEHOT LV0x800 アクティブになる可能性のあるホットアイテムに下線を引く。このスタイルでは、LVS_EX_ONECLICKACTIVATEまたはLVS_EX_TWOCLICKACTIVATEも設定されている必要がある。

TreeViewコントロールのスタイル

これらのスタイルはTreeViewコントロールに影響を与える。デフォルトでは、WS_TABSTOPTVS_SHOWSELALWAYSTVS_HASLINESTVS_LINESATROOTTVS_HASBUTTONS、WS_EX_CLIENTEDGE(拡張スタイルE0x200)を使用します。強制的なスタイルはない。

Style Hex 説明
TVS_CHECKBOXES 0x100 +/-Checked. 各項目の横にチェックボックスを表示します。
TVS_DISABLEDRAGDROP 0x10 ツリービューコントロールがTVN_BEGINDRAG通知メッセージを送信しないようにします。
TVS_EDITLABELS 0x8 +/-ReadOnly. ツリービューの項目名を編集できるようにする。
TVS_FULLROWSELECT 0x1000 ツリービューで全行選択を有効にする。選択された項目の行全体がハイライトされ、項目の行のどこかをクリックすると、その項目が選択される。このスタイルはTVS_HASLINESスタイルと併用することはできない。
TVS_HASBUTTONS 0x1 +/-Buttons. 親アイテムの横にプラス(+)とマイナス(-)のボタンを表示する。ユーザーがボタンをクリックすると、親アイテムの子アイテムのリストを展開または折りたたむことができます。ツリービューのルートにあるアイテムをボタンに含めるには、TVS_LINESATROOTも指定する必要があります。
TVS_HASLINES 0x2 +/-Lines. 項目の階層を示すために線を使用します。
TVS_INFOTIP 0x800 TVN_GETINFOTIP通知を送信して、ToolTip情報を取得します。
TVS_LINESATROOT 0x4 +/-Lines. ツリービューコントロールのルートでアイテムをリンクするためにラインを使用します。TVS_HASLINESも指定されていない場合、この値は無視される。
TVS_NOHSCROLL 0x8000 +/-HScroll. コントロールの水平スクロールを無効にする。コントロールは水平スクロールバーを表示しない。
TVS_NONEVENHEIGHT 0x4000 TVM_SETITEMHEIGHTメッセージでアイテムの高さを奇数に設定する。デフォルトでは、アイテムの高さは偶数でなければならない。
TVS_NOSCROLL 0x2000 コントロールの水平スクロールと垂直スクロールの両方を無効にする。コントロールはスクロールバーを表示しない。
TVS_NOTOOLTIPS 0x80 ツールチップを無効にする。
TVS_RTLREADING 0x40 テキストを右から左に表示する(RTL)。通常、ウィンドウはテキストを左から右へ(LTR)表示する。
TVS_SHOWSELALWAYS 0x20 ツリービューコントロールがフォーカスを失ったときに、選択された項目を選択されたままにする。
TVS_SINGLEEXPAND 0x400 ツリービューで項目を選択すると、選択中の項目は展開され、非選択中の項目は折りたたまれる。ユーザーがCtrlを押しながら項目を選択した場合、選択されていない項目は折りたたまれません。
TVS_TRACKSELECT 0x200 ツリービューコントロールでマウスのホットトラッキングを有効にする。

日付時刻コントロールのスタイル

これらのスタイルはDateTimeコントロールに影響する。デフォルトでは、DTS_SHORTDATECENTURYFORMATWS_TABSTOPを使用します。強制的なスタイルはない。

Style Hex 説明
DTS_UPDOWN 0x1 コントロールの右側に日付-時刻の値を変更するためのアップダウンコントロールを提供します。
DTS_SHOWNONE 0x2 コントロール内にチェックボックスを表示し、ユーザーがそのチェックボックスをオフにすると、コントロールの日付/時刻が選択されなくなります。コントロールに日付/時刻がない場合は常に、Gui.SubmitGuiCtrl.Valueは空白の値(空の文字列)を取得します。
DTS_SHORTDATEFORMAT 0x0 日付を短いフォーマットで表示する。地域によっては、2005年6月1日または2005年6月1日のように見える。古いOSでは、2桁の年号が表示されることがある。これが、DTS_SHORTDATECENTURYFORMATがデフォルトであり、DTS_SHORTDATEFORMATでない理由である。
DTS_LONGDATEFORMAT 0x4 フォーマットオプション「LongDate」。日付をロング・フォーマットで表示する。地域によっては2005年6月1日(水)のようだ。
DTS_SHORTDATECENTURYFORMAT 0xC フォーマットオプションが空白/省略。日付を4桁の年号を含む短い形式で表示する。地域によっては2005年6月1日のようだ。システムのComctl32.dllのバージョンが5.8より古い場合、このスタイルはサポートされず、DTS_SHORTDATEFORMATが自動的に代用される。
DTS_TIMEFORMAT 0x9 フォーマットオプション「Time」。ロケールによっては午後5時31分42秒のように見える。
DTS_APPCANPARSE 0x10 未対応。オーナーがユーザーの入力を解析し、必要なアクションを取ることを許可する。F2を押すと、コントロールのクライアント・エリア内で編集できるようになる。ユーザが終了すると、コントロールはDTN_USERSTRING通知メッセージを送信する。
DTS_RIGHTALIGN 0x20 +/-Right. カレンダーはコントロールの左側ではなく、右側にドロップダウンされます。

MonthCalコントロールスタイル

これらのスタイルはMonthCalコントロールに影響を与える。デフォルトでは、WS_TABSTOPを使用する。強制的なスタイルはない。

Style Hex 説明
MCS_DAYSTATE 0x1 どの日を太字で表示するかについての情報を要求するために、コントロールに MCN_GETDAYSTATE 通知を送信させます。[Not yet supported]
MCS_MULTISELECT 0x2

オプション名は「マルチ」。ユーザーが単一の日付に制限されるのではなく、日付の範囲を選択できるようにします。デフォルトでは、最大範囲は366日で、MCM_SETMAXSELCOUNTメッセージをコントロールに送信することで変更できる。事例:

SendMessage 0x1004, 7, 0, "SysMonthCal321", MyGui ; 7 days. 0x1004 is MCM_SETMAXSELCOUNT.
MCS_WEEKNUMBERS 0x4 各曜日の左側に週番号(1~52)を表示。第1週は、少なくとも4日間を含む最初の週と定義される。
MCS_NOTODAYCIRCLE 0x8 コントロール内で今日の日付が丸で囲まれるのを防ぐ。
MCS_NOTODAY 0x10 コントロールの下部に今日の日付が表示されないようにする。

スライダーコントロールのスタイル

これらのスタイルはスライダーコントロールに影響する。デフォルトでは、WS_TABSTOPを使用する。強制的なスタイルはない。

Style Hex 説明
TBS_VERT 0x2 +/-Vertical. コントロールは縦向き。
TBS_LEFT 0x4 +/-Left. コントロールの上部(TBS_VERTがある場合はその左側)に目盛りが表示される。TBS_TOPと同じ。
TBS_TOP 0x4 TBS_LEFTと同じ。
TBS_BOTH 0x8 +/-Center. コントロールは、コントロールの両側にティックマークを表示する。TBS_HORZと併用する場合は上下両方、TBS_VERTと併用する場合は左右両方となる。
TBS_AUTOTICKS 0x1 コントロールは、値の範囲内の各増分に目盛りが付いています。より柔軟性を持たせるには+/-TickIntervalを使う。
TBS_ENABLESELRANGE 0x20

コントロールは選択範囲のみを表示する。選択範囲の開始位置と終了位置の目盛りが(垂直のダッシュの代わりに)三角形で表示され、選択範囲が強調表示されます(強調表示には、GuiObj.Opt("-Theme")によってテーマを削除する必要があるかもしれません)。

選択範囲を設定するには、この例に従って、開始位置を55に、終了位置を66に設定する:

SendMessage 0x040B, 1, 55, "msctls_trackbar321", WinTitle
SendMessage 0x040C, 1, 66, "msctls_trackbar321", WinTitle
TBS_FIXEDLENGTH 0x40 +/-Thick. 親指のサイズを変更できるようにする。
TBS_NOTHUMB 0x80 コントロールに可動バーが表示されない。
TBS_NOTICKS 0x10 +/-NoTicks. コントロールにはティックマークは表示されない。
TBS_TOOLTIPS 0x100 +/-ToolTip. コントロールはツールチップをサポートしています。このスタイルを使用してコントロールが作成されると、スライダーの現在位置を表示するデフォルトの ToolTip コントロールが自動的に作成されます。TBM_SETTIPSIDEメッセージを使って、ツールチップを表示する場所を変更できます。
TBS_REVERSED 0x200 残念ながら、このスタイルはコントロールの実際の動作には影響しないので、使う意味はないだろう(代わりに、コントロールのオプションで+Invertを使って反転させる)。OSのバージョンによっては、Internet Explorer 5.0以上が必要です。
TBS_DOWNISLEFT 0x400 残念ながら、このスタイルはコントロールの実際の動作には影響しないので、使う意味はないだろう。OSのバージョンによっては、Internet Explorer 5.01以上が必要です。

プログレス・コントロール・スタイル

これらのスタイルはProgressコントロールに影響を与える。デフォルトスタイルも強制スタイルもない。

Style Hex 説明
PBS_SMOOTH 0x1 +/-Smooth. プログレスバーは、デフォルトの分割されたバーではなく、滑らかなスクロールバーで進行状況を表示します。このスタイルが存在すると、コントロールは自動的にクラシック・テーマの外観に戻る。
PBS_VERTICAL 0x4 +/-Vertical. プログレスバーは、進行状況を下から上に縦に表示する。
PBS_MARQUEE 0x8

プログレス・バーはマーキーのように動く。つまり、位置を変更するたびに、バーが反対側に回り込むまで、利用可能な長さに沿ってさらにスライドする。このスタイルのバーは、位置が定義されていない。位置を変えようとするたびに、代わりにバーが1刻みスライドする。

このスタイルは通常、完了時間が不明な進行中のオペレーションを示すために使われる。

タブコントロールのスタイル

これらのスタイルはタブ・コントロールに影響する。デフォルトでは、WS_TABSTOPTCS_MULTILINEを使用する。スタイルWS_CLIPSIBLINGSは、常に有効であり、無効にすることはできません。一方、TCS_OWNERDRAWFIXEDは、コントロールの背景色やテキスト色によって強制的にオンまたはオフにされます。

Style Hex 説明
TCS_SCROLLOPPOSITE 0x1 タブを選択すると、不要なタブはコントロールの反対側にスクロールする。
TCS_BOTTOM 0x2 +/-Bottom. タブはコントロールの上部ではなく下部に表示される。
TCS_RIGHT 0x2 タブは、TCS_VERTICALスタイルを使用するコントロールの右側に垂直に表示される。
TCS_MULTISELECT 0x4 Ctrlを押しながらクリックすると、複数のタブを選択できる。このスタイルはTCS_BUTTONSスタイルと一緒に使用しなければならない。
TCS_FLATBUTTONS 0x8 選択されたタブは背景の中にインデントされて表示され、他のタブは背景と同じ平面に表示される。このスタイルは、TCS_BUTTONSスタイルを持つタブコントロールにのみ影響する。
TCS_FORCEICONLEFT 0x10 アイコンは各固定幅タブの左端に揃えられる。このスタイルは、TCS_FIXEDWIDTHスタイルでのみ使用できる。
TCS_FORCELABELLEFT 0x20

つまり、ラベルは中央ではなく、アイコンのすぐ右に表示される。

このスタイルはTCS_FIXEDWIDTHスタイルでのみ使用でき、TCS_FORCEICONLEFTスタイルを意味する。

TCS_HOTTRACK 0x40 ポインターの下にある項目は自動的にハイライトされます。
TCS_VERTICAL 0x80

+/-Left or +/-Right. タブはコントロールの左側に表示され、タブのテキストは縦に表示される。このスタイルは、TCS_MULTILINEスタイルと併用した場合のみ有効である。コントロールの右側にタブを表示するには、TCS_RIGHTスタイルも使用する。

カスタム背景色やカスタム文字色が有効な場合、このスタイルはタブを正しく表示しません。これを回避するには、タブコントロールのオプションで-BackgroundやcDefaultを指定する。

TCS_BUTTONS 0x100 +/-Buttons. タブはボタンとして表示され、表示領域の周囲にボーダーは引かれない。
TCS_SINGLELINE 0x0 +/-Wrap. タブは1列のみ表示される。必要であれば、ユーザーはスクロールしてより多くのタブを見ることができる。このスタイルがデフォルトである。
TCS_MULTILINE 0x200 +/-Wrap. 必要に応じてタブを複数行表示し、すべてのタブが一度に見えるようにする。
TCS_RIGHTJUSTIFY 0x0

これはデフォルトです。各タブの幅は必要に応じて拡大され、タブの各行がタブコントロールの幅全体を埋めるようになる。

TCS_MULTILINEスタイルも指定されていない限り、このウィンドウ・スタイルは無視される。

TCS_FIXEDWIDTH 0x400 すべてのタブの幅は同じです。このスタイルはTCS_RIGHTJUSTIFYスタイルと組み合わせることはできない。
TCS_RAGGEDRIGHT 0x800 タブの行は、コントロールの幅いっぱいに引き伸ばされることはありません。このスタイルがデフォルトである。
TCS_FOCUSONBUTTONDOWN 0x1000 タブコントロールは、クリックされると入力フォーカスを受け取ります。
TCS_OWNERDRAWFIXED 0x2000 親ウィンドウはタブの描画を担当する。
TCS_TOOLTIPS 0x4000 タブ・コントロールにはツールチップ・コントロールが関連付けられている。
TCS_FOCUSNEVER 0x8000 タブコントロールがクリックされたときに入力フォーカスを受け取らない。

ステータスバーコントロールのスタイル

これらのスタイルはStatusBarコントロールに影響する。デフォルトでは、SBARS_TOOLTIPSSBARS_SIZEGRIPを使用します(後者はウィンドウのサイズが変更可能な場合のみ)。強制的なスタイルはない。

Style Hex 説明
SBARS_TOOLTIPS 0x800

ステータスバーの上にマウスを置くと、ツールチップを表示する:1) テキストが多すぎて表示しきれない、または 2) アイコンはあるがテキストがない。

ツールチップのテキストは、以下の方法で設定できる:

SendMessage 0x0411, 0, StrPtr("Text to display"), "msctls_statusbar321", MyGui ; 0x0411 is SB_SETTIPTEXTW.

上記の太字の0は、ゼロベースの部品番号である。1番以外のパートを使用する場合は、2番には1、3番には2などを指定する。注:OSのバージョンによってはツールチップが表示されない場合があります。

SBARS_SIZEGRIP 0x100 ステータスバーの右端にサイズ調整用のグリップを装備。サイジンググリップは、サイジングボーダーに似ている。ユーザーがクリックしてドラッグすることで、親ウィンドウのサイズを変更できる長方形の領域である。