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

ボタンコントロール

スタイル
(コード)
意味
BS_PUSHBUTTON
(0x00000000)
プッシュボタンを作成します。ボタンが押されると、オーナーウィンドウに WM_COMMAND メッセージがポストされます。
BS_DEFPUSHBUTTON
(0x00000001)
太い境界を持つデフォルトのプッシュボタンを作成します。このボタンがダイアログボックスにある場合は、ボタンが入力フォーカスを持っていなくても、[Enter]キーを押せばボタンを選択できます。
BS_CHECKBOX
(0x00000002)
チェックボックスを作成します。デフォルトでは、テキストはチェックボックスの右側に表示されます。テキストをボックスの左側に表示するには、このフラグと BS_LEFTTEXT スタイル (BS_RIGHTBUTTON スタイル) を組み合わせて指定します。
BS_AUTOCHECKBOX
(0x00000003)
チェックボックスを作成します。ユーザーがチェックボックスを選択するとチェックボックスの状態が自動的に変わります。
BS_RADIOBUTTON
(0x00000004)
ラジオボタンを作成します。デフォルトでは、テキストはボタンの右側に表示されます。テキストをボタンの左側に表示するには、このフラグと BS_LEFTTEXT スタイル (BS_RIGHTBUTTON スタイル) を組み合わせて指定します。
BS_3STATE
(0x00000005)
選択された状態、選択されていない状態、灰色表示の状態という 3 つの状態を持つチェックボックスを作成します。
BS_AUTO3STATE
(0x00000006)
BS_3STATE スタイルのボタンを作成します。ユーザーがチェックボックスを選択するとボックスの状態が自動的に変わります。
BS_GROUPBOX
(0x00000007)
グループボックスを作成します。
BS_AUTORADIOBUTTON
(0x00000009)
ラジオボタンを作成します。ただし、ボタンが選択がされると、自動的にボタンを選択状態にし、同じグループのほかのボタンを非選択状態にします。
BS_OWNERDRAW
(0x0000000B)
オーナードローボタンを作成します。
BS_LEFTTEXT, BS_RIGHTBUTTON
(0x00000020)
ラジオボタンスタイルやチェックボックススタイルと組み合わせると、ラジオボタンやチェックボックスの左側にテキストが置かれます。
BS_ICON
(0x00000040)
アイコンを表示するボタンを作成します。
BS_BITMAP
(0x00000080)
ビットマップを表示するボタンを作成します。
BS_LEFT
(0x00000100)
ボタンの中にテキストを左寄せします。
BS_RIGHT
(0x00000200)
ボタンの中にテキストを右寄せします。
BS_CENTER
(0x00000300)
ボタンの(水平方向の)中央にテキスト置きます。
BS_TOP
(0x00000400)
ボタンの最上部にテキストを置きます。
BS_BOTTOM
(0x00000800)
ボタンの下部にテキストを置きます。
BS_VCENTER
(0x00000C00)
ボタンの(垂直方向の)中央にテキストを置きます。
BS_PUSHLIKE
(0x00001000)
プッシュボタンのような概観と機能を持つ、チェックボックスまたはラジオボタンを作ります。
BS_MULTILINE
(0x00002000)
テキストが長すぎてボタンの中に一行で収まらないときは、テキストを複数行に折り返します。
BS_NOTIFY
(0x00004000)
親ウィンドウに、ボタンが BN_DBLCLK, BN_KILLFOCUS, BN_SETFOCUS の各通知メッセージを送るようにします。このスタイルを持つかどうかに関わらず、ボタンは BN_CLICKED 通知メッセージを送ります。
BS_FLAT
(0x00008000)
フラットボタンを作成します。デフォルトの陰影を使用した3Dイメージを使用しません。

コンボボックス

スタイル
(コード)
意味
CBS_SIMPLE
(0x0001)
常時リストボックスが表示されるコンボボックスを作成します。
CBS_DROPDOWN
(0x0002)
ドロップダウンコンボボックスを作成します。
CBS_DROPDOWNLIST
(0x0003)
ドロップダウンリストボックスを作成します。テキストの編集はできません。
CBS_OWNERDRAWFIXED
(0x0010)
各項目の高さがすべて同じ、オーナードローコンボボックスを作成します。
CBS_OWNERDRAWVARIABLE
(0x0020)
各項目の高さが可変の、オーナードローコンボボックスを作成します。
CBS_AUTOHSCROLL
(0x0040)
ユーザーが行末に文字を入力すると、エディットコントロール内のテキストが自動的に右スクロールします。
CBS_OEMCONVERT
(0x0080)
コンボボックスのエディットコントロールに入力されたテキストを Windows 文字セットから OEM 文字セットに変換します。CBS_SIMPLE スタイルか CBS_DROPDOWN スタイルで作成されたコンボボックスにのみ有効です。
CBS_SORT
(0x0100)
リストボックスに追加されたテキストを自動的にソートします。
CBS_HASSTRINGS
(0x0200)
オーナードローコンボボックスのアイテムがテキストであることを指定します。
CBS_NOINTEGRALHEIGHT
(0x0400)
コンボボックスのサイズを指定します。デフォルトでは、項目が途中で切れないように、Windows システムがコンボボックスのサイズを調整します。
CBS_DISABLENOSCROLL
(0x0800)
スクロールするほどの項目数がない場合、リストボックスの垂直方向のスクロールバーが無効状態で表示されます。デフォルトでは表示されません。
CBS_UPPERCASE
(0x2000)
コンボボックスのエディットコントロールに入力された小文字を、大文字に変換します。
CBS_LOWERCASE
(0x4000)
コンボボックスのエディットコントロールに入力された大文字を、小文字に変換します。

エディットコントロール

スタイル
(コード)
意味
ES_LEFT
(0x0000)
テキストを左揃えで表示します。
ES_CENTER
(0x0001)
複数行エディットコントロールにおいて、テキストを中央揃えで表示します。
ES_RIGHT
(0x0002)
複数行エディットコントロールにおいて、テキストを右揃えで表示します。
ES_MULTILINE
(0x0004)
複数行エディットコントロールを作成します。デフォルトは一行のエディットコントロールです。
ES_UPPERCASE
(0x0008)
エディットコントロールに入力された文字を、大文字に変換します。
ES_LOWERCASE
(0x0010)
エディットコントロールに入力された文字を、小文字に変換します。
ES_PASSWORD
(0x0020)
エディットコントロールに入力された文字を、アスタリスク (*) で置き換えて表示します。
ES_AUTOVSCROLL
(0x0040)
ユーザーが最下行で[Enter]キーを押すと、テキストを自動的に上にスクロールします。
ES_AUTOHSCROLL
(0x0080)
ユーザーが行末に文字を入力すると、エディットコントロール内のテキストが自動的に右スクロールします。
ES_NOHIDESEL
(0x0100)
選択されているテキストは、コントロールがフォーカス持っていない場合も反転表示されます。デフォルトでは、コントロールが入力フォーカスを失うと選択項目が表示されなくなり、入力フォーカスを受け取ると反転表示されます。
ES_OEMCONVERT
(0x0400)
エディットコントロールに入力されたテキストを Windows 文字セットから OEM 文字セットに変換します。
ES_READONLY
(0x0800)
ユーザーによるテキストの入力や編集をできないようにします。
ES_WANTRETURN
(0x1000)
ダイアログボックス内の複数行エディットコントロールにテキストを入力しているときに[Enter]キーが押されると、改行が挿入されるようにします。このスタイルを指定していないと、ダイアログボックスのデフォルトのプッシュボタンが押されます。
ES_NUMBER
(0x2000)
数字だけが入力できるようにします。

リストボックス

スタイル
(コード)
意味
LBS_NOTIFY
(0x0001)
ユーザーがリストボックス内の文字列をクリック (またはダブルクリック) するたびに、親ウィンドウに入力メッセージを通知します。
LBS_SORT
(0x0002)
リストボックス内の文字列を自動的にソートします。
LBS_NOREDRAW
(0x0004)
アイテムが変更されてもリストボックスの外観を更新しないように指定します。このスタイルは WM_SETREDRAW メッセージを送ることで変更できます。
LBS_MULTIPLESEL
(0x0008)
項目をクリックまたはダブルクリックして、複数の項目を選択できるようにします。
LBS_OWNERDRAWFIXED
(0x0010)
各アイテムの高さがすべて同じ、オーナードローリストボックスを作成します。
LBS_OWNERDRAWVARIABLE
(0x0020)
各アイテムの高さがすべて可変の、オーナードローリストボックスを作成します。
LBS_HASSTRINGS
(0x0040)
オーナードローリストボックスのアイテムが文字列であることを指定します。
LBS_USETABSTOPS
(0x0080)
リストボックスが文字列を描画するときにタブ文字を認識し表示できるようにします。
LBS_NOINTEGRALHEIGHT
(0x0100)
リストボックスのサイズを指定します。デフォルトでは、アイテムが途中で切れないようにリストボックスのサイズが調整されます。
LBS_MULTICOLUMN
(0x0200)
水平にスクロールする複数列のリストボックスを指定します。LB_SETCOLUMNWIDTH メッセージで列の幅を設定します。
LBS_WANTKEYBOARDINPUT
(0x0400)
リストボックスが入力フォーカスを持っているときにユーザーがキーを押すと、リストボックスのオーナーが WM_VKEYTOITEM または WM_CHARTOITEM メッセージを受け取ります。
LBS_EXTENDEDSEL
(0x0800)
[Shift]キーとマウス、または特殊なキーの組み合わせで、複数のアイテムを選択できるようにします。
LBS_DISABLENOSCROLL
(0x1000)
スクロールするほどの項目数がない場合、リストボックスの垂直方向のスクロールバーが無効状態で表示されます。デフォルトではスクロールバーは表示されません。
LBS_NODATA
(0x2000)
データを持たないリストボックスを指定します。リストボックス内の項目数が 1000 を超えるときに、このスタイルを指定します。LBS_OWNERDRAWFIXED スタイルが必要です。 LBS_SORT スタイルや LBS_HASSTRINGS スタイルを同時に指定することはできません。
LBS_NOSEL
(0x4000L)
表示するだけで選択できないアイテムを持つリストボックスを指定します。
LBS_STANDARD
(0x00A00003)
LBS_NOTIFY, LBS_SORT, WS_VSCROLL, WS_BORDER スタイルの組み合わせです。

スクロールバー

スタイル
(コード)
意味
SBS_HORZ
(0x0000)
水平スクロールバーを作成します。
SBS_VERT
(0x0001)
垂直スクロールバーを作成します。
SBS_TOPALIGN, SBS_LEFTALIGN, SBS_SIZEBOXTOPLEFTALIGN
(0x0002)
SBS_HORZ スタイルの場合水平スクロールバーが指定された矩形の上端に、SBS_VERT スタイルの場合水平スクロールバーが指定された矩形の左端に、SBS_SIZEBOX スタイルではサイズボックスが指定された矩形の左上端にそれぞれ表示されます。スクロールバーの幅やサイズボックスのサイズはデフォルトのものが適用されます。
SBS_BOTTOMALIGN, SBS_RIGHTALIGN, SBS_SIZEBOXBOTTOMRIGHTALIGN
(0x0004)
SBS_HORZ スタイルの場合水平スクロールバーが指定された矩形の下端に、SBS_VERT スタイルの場合水平スクロールバーが指定された矩形の右端に、SBS_SIZEBOX スタイルではサイズボックスが指定された矩形の右下端にそれぞれ表示されます。スクロールバーの幅やサイズボックスのサイズはデフォルトのものが適用されます。
SBS_SIZEBOX
(0x0008)
サイズボックスを作成します。
SBS_SIZEGRIP
(0x0010)
縁が盛り上がったサイズボックスを作成します。

スタティックコントロール

スタイル
(コード)
意味
SS_LEFT
(0x00000000)
文字列を左揃えで表示します。テキストが行末を超える場合は自動的に折り返されます。
SS_CENTER
(0x00000001)
テキストを中央揃えで表示します。テキストが行末を超える場合は自動的に折り返されます。
SS_RIGHT
(0x00000002)
テキストを右揃えで表示します。テキストが行末を超える場合は自動的に折り返されます。
SS_ICON
(0x00000003)
アイコンを表示するスタティックコントロールを作成します。コントロールサイズはアイコンサイズに合わせて調整されます。
SS_BLACKRECT
(0x00000004)
ウィンドウの枠と同じ色(デフォルトでは黒)で塗りつぶされた長方形を作成します。
SS_GRAYRECT
(0x00000005)
画面の背景 (デスクトップ) と同じ色(デフォルトでは灰色)で塗りつぶされた長方形を作成します。
SS_WHITERECT
(0x00000006)
ウィンドウの背景と同じ色(デフォルトでは白)で塗りつぶされた長方形を作成します。
SS_BLACKFRAME
(0x00000007)
ウィンドウの枠と同じ色(デフォルトでは黒)の枠を持つボックスを作成します。
SS_GRAYFRAME
(0x00000008)
画面の背景 (デスクトップ) と同じ色(デフォルトでは灰色)の枠を持つボックスを作成します。
SS_WHITEFRAME
(0x00000009)
ウィンドウの背景と同じ色(デフォルトでは白)の枠を持つボックスを作成します。
SS_USERITEM
(0x0000000A)
ユーザー定義のアイテムを指定します。
SS_SIMPLE
(0x0000000B)
単一行のテキストを左揃えで表示します。テキスト行は、短くしたり、置き換えたりすることはできません。このコントロールの親ウィンドウまたはダイアログ ボックスは、WM_CTLCOLOR メッセージを処理してはいけません。
SS_LEFTNOWORDWRAP
(0x0000000C)
テキストを左揃えで表示します。タブは展開されますが、テキストは折り返されません。行末を越えるテキストはクリップされます。
SS_OWNERDRAW
(0x0000000D)
オーナードローコントロールを作成します。
SS_BITMAP
(0x0000000E)
ビットマップを表示するスタティックコントロールを作成します。コントロールサイズはビットマップサイズに合わせて調整されます。
SS_ENHMETAFILE
(0x0000000F)
??
SS_ETCHEDHORZ
(0x00000010)
コントロールの上下端の縁を EDGE_ETCHED エッジスタイルを使用して描画します。
SS_ETCHEDVERT
(0x00000011)
コントロールの左右端の縁を EDGE_ETCHED エッジスタイルを使用して描画します。
SS_ETCHEDFRAME
(0x00000012)
コントロールの縁を EDGE_ETCHED エッジスタイルを使用して描画します。
SS_NOPREFIX
(0x00000080)
テキスト中のアンパサント(&)を、アクセラレータのプレフィックス文字として解釈しないように指定します。デフォルトではアンパサント(&)がプレフィックス文字として解釈され、アンパサンド(&)は取り除かれてその次の文字に下線が付けられます。
SS_NOTIFY
(0x00000100)
ユーザーがコントロールをクリック(またはダブルクリック)するたびに、親ウィンドウに STN_CLICKED 通知メッセージ(または STN_DBLCLK 通知メッセージ)を送ります。
SS_CENTERIMAGE
(0x00000200)
コントロールのサイズが変更されても、SS_BITMAP スタイルや SS_ICON スタイルを持つコントロールの中心点は変えないようにします。
SS_RIGHTJUST
(0x00000400)
SS_BITMAP スタイルや SS_ICON スタイルを持つコントロールのサイズが変更されたときに、イメージを右下隅に固定するようにします。
SS_REALSIZEIMAGE
(0x00000800)
SS_BITMAP スタイルや SS_ICON スタイルを持つコントロールのイメージがロードされたり描画されたりするときに、コントロールサイズが変更されないようにします。
SS_SUNKEN
(0x00001000)
コントロールの周囲にくぼんだ縁を描画します。
SS_ENDELLIPSIS
(0x00004000)
コントロールに表示しきれない場合に、文字列の最後の部分を省略記号(...)で置き換えます。
SS_PATHELLIPSIS
(0x00008000)
コントロールに表示しきれない場合に、文字列の一部を省略記号(...)で置き換えます。文字列がバックスラッシュ(\)を含むなら、バックスラッシュの後の文字列をできるだけ残すようにします。
SS_WORDELLIPSIS
(0x0000C000)
コントロールに表示しきれない場合に、文字列を切り縮めて、省略記号(...)をつけます。

リッチエディットコントロール

スタイル
(コード)
意味
ES_LEFT
(0x0000)
テキストを左揃えで表示します。
ES_CENTER
(0x0001)
複数行エディットコントロールにおいて、テキストを中央揃えで表示します。
ES_RIGHT
(0x0002)
複数行エディットコントロールにおいて、テキストを右揃えで表示します。
ES_MULTILINE
(0x0004)
複数行エディットコントロールを作成します。デフォルトは一行のエディットコントロールです。
ES_AUTOVSCROLL
(0x0040)
ユーザーが最下行で[Enter]キーを押すと、テキストを自動的に上にスクロールします。
ES_AUTOHSCROLL
(0x0080)
ユーザーが行末に文字を入力すると、エディットコントロール内のテキストが自動的に右スクロールします。
ES_NOHIDESEL
(0x0100)
選択されているテキストは、コントロールがフォーカス持っていない場合も反転表示されます。デフォルトでは、コントロールが入力フォーカスを失うと選択項目が表示されなくなり、入力フォーカスを受け取ると反転表示されます。
ES_READONLY
(0x0800)
ユーザーによるテキストの入力や編集をできないようにします。
ES_WANTRETURN
(0x1000)
ダイアログボックス内の複数行エディットコントロールにテキストを入力しているときに[Enter]キーが押されると、改行が挿入されるようにします。このスタイルを指定していないと、ダイアログボックスのデフォルトのプッシュボタンが押されます。
ES_DISABLENOSCROLL
(0x00002000)
スクロールバーが必要ない場合にも、無効状態で表示する。
ES_SUNKEN
(0x00004000)
くぼんで見える境界を描きます。Windows95/98ではこのスタイルではなく WS_EX_CLIENTEDGE 拡張スタイルを用いるべきです。
ES_SAVESEL
(0x00008000)
コントロールが入力フォーカスを失うときに、現在選択されている範囲が保存され、次にフォーカスを得たときに同じ領域が選択されている状態になります。
ES_SELFIME
(0x00040000)
すべてのIME操作をアプリケーションが行なうようにします。
ES_NOIME
(0x00080000)
IMEを無効にします。
ES_VERTICAL
(0x00400000)
縦書きのリッチエディットコントロールを作成します。