MFC で使用するスタイル

対応する MFC オブジェクトを作成するときに、ウィンドウまたはコントロールの外観と動作を指定するには、次のスタイル フラグを使用します。 ほとんどの場合、これらのスタイルはクラスCreate関数のdwStyleパラメーターで設定されます。

ボタンのスタイル

ボタン スタイルはCButton Class、ラジオ ボタン、チェック ボックス、押しボタンなどのオブジェクトに適用されます。 のパラメーターCButton::CreatedwStyleスタイルの組み合わせを指定します。 Windows のボタン スタイルの詳細については、「ボタン のスタイル (Windows)」を参照してください

ボタンの種類

次の表は、ボタンの種類の一覧です。 次のいずれかを必要に応じて選択できます。 ボタンの種類を指定しない場合、既定値は BS_PUSHBUTTON.

説明
BS_3STATE 次の 3 つの状態を持つチェック ボックス ボタンを作成します。 BST_CHECKEDBST_INDETERMINATEBST_UNCHECKED ボタンをクリックすると、所有者ウィンドウに通知が送信 BN_CLICKED されますが、ボタンの状態は変更されません。 既定では、関連付けられたテキストはチェック ボックスの右側に表示されます。 チェック ボックスの左側にテキストを表示するには、またはBS_RIGHTBUTTONスタイルをBS_LEFTTEXT使用します。
BS_AUTO3STATE 次の 3 つの状態を持つチェック ボックス ボタンを作成します。 BST_CHECKEDBST_INDETERMINATEBST_UNCHECKED ボタンをクリックすると、所有者ウィンドウに通知が送信 BN_CLICKED され、ボタンの状態が変更されます。 ボタンの状態は、次BST_INDETERMINATEBST_CHECKED順序で循環しますBST_UNCHECKED。 既定では、関連付けられたテキストはチェック ボックスの右側に表示されます。 チェック ボックスの左側にテキストを表示するには、またはBS_RIGHTBUTTONスタイルをBS_LEFTTEXT使用します。
BS_AUTOCHECKBOX 2 つの状態を持つ チェック ボックス ボタンを作成します BST_CHECKEDBST_UNCHECKED。 ボタンをクリックすると、所有者ウィンドウに通知が送信 BN_CLICKED され、ボタンの状態が変更されます。 既定では、関連付けられたテキストはチェック ボックスの右側に表示されます。 チェック ボックスの左側にテキストを表示するには、またはBS_RIGHTBUTTONスタイルをBS_LEFTTEXT使用します。
BS_AUTORADIOBUTTON 2 つの状態を持つラジオ ボタンを作成します。 BST_CHECKEDBST_UNCHECKED 通常、オプション ボタンはグループで使用します。各グループで一度に選択できるオプションは 1 つだけです。 ボタンをクリックすると、所有者ウィンドウに通知が送信 BN_CLICKED され、クリックされたラジオ ボタンの状態が BST_CHECKED設定され、ボタン グループ内の他のすべてのラジオ ボタンの状態が BST_UNCHECKED次のように設定されます。 既定では、関連付けられたテキストはオプション ボタンの右側に表示されます。 ラジオ ボタンの左側にテキストを表示するには、またはBS_RIGHTBUTTONスタイルをBS_LEFTTEXT使用します。
BS_CHECKBOX 2 つの状態を持つ チェック ボックス ボタンを作成します BST_CHECKEDBST_UNCHECKED。 ボタンをクリックすると、所有者ウィンドウに通知が送信 BN_CLICKED されますが、ボタンの状態は変更されません。 既定では、関連付けられたテキストはチェック ボックスの右側に表示されます。 チェック ボックスの左側にテキストを表示するには、またはBS_RIGHTBUTTONスタイルをBS_LEFTTEXT使用します。
BS_COMMANDLINK コマンド リンク ボタンを作成します。 コマンド リンク ボタンは、Windows Vista に固有のコマンド ボタンで、メインテキストの左側に緑色の矢印が表示され、メインテキストの下にメモが表示されます。 メモのテキストを設定する方法は次を使用します CButton::SetNote
BS_DEFCOMMANDLINK コマンド リンク ボタンを作成します。 コマンド リンク ボタンは、Windows Vista に固有のコマンド ボタンで、メインテキストの左側に緑色の矢印が表示され、メインテキストの下にメモが表示されます。 メモのテキストを設定する方法は次を使用します CButton::SetNote。 ボタンがダイアログ ボックス内にある場合、Enter キーを押すと、ボタンに入力フォーカスがない場合でも、ダイアログ ボックスに通知が送信 BN_CLICKED されます。
BS_DEFPUSHBUTTON 境界線が黒くて太いコマンド ボタンを作成します。 ボタンがダイアログ ボックス内にある場合、Enter キーを押すと、ボタンに入力フォーカスがない場合でも、ダイアログ ボックスに通知が送信 BN_CLICKED されます。
BS_DEFSPLITBUTTON 分割ボタンを作成します。 分割ボタンは、Windows Vista に固有のコマンド ボタンで、ドロップダウン矢印に隣接するボタンが含まれています。 ボタンをクリックすると、既定のコマンドが実行されます。 ドロップダウン矢印をクリックすると、追加のコマンドのメニューが表示されます。 分割ボタンがダイアログ ボックス内にある場合、Enter キーを押すと、ボタンに入力フォーカスがない場合でも、ダイアログ ボックスに通知が送信 BN_CLICKED されます
BS_GROUPBOX 他のボタンをグループ化する四角形を作成します。 このスタイルに関連付けられたテキストは、この四角形の左上隅に表示されます。
BS_OWNERDRAW オーナー描画ボタンを作成します。 ボタンの外観が変更されると、フレームワークは DrawItem メソッドを呼び出します。 CBitmapButton クラスを使用するときは、このスタイルを設定する必要があります。
BS_PUSHBUTTON ユーザーがボタンをクリックしたときに所有者ウィンドウに通知を送信 BN_CLICKED するコマンド ボタンを作成します。
BS_RADIOBUTTON 2 つの状態を持つラジオ ボタンを作成します。 BST_CHECKEDBST_UNCHECKED 通常、オプション ボタンはグループで使用します。各グループで一度に選択できるオプションは 1 つだけです。 ボタンをクリックすると、所有者ウィンドウに通知が送信 BN_CLICKED されますが、グループ内のボタンの状態は自動的には変更されません。 既定では、関連付けられたテキストはオプション ボタンの右側に表示されます。 ラジオ ボタンの左側にテキストを表示するには、またはBS_RIGHTBUTTONスタイルをBS_LEFTTEXT使用します。
BS_SPLITBUTTON 分割ボタンを作成します。 分割ボタンは、Windows Vista に固有のコマンド ボタンで、ドロップダウン矢印に隣接するボタンが含まれています。 ボタンをクリックすると、既定のコマンドが実行されます。 ドロップダウン矢印をクリックすると、追加のコマンドのメニューが表示されます。
BS_USERBUTTON 現在では使用されていないスタイルですが、16 ビット バージョンの Windows との下位互換性のために残されています。 代わりに、Win32 ベースのアプリケーションを使用 BS_OWNERDRAW する必要があります。

ラジオ ボタンとチェック ボックスのスタイル

次の表は、オプション ボタンとチェック ボックスに固有のスタイルの一覧です。 これらのスタイルは、オプション ボタンおよびチェック ボックス以外のボタンの種類では無視されます。 次の中から 1 つ以上を必要に応じて選択できます。

Style 説明
BS_LEFTTEXT オプション ボタンまたはチェック ボックスのスタイルと組み合わせて指定すると、オプション ボタンまたはチェック ボックスの左側にテキストが表示されます。
BS_RIGHTBUTTON オプション ボタンまたはチェック ボックスのスタイルと組み合わせて指定すると、オプション ボタンまたはチェック ボックスの左側にテキストが表示されます。 このスタイルはスタイルと BS_LEFTTEXT 同じです。
BS_PUSHLIKE チェック ボックスまたはオプション ボタンの外観と動作をコマンド ボタンのようにします。 ボタンは、その状態が BST_CHECKED押されたときに押され、その状態がある場合は BST_INDETERMINATE押され、淡色表示され、その状態 BST_UNCHECKEDが .

ボタン テキストの配置スタイル

次の表は、水平方向と垂直方向のテキストの配置オプションの一覧です。 次のいずれかを必要に応じて選択できます。

Style 説明
BS_LEFT ボタンの四角形の内部にテキストを左寄せで配置します。 ただし、ボタンがスタイルを持BS_RIGHTBUTTONたないチェック ボックスまたはラジオ ボタンの場合、テキストはチェック ボックスまたはラジオ ボタンの右側に左揃えになります。
BS_RIGHT ボタンの四角形の内部にテキストを右寄せで配置します。 ただし、ボタンがスタイルを持BS_RIGHTBUTTONたないチェック ボックスまたはラジオ ボタンの場合、テキストは チェック ボックスまたはラジオ ボタンの右側に右揃えになります。
BS_CENTER ボタンの四角形内でテキストを水平方向に中央揃えで配置します。
BS_TOP ボタンの四角形の上部にテキストを配置します。
BS_BOTTOM ボタンの四角形の下部にテキストを配置します。
BS_VCENTER ボタンの四角形内でテキストを垂直方向に中央揃えで配置します。

ボタンのコンテンツ オプション

次の表は、ボタンに表示する内容を指定するオプションの一覧です。 テキストしか表示されないボタンの種類では、これらのスタイルは無視されます。 次のいずれかを必要に応じて選択できます。

Style 説明
BS_BITMAP ボタンにビットマップを表示することを指定します。
BS_ICON ボタンにアイコンを表示することを指定します。
BS_TEXT ボタンにテキストを表示することを指定します。

その他のボタン オプション

次の表は、任意のボタンの種類で使用できるその他のオプションの一覧です。 次の中から 1 つ以上を必要に応じて選択できます。

Style 説明
BS_FLAT ボタンが 2 次元であり、3 次元イメージを作成するための既定の網かけは描画しないように指定します。
BS_MULTILINE 文字列が長すぎてボタンの四角形の内部に 1 行で収まらない場合は、ボタン テキストを複数行に折り返します。
BS_NOTIFY ボタンが親ウィンドウにメッセージを送信BN_DBLCLKBN_SETFOCUSBN_KILLFOCUS通知できるようにします。 ボタンは、このスタイルが BN_CLICKED 指定されているかどうかに関係なく通知を送信します。

コンボ ボックスのスタイル

MFC では、次のコンボ ボックス スタイルを使用できます。 Windows のコンボ ボックス スタイルの詳細については、「コンボ ボックス スタイル (Windows)」を参照してください

Style 説明
CBS_AUTOHSCROLL ユーザーが行の末尾に文字を入力すると、編集コントロールのテキストを自動的に右にスクロールします。 このスタイルが設定されていないと、四角形境界内に収まる長さのテキストしか入力できません。
CBS_DISABLENOSCROLL リスト ボックスにスクロールするのに十分な項目が含まれていない場合、リスト ボックスには無効になっている垂直スクロール バーが表示されます。 このスタイルが設定されていないと、項目が少なくてスクロールする必要がない場合、スクロール バーは表示されません。
CBS_DROPDOWN 同様に CBS_SIMPLE、ユーザーが編集コントロールの横にあるアイコンを選択しない限り、リスト ボックスは表示されません。
CBS_DROPDOWNLIST 同様に CBS_DROPDOWN、編集コントロールが、リスト ボックスに現在の選択範囲を表示する静的テキスト項目に置き換えられる点を除きます。
CBS_HASSTRINGS 所有者描画コンボ ボックスには、文字列で構成される項目が含まれています。 コンボ ボックスは文字列に割り当てるメモリやポインターを維持するため、アプリケーションで、 GetText メンバー関数を使用して特定の項目のテキストを取得できます。
CBS_LOWERCASE 選択フィールドとリストの両方のすべてのテキストを小文字に変換します。
CBS_NOINTEGRALHEIGHT コンボ ボックスのサイズが、コンボ ボックスの作成時にアプリケーションによって指定されたサイズに正確に設定されることを指定します。 通常、コンボ ボックスのサイズは、すべての項目が表示されるように Windows によって調整されます。
CBS_OEMCONVERT コンボ ボックス編集コントロールに入力されたテキストは、ANSI 文字セットから OEM 文字セットに変換され、その後 ANSI に戻されます。 これにより、アプリケーションが Windows 関数 AnsiToOem を呼び出してコンボ ボックス内の ANSI 文字列を OEM 文字に変換するときに、文字変換が適切に実行されます。 このスタイルは、ファイル名を含むコンボ ボックスに最も役立ち、またはCBS_DROPDOWNスタイルでCBS_SIMPLE作成されたコンボ ボックスにのみ適用されます。
CBS_OWNERDRAWFIXED リスト ボックスの所有者は、その内容を描画する責任があります。リスト ボックス内の項目はすべて同じ高さです。
CBS_OWNERDRAWVARIABLE リスト ボックスの所有者は、その内容を描画する責任があります。リスト ボックス内の項目の高さは可変です。
CBS_SIMPLE リスト ボックスは常に表示されます。 編集コントロールには、リスト ボックス内で現在選択されている項目が表示されます。
CBS_SORT リスト ボックスに入力された文字列を自動的に並べ替えます。
CBS_UPPERCASE 選択フィールドとリストの両方のすべてのテキストを大文字に変換します。

スタイルの編集

スタイルの編集は、クラス オブジェクトにCEdit適用されます。 のパラメーターCEdit::CreatedwStyleスタイルの組み合わせを指定します。 Windows でのコントロール スタイルの編集の詳細については、「コントロール スタイルの編集 (Windows)」を参照してください

Style 説明
ES_AUTOHSCROLL ユーザーが行の末尾に文字を入力すると、テキストを 10 文字だけ右に自動的にスクロールします。 ユーザーが Enter キーを押すと、コントロールはすべてのテキストを 0 の位置までスクロールします。
ES_AUTOVSCROLL ユーザーが最後の行で Enter キーを押すと、テキストが 1 ページ上に自動的にスクロールされます。
ES_CENTER テキストを 1 行または複数行の編集コントロールの中央に配置します。
ES_LEFT 1 行または複数行の編集コントロールのテキストを左揃えにします。
ES_LOWERCASE 編集コントロールに入力されているすべての文字を小文字に変換します。
ES_MULTILINE 複数行の編集コントロールを指定します。 (既定値は 1 行です)。スタイルが ES_AUTOVSCROLL 指定されている場合、ユーザーが Enter キーを押すと、エディット コントロールはできるだけ多くの行を表示し、垂直方向にスクロールします。 指定しない場合 ES_AUTOVSCROLL 、編集コントロールは可能な限り多くの行を表示し、Enter キーを押すと、これ以上行を表示できない場合はビープ音が鳴ります。 スタイルを ES_AUTOHSCROLL 指定すると、キャレットがコントロールの右端を超えると、複数行の編集コントロールが自動的に水平方向にスクロールします。 新しい行を開始するには、ユーザーが Enter キーを押す必要があります。 指定しない場合 ES_AUTOHSCROLL 、コントロールは必要に応じて自動的に次の行の先頭に単語を折り返します。Enter キーを押すと、新しい行も開始されます。 ワードラップの位置は、ウィンドウ サイズによって決まります。 ウィンドウ サイズが変更されると、ワードラップの位置が変更され、テキストが再表示されます。 複数行の編集コントロールにはスクロール バーを含めることができます。 スクロール バーを含む編集コントロールは、独自のスクロール バー メッセージを処理します。 上で説明したようにスクロール バーなしでコントロールを編集し、親ウィンドウから送信されたスクロール メッセージを処理します。
ES_NOHIDESEL 通常、編集コントロールは、コントロールが入力フォーカスを失ったときに選択範囲を非表示にし、コントロールが入力フォーカスを受け取ったときに選択範囲を反転します。 指定すると、 ES_NOHIDESEL この既定のアクションが削除されます。
ES_NUMBER 編集コントロールに入力できるのは数字だけです。
ES_OEMCONVERT 編集コントロールに入力されたテキストは、ANSI 文字セットから OEM 文字セットに変換され、ANSI に戻されます。 これにより、アプリケーションが Windows 関数を呼び出して AnsiToOem 編集コントロールの ANSI 文字列を OEM 文字に変換するときに、適切な文字変換が保証されます。 このスタイルは、ファイル名を含む編集コントロールに最も役立ちます。
ES_PASSWORD 編集コントロールに入力されているすべての文字をアスタリスク (*) として表示します。 アプリケーションは、メンバー関数を SetPasswordChar 使用して、表示される文字を変更できます。
ES_READONLY ユーザーが編集コントロールにテキストを入力または編集できないようにします。
ES_RIGHT 1 行または複数行の編集コントロールのテキストを右揃えにします。
ES_UPPERCASE 編集コントロールに入力されているすべての文字を大文字に変換します。
ES_WANTRETURN ダイアログ ボックスの複数行編集コントロールにテキストを入力するときに、ユーザーが Enter キーを押したときに復帰を挿入するように指定します。 このスタイルがない場合、Enter キーを押すと、ダイアログ ボックスの既定の押ボタンを押すのと同じ効果があります。 このスタイルは、1 行の編集コントロールには影響しません。

フレームウィンドウのスタイル

フレーム ウィンドウ スタイルは、クラス オブジェクトにCFrameWnd適用されます。 のパラメーターCFrameWnd::CreatedwStyleスタイルの組み合わせを指定します。

Style 説明
FWS_ADDTOTITLE フレーム ウィンドウ タイトルの末尾に追加する情報を指定します。 たとえば、「Microsoft Draw - Drawing in Document1」などです。 アプリケーション ウィザードの [ドキュメント テンプレート文字列] タブに表示される文字列を指定できます。 このオプションをオフにする必要がある場合は、メンバー関数をオーバーライドします CWnd::PreCreateWindow
FWS_PREFIXTITLE フレーム ウィンドウのタイトルで、アプリケーション名の前にドキュメント名を表示します。 たとえば、"Document - WordPad" などです。 アプリケーション ウィザードの [ドキュメント テンプレート文字列] タブに表示される文字列を指定できます。 このオプションをオフにする必要がある場合は、メンバー関数をオーバーライドします CWnd::PreCreateWindow
FWS_SNAPTOBARS コントロール バーがフレーム ウィンドウにドッキングされるのではなく、フローティング ウィンドウ内にあるときにコントロール バーを囲むフレーム ウィンドウのサイズ設定を制御します。 このスタイルは、コントロール バーに合わせてウィンドウのサイズを変更します。

リスト ボックスのスタイル

リスト ボックス スタイルは、クラス オブジェクトにCListBox適用されます。 のパラメーターCListBox::CreatedwStyleスタイルの組み合わせを指定します。 Windows のリスト ボックス スタイルの詳細については、「リスト ボックス スタイル (Windows)」を参照してください

Style 説明
LBS_DISABLENOSCROLL リスト ボックスにスクロールするのに十分な項目が含まれていない場合、リスト ボックスには無効になっている垂直スクロール バーが表示されます。 このスタイルが設定されていないと、項目が少なくてスクロールする必要がない場合、スクロール バーは表示されません。
LBS_EXTENDEDSEL ユーザーは、Shift キーとマウスまたは特殊なキーの組み合わせを使用して、複数の項目を選択できます。
LBS_HASSTRINGS 文字列で構成される項目を含む所有者描画リスト ボックスを指定します。 リスト ボックスメイン文字列のメモリとポインターが含まれているため、アプリケーションはメンバー関数をGetText使用して特定の項目のテキストを取得できます。
LBS_MULTICOLUMN 水平方向にスクロールする複数列のリスト ボックスを指定します。 メンバー関数は SetColumnWidth 、列の幅を設定します。
LBS_MULTIPLESEL 文字列の選択は、ユーザーが文字列をクリックまたはダブルクリックするたびに切り替えられます。 任意の数の文字列を選択できます。
LBS_NODATA データなしのリスト ボックスを指定します。 リスト ボックス内の項目数が 1000 を超えるとき、このスタイルを指定します。 データなしリスト ボックスにはスタイルもLBS_OWNERDRAWFIXED必要ですが、スタイルをLBS_SORTLBS_HASSTRINGS持つ必要はありません。

データなしのリスト ボックスは、項目の文字列もビットマップ データも含まれない点を除き、オーナーの描画によるリスト ボックスに似ています。 項目を追加、挿入、または削除するコマンドは、指定された項目データを常に無視します。リスト ボックス内の文字列を検索する要求は常に失敗します。 アイテムを WM_DRAWITEM 描画する必要がある場合、システムはメッセージを所有者ウィンドウに送信します。 メッセージと共WM_DRAWITEMに渡される構造体の DRAWITEMSTRUCT itemID メンバーは、描画する項目の行番号を指定します。 データなしリスト ボックスはメッセージを WM_DELETEITEM 送信しません。
LBS_NOINTEGRALHEIGHT リスト ボックスのサイズは、アプリケーションがリスト ボックスを作成したときに指定したサイズに正確に設定されます。 通常、Windows はリスト ボックスのサイズを変更し、リスト ボックスに部分的な項目が表示されないようにします。
LBS_NOREDRAW リスト ボックスの表示は、変更が行われると更新されません。 このスタイルは、メッセージを送信 WM_SETREDRAW することでいつでも変更できます。
LBS_NOSEL 表示できるが選択できない項目がリスト ボックスに含まれていることを指定します。
LBS_NOTIFY 親ウィンドウは、ユーザーが文字列をクリックまたはダブルクリックするたびに入力メッセージを受信します。
LBS_OWNERDRAWFIXED リスト ボックスの所有者は、その内容を描画する責任があります。リスト ボックス内の項目の高さは同じです。
LBS_OWNERDRAWVARIABLE リスト ボックスの所有者は、その内容を描画する責任があります。リスト ボックス内の項目の高さは可変です。
LBS_SORT リスト ボックス内の文字列はアルファベット順に並べ替えられます。
LBS_STANDARD リスト ボックス内の文字列はアルファベット順に並べ替えられます。親ウィンドウは、ユーザーが文字列をクリックまたはダブルクリックするたびに入力メッセージを受け取ります。 リスト ボックスには、すべての辺に罫線が含まれています。
LBS_USETABSTOPS 文字列を描画するときに、リスト ボックスでタブ文字を認識および展開できるようにします。 既定のタブ位置は、32 個のダイアログ 単位です。 (ダイアログ ユニットは水平方向または垂直方向の距離です。1 つの水平ダイアログ単位は、現在のダイアログの基本幅単位の 4 分の 1 に相当します。ダイアログの基本単位は、現在のシステム フォントの高さと幅に基づいて計算されます。Windows 関数はGetDialogBaseUnits、現在のダイアログの基本単位をピクセル単位で返します。このスタイルは.LBS_OWNERDRAWFIXED
LBS_WANTKEYBOARDINPUT リスト ボックスの所有者は、リスト ボックスに入力フォーカスがあるときにユーザーがキーを押すたびに、メッセージを受け取 WM_VKEYTOITEM ります WM_CHARTOITEM 。 これにより、アプリケーションはキーボード入力に対して特別な処理を実行できます。

メッセージ ボックスのスタイル

メッセージ ボックススタイルはアイテムに AfxMessageBox 適用されます。 のパラメーターAfxMessageBoxnTypeスタイルの組み合わせを指定します。 Windows のメッセージ ボックス スタイルの詳細については、「関数 (Windows)」を参照してください。MessageBox

次のメッセージ ボックス スタイルを使用できます。

メッセージ ボックスの種類

Style 説明
MB_ABORTRETRYIGNORE メッセージ ボックスには、中止、再試行、無視の 3 つのプッシュ ボタンが含まれています。
MB_OK メッセージ ボックスには、1 つのプッシュ ボタン [OK] が含まれています。
MB_OKCANCEL メッセージ ボックスには、OK とキャンセルの 2 つのプッシュ ボタンが含まれています。
MB_RETRYCANCEL メッセージ ボックスには、再試行とキャンセルの 2 つのプッシュ ボタンが含まれています。
MB_YESNO メッセージ ボックスには、2 つのプッシュ ボタン (Yes と No) が含まれています。
MB_YESNOCANCEL メッセージ ボックスには、3 つのプッシュ ボタン (Yes、No、Cancel) が含まれています。

メッセージ ボックスのモダリティ

Style 説明
MB_APPLMODAL ユーザーは、現在のウィンドウで作業を続行する前に、メッセージ ボックスに応答する必要があります。 ただし、ユーザーは他のアプリケーションのウィンドウに移動して、それらのウィンドウで作業できます。 既定値は、 MB_APPLMODAL どちらも指定されていない MB_SYSTEMMODAL 場合です MB_TASKMODAL
MB_SYSTEMMODAL すべてのアプリケーションは、ユーザーがメッセージ ボックスに応答するまで中断されます。 システム モーダル メッセージ ボックスは、直ちに注意を払う必要があり、慎重に使用する必要がある重大な、潜在的に損傷を与える可能性のあるエラーをユーザーに通知するために使用されます。
MB_TASKMODAL MB_APPLMODALに似ていますが、Microsoft Foundation クラス アプリケーション内では役に立ちません。 このフラグは、使用可能なウィンドウ ハンドルがない呼び出し元のアプリケーションまたはライブラリ用に予約されています。

メッセージ ボックス アイコン

Style 説明
MB_ICONEXCLAMATION 感嘆符アイコンがメッセージ ボックスに表示されます。
MB_ICONINFORMATION 円の中の "I" で構成されるアイコンがメッセージ ボックスに表示されます。
MB_ICONQUESTION メッセージ ボックスに疑問符アイコンが表示されます。
MB_ICONSTOP メッセージ ボックスに停止記号アイコンが表示されます。

メッセージ ボックスの既定のボタン

Style 説明
MB_DEFBUTTON1 最初のボタンが既定値です。 指定しない限りMB_DEFBUTTON2MB_DEFBUTTON3、最初のボタンは常に既定値であることに注意してください。
MB_DEFBUTTON2 2 番目のボタンが既定値です。
MB_DEFBUTTON3 3 番目のボタンが既定値です。

スクロール バーのスタイル

スクロール バーのスタイルは、クラス オブジェクトにCScrollBar適用されます。 のパラメーターCScrollBar::CreatedwStyleスタイルの組み合わせを指定します。 Windows のスクロール バー コントロール スタイルの詳細については、「スクロール バー コントロール のスタイル (Windows)」を参照してください

Style 説明
SBS_BOTTOMALIGN スタイルと共に使用されます SBS_HORZ 。 スクロール バーの下端は、メンバー関数で指定された四角形の下端に Create 揃えられます。 スクロール バーには、システム スクロール バーの既定の高さがあります。
SBS_HORZ 水平スクロール バーを指定します。 また、 SBS_BOTTOMALIGN スタイルも SBS_TOPALIGN 指定されていない場合、スクロール バーには、メンバー関数で指定された高さ、幅、位置があります Create
SBS_LEFTALIGN スタイルと共に使用されます SBS_VERT 。 スクロール バーの左端は、メンバー関数で指定された四角形の左端に Create 揃えられます。 スクロール バーには、システム スクロール バーの既定の幅があります。
SBS_RIGHTALIGN スタイルと共に使用されます SBS_VERT 。 スクロール バーの右端は、メンバー関数で指定された四角形の右端に Create 揃えられます。 スクロール バーには、システム スクロール バーの既定の幅があります。
SBS_SIZEBOX サイズ ボックスを指定します。 またSBS_SIZEBOXTOPLEFTALIGNSBS_SIZEBOXBOTTOMRIGHTALIGNスタイルも指定されていない場合、サイズ ボックスにはメンバー関数で指定された高さ、幅、位置がありますCreate
SBS_SIZEBOXBOTTOMRIGHTALIGN スタイルと共に使用されます SBS_SIZEBOX 。 サイズ ボックスの右下隅は、メンバー関数で指定された四角形の右下隅に Create 揃えられます。 サイズ ボックスには、システム サイズ ボックスの既定のサイズがあります。
SBS_SIZEBOXTOPLEFTALIGN スタイルと共に使用されます SBS_SIZEBOX 。 サイズ ボックスの左上隅は、メンバー関数で指定された四角形の左上隅に Create 揃えられます。 サイズ ボックスには、システム サイズ ボックスの既定のサイズがあります。
SBS_SIZEGRIP SBS_SIZEBOXと同じですが、エッジが上がっている場合と同じです。
SBS_TOPALIGN スタイルと共に使用されます SBS_HORZ 。 スクロール バーの上端は、メンバー関数で指定された四角形の上端に Create 揃えられます。 スクロール バーには、システム スクロール バーの既定の高さがあります。
SBS_VERT 垂直スクロール バーを指定します。 また、 SBS_RIGHTALIGN スタイルも SBS_LEFTALIGN 指定されていない場合、スクロール バーには、メンバー関数で指定された高さ、幅、位置があります Create

静的スタイル

静的スタイルは、クラス オブジェクトにCStatic適用されます。 のパラメーターCStatic::CreatedwStyleスタイルの組み合わせを指定します。 Windows の静的コントロール スタイルの詳細については、「静的コントロール スタイル (Windows)」を参照してください

Style 説明
SS_BITMAP ビットマップを静的コントロールに表示することを指定します。 指定されたテキストは、リソース ファイル内の別の場所で定義されているビットマップの名前 (ファイル名ではありません) です。 このスタイルでは、nWidth パラメーターと nHeight パラメーターは無視されます。コントロールは、ビットマップに合わせて自動的にサイズを調整します。
SS_BLACKFRAME ウィンドウ フレームと同じ色で描画されたフレームを含むボックスを指定します。 既定値は黒です。
SS_BLACKRECT ウィンドウ フレームの描画に使用する色で塗りつぶされた四角形を指定します。 既定値は黒です。
SS_CENTER 単純な四角形を指定し、指定したテキストを四角形の中央に表示します。 テキストは表示前に書式設定されます。 行の末尾を超えて拡張される単語は、自動的に次の中央揃え線の先頭に折り返されます。
SS_CENTERIMAGE ビットマップまたはアイコンが静的コントロールのクライアント領域よりも小さい場合、クライアント領域の残りの部分にビットマップまたはアイコンの左上隅にあるピクセルの色が塗りつぶされることを指定します。 静的コントロールに 1 行のテキストが含まれている場合、テキストはコントロールのクライアント領域の垂直方向の中央に配置されます。
SS_ENDELLIPSIS または SS_PATHELLIPSIS 、指定した文字列の一部を省略記号 (必要に応じて) に置き換えて、指定した四角形に結果が収まるようにします。

文字列の末尾の文字を置き換えるか、SS_PATHELLIPSIS文字列の途中の文字を置き換えるかを指定SS_END_ELLIPSISできます。 文字列に円記号 (\) 文字が含まれている場合は、 SS_PATHELLIPSIS 最後の円記号の後のテキストをできるだけ多く保持します。
SS_ENHMETAFILE 拡張メタファイルを静的コントロールに表示することを指定します。 指定されたテキストはメタファイルの名前です。 拡張メタファイル静的コントロールには固定サイズがあります。メタファイルは、静的コントロールのクライアント領域に合わせてスケーリングされます。
SS_ETCHEDFRAME エッジ スタイルを使用して、静的コントロールのフレームを EDGE_ETCHED 描画します。
SS_ETCHEDHORZ エッジ スタイルを使用して、静的コントロールの上端と下端を EDGE_ETCHED 描画します。
SS_ETCHEDVERT エッジ スタイルを使用して、静的コントロールの左端と右端を EDGE_ETCHED 描画します。
SS_GRAYFRAME 画面の背景 (デスクトップ) と同じ色で描画されたフレームを含むボックスを指定します。 既定値は灰色です。
SS_GRAYRECT 画面の背景を塗りつぶすために使用する色で塗りつぶされた四角形を指定します。 既定値は灰色です。
SS_ICON ダイアログ ボックスに表示されるアイコンを指定します。 指定されたテキストは、リソース ファイル内の別の場所で定義されているアイコンの名前 (ファイル名ではありません) です。 パラメーターとnHeightパラメーターはnWidth無視されます。アイコン自体のサイズは自動的に変更されます。
SS_LEFT 単純な四角形を指定し、指定されたテキストを四角形の左にフラッシュして表示します。 テキストは表示前に書式設定されます。 行の末尾を超える単語は、次のフラッシュ左行の先頭に自動的に折り返されます。
SS_LEFTNOWORDWRAP 単純な四角形を指定し、指定されたテキストを四角形の左にフラッシュして表示します。 タブは展開されますが、単語は折り返されません。 行の末尾を越えて拡張されたテキストはクリップされます。
SS_NOPREFIX このスタイルを指定しない限り、Windows はコントロールのテキスト内のアンパサンド (> 文字) をアクセラレータ プレフィックス文字として解釈します。 この場合、アンパサンドが削除され、文字列内の次の文字に下線が引かれます。 静的コントロールにこの機能が不要なテキストを含める場合は、 SS_NOPREFIX 追加できます。 この静的コントロール スタイルは、定義されている任意の静的コントロールに含まれる場合があります。 ビットごとの OR 演算子を使用して、他のスタイルと組み合わせることができます SS_NOPREFIX 。 これは、アンパサンドを含むファイル名またはその他の文字列をダイアログ ボックスの静的コントロールに表示する必要がある場合に最もよく使用されます。
SS_NOTIFY ユーザーがコントロールをクリックまたはダブルクリックしたときに、親ウィンドウSTN_CLICKEDSTN_DBLCLK、、STN_DISABLEおよびSTN_ENABLE通知メッセージを送信します。
SS_OWNERDRAW 静的コントロールの所有者がコントロールの描画を担当することを指定します。 コントロールを描画する WM_DRAWITEM 必要があるときは常に、所有者ウィンドウにメッセージが表示されます。
SS_REALSIZEIMAGE 静的アイコンまたはビットマップ コントロール (つまり、スタイルを持つ SS_ICON 静的コントロール) が、読み込み時または SS_BITMAP 描画時にサイズ変更されないようにします。 アイコンまたはビットマップがコピー先領域よりも大きい場合、イメージはクリップされます。
SS_RIGHT 単純な四角形を指定し、指定されたテキストを四角形の右にフラッシュして表示します。 テキストは表示前に書式設定されます。 行の末尾を超える単語は、次のフラッシュ右行の先頭に自動的に折り返されます。
SS_RIGHTJUST スタイルまたはSS_ICON スタイルを持つSS_BITMAP静的コントロールの右下隅を、コントロールのサイズ変更時に再メイン固定することを指定します。 新しいビットマップまたはアイコンに合わせて調整されるのは、左上だけです。
SS_SIMPLE 単純な四角形を指定し、四角形の左に 1 行のテキストを表示します。 テキスト行を短くしたり、変更したりすることはできません。 (コントロールの親ウィンドウまたはダイアログ ボックスでメッセージを WM_CTLCOLOR 処理することはできません)。
SS_SUNKEN 静的コントロールの周囲に半分沈んだ境界線を描画します。
SS_USERITEM ユーザー定義アイテムを指定します。
SS_WHITEFRAME ウィンドウの背景と同じ色で描画されたフレームを含むボックスを指定します。 既定の色は白です。
SS_WHITERECT ウィンドウの背景を塗りつぶすために使用する色で塗りつぶされた四角形を指定します。 既定の色は白です。
SS_WORDELLIPSIS 収まらないテキストを切り捨て、省略記号を追加します。

ウィンドウ スタイル

ウィンドウ スタイルは、クラス オブジェクトにCWnd適用されます。 の dwStyle パラメーターにスタイルのCWnd::Create組み合わせを指定しますCWnd::CreateEx Windows のウィンドウ スタイルの詳細については、「ウィンドウ スタイル (Windows)」を参照してください

Style 説明
WS_BORDER 罫線を持つウィンドウを作成します。
WS_CAPTION タイトル バーがあるウィンドウを作成します (スタイルを WS_BORDER 意味します)。 スタイルと共に WS_DLGFRAME 使用することはできません。
WS_CHILD 子ウィンドウを作成します。 スタイルと共に WS_POPUP 使用することはできません。
WS_CHILDWINDOW スタイルと WS_CHILD 同じです。
WS_CLIPCHILDREN 親ウィンドウ内に描画された子ウィンドウによって占有される領域を除外します。 親ウィンドウを作成するときに使用します。
WS_CLIPSIBLINGS 子ウィンドウを互いに相対的にクリップします。つまり、特定の子ウィンドウがペイント メッセージを受け取ると、スタイルは WS_CLIPSIBLINGS 、更新する子ウィンドウの領域から他のすべての重複する子ウィンドウをクリップします。 (子ウィンドウが重なり合っていない場合 WS_CLIPSIBLINGS 、子ウィンドウのクライアント領域内に描画すると、隣接する子ウィンドウのクライアント領域内に描画できます)。スタイルでのみ使用します WS_CHILD
WS_DISABLED 最初から無効になるウィンドウを作成します。
WS_DLGFRAME 二重罫線を持つウィンドウを作成しますが、タイトルは作成しません。
WS_GROUP ユーザーが方向キーを使用して 1 つのコントロールから次のコントロールに移動できるコントロールのグループの最初のコントロールを指定します。 最初のコントロールの後にスタイルFALSEWS_GROUP定義されたすべてのコントロールは、同じグループに属します。 スタイルを持つ次の WS_GROUP コントロールは、次のグループを開始します (つまり、1 つのグループは次のグループの開始位置で終了します)。
WS_HSCROLL 水平スクロール バーがあるウィンドウを作成します。
WS_ICONIC 最初に最小化されたウィンドウを作成します。 スタイルと WS_MINIMIZE 同じです。
WS_MAXIMIZE 最大サイズのウィンドウを作成します。
WS_MAXIMIZEBOX 最大化ボタンを含むウィンドウを作成します。
WS_MINIMIZE 最初に最小化されたウィンドウを作成します。 スタイルでのみ使用します WS_OVERLAPPED
WS_MINIMIZEBOX [最小化] ボタンがあるウィンドウを作成します。
WS_OVERLAPPED ウィンドウの重なりを作成します。 オーバーラップ ウィンドウには、通常キャプションと境界線があります。
WS_OVERLAPPEDWINDOW WS_CAPTION、、WS_SYSMENUWS_MINIMIZEBOXWS_THICKFRAME、およびスタイルを使用してWS_OVERLAPPED、重なり合ったウィンドウをWS_MAXIMIZEBOX作成します。
WS_POPUP ポップアップ ウィンドウを作成します。 スタイルと共に WS_CHILD 使用することはできません。
WS_POPUPWINDOW WS_POPUP、およびスタイルを含むポップアップ ウィンドウをWS_BORDERWS_SYSMENU作成します。 [ WS_CAPTION コントロール] メニューを表示するには、スタイルを WS_POPUPWINDOW スタイルと組み合わせる必要があります。
WS_SIZEBOX サイズ変更の境界線を持つウィンドウを作成します。 スタイルと WS_THICKFRAME 同じです。
WS_SYSMENU タイトル バーにコントロール メニュー ボックスがあるウィンドウを作成します。 タイトル バーのあるウィンドウで使用します。
WS_TABSTOP Tab キーを使用してユーザーが移動できる任意の数のコントロールのいずれかを指定します。 Tab キーを押すと、スタイルで指定された次のコントロールにユーザーが WS_TABSTOP 移動します。
WS_THICKFRAME ウィンドウのサイズを変更するために使用できる太いフレームを持つウィンドウを作成します。
WS_TILED ウィンドウの重なりを作成します。 オーバーラップ ウィンドウには、タイトル バーと境界線があります。 スタイルと WS_OVERLAPPED 同じです。
WS_TILEDWINDOW WS_CAPTION、、WS_SYSMENUWS_MINIMIZEBOXWS_THICKFRAME、およびスタイルを使用してWS_OVERLAPPED、重なり合ったウィンドウをWS_MAXIMIZEBOX作成します。 スタイルと WS_OVERLAPPEDWINDOW 同じです。
WS_VISIBLE 最初から表示されるウィンドウを作成します。
WS_VSCROLL 垂直スクロール バーがあるウィンドウを作成します。

拡張ウィンドウ スタイル

拡張ウィンドウ スタイルは、クラス オブジェクトにCWnd適用されます。 のパラメーターCWnd::CreateExdwExStyleスタイルの組み合わせを指定します。 Windows の拡張ウィンドウ スタイルの詳細については、「拡張ウィンドウ スタイル (Windows)」を参照してください

Style 説明
WS_EX_ACCEPTFILES このスタイルで作成されたウィンドウがドラッグ アンド ドロップ ファイルを受け入れることを指定します。
WS_EX_APPWINDOW ウィンドウが表示されているときに、トップレベル ウィンドウをタスク バーに強制的に配置します。
WS_EX_CLIENTEDGE ウィンドウに 3D の外観 (つまり、エッジが沈んだ境界線) があることを指定します。
WS_EX_CONTEXTHELP ウィンドウのタイトル バーに疑問符が含まれます。 ユーザーがこの疑問符をクリックすると、カーソルは、疑問符付きのポインターに変化します。 ユーザーが子ウィンドウをクリックすると、子はメッセージを WM_HELP 受け取ります。
WS_EX_CONTROLPARENT Tab キーを使用して、ユーザーがウィンドウの子ウィンドウ間を移動できるようにします。
WS_EX_DLGMODALFRAME パラメーターでスタイル フラグを指定するときにタイトル バーを使用して作成できる二重罫線を持つウィンドウをWS_CAPTIONdwStyle指定します (必要に応じて)。
WS_EX_LAYERED ウィンドウは 階層化されたウィンドウです。 ウィンドウにクラス スタイルが 1 つまたは複数CS_OWNDCCS_CLASSDCある場合、このスタイルは使用できません。 ただし、Microsoft Windows 8 では子ウィンドウの WS_EX_LAYERED スタイルがサポートされています。以前のバージョンの Windows では、最上位のウィンドウでのみサポートされています。
WS_EX_LEFT ウィンドウの一般的な左揃えプロパティを提供します。 これが既定です。
WS_EX_LEFTSCROLLBAR クライアント領域の左側に垂直スクロール バーを配置します。
WS_EX_LTRREADING 左から右への読み取り順序プロパティを使用してウィンドウ テキストを表示します。 これが既定です。
WS_EX_MDICHILD MDI 子ウィンドウを作成します。
WS_EX_NOPARENTNOTIFY このスタイルで作成された子ウィンドウが、子ウィンドウの WM_PARENTNOTIFY 作成時または破棄時に親ウィンドウにメッセージを送信しないことを指定します。
WS_EX_OVERLAPPEDWINDOW WS_EX_WINDOWEDGEスタイルを組み合わせたものWS_EX_CLIENTEDGE
WS_EX_PALETTEWINDOW スタイルとスタイルWS_EX_TOPMOSTWS_EX_WINDOWEDGE組み合わせます。
WS_EX_RIGHT ウィンドウの一般的な右揃えプロパティを提供します。 これはウィンドウ クラスに依存します。
WS_EX_RIGHTSCROLLBAR クライアント領域の右側に垂直スクロール バー (存在する場合) を配置します。 これが既定です。
WS_EX_RTLREADING 右から左への読み取り順序プロパティを使用してウィンドウ テキストを表示します。
WS_EX_STATICEDGE ユーザー入力を受け入れられないアイテムに使用することを目的とした 3 次元の罫線スタイルを持つウィンドウを作成します。
WS_EX_TOOLWINDOW ツール ウィンドウを作成します。これは、フローティング ツール バーとして使用することを目的としたウィンドウです。 ツール ウィンドウには、通常のタイトル バーより短いタイトル バーがあり、ウィンドウ タイトルは小さいフォントを使用して描画されます。 ツール ウィンドウは、タスク バーの中、またはユーザーが Alt + Tab キーを押したときに表示されるウィンドウには表示されません。
WS_EX_TOPMOST このスタイルで作成されたウィンドウを、最上位以外のすべてのウィンドウの上に配置し、ウィンドウが非アクティブ化されている場合でもその上に配置することを指定します。 アプリケーションは SetWindowPos のメンバー関数を使用して、この属性を追加または削除することができます。
WS_EX_TRANSPARENT このスタイルで作成されたウィンドウを透明にすることを指定します。 つまり、このウィンドウより奥にあるすべてのウィンドウは、このウィンドウによって隠されることはありません。 このスタイルで作成されたウィンドウは、 WM_PAINT その下にあるすべての兄弟ウィンドウが更新された後にのみメッセージを受信します。
WS_EX_WINDOWEDGE ウィンドウに上げエッジを持つ罫線があることを指定します。

関連項目

MFC クラスの概要
CWnd::Create
CWnd::CreateEx
CEdit::Create
CScrollBar::Create
CStatic::Create
AfxMessageBox
CreateWindow
CreateWindowEx
ボタン のスタイル (Windows)
コンボ ボックス スタイル (Windows)
コントロール スタイルの編集 (Windows)
リスト ボックスのスタイル (Windows)
MessageBox 関数 (Windows)
スクロール バー コントロールのスタイル (Windows)
静的コントロール スタイル (Windows)
ウィンドウ スタイル (Windows)
拡張ウィンドウ スタイル (Windows)