MFC で使用するスタイル

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

ボタンのスタイル

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

ボタンの種類

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

種類 説明
BS_3STATE 、、および の 3 つの状態BST_CHECKEDBST_INDETERMINATEを持つチェック ボックス ボタンを作成しますBST_UNCHECKED。 ボタンをクリックすると、所有者ウィンドウに通知が送信 BN_CLICKED されますが、ボタンの状態は変更されません。 既定では、関連付けられたテキストはチェック ボックスの右側に表示されます。 チェック ボックスの左側にテキストを表示するには、 または BS_RIGHTBUTTON スタイルをBS_LEFTTEXT使用します。
BS_AUTO3STATE 、、および の 3 つの状態BST_CHECKEDBST_INDETERMINATEを持つチェック ボックス ボタンを作成しますBST_UNCHECKED。 ボタンをクリックすると、 BN_CLICKED 所有者ウィンドウに通知が送信され、ボタンの状態が変更されます。 ボタンの状態は、および のBST_CHECKEDBST_INDETERMINATE順序で循環しますBST_UNCHECKED。 既定では、関連付けられたテキストはチェック ボックスの右側に表示されます。 チェック ボックスの左側にテキストを表示するには、 または BS_RIGHTBUTTON スタイルをBS_LEFTTEXT使用します。
BS_AUTOCHECKBOX と の 2 つの状態BST_CHECKEDを持つチェック ボックス ボタンをBST_UNCHECKED作成します。 ボタンをクリックすると、 BN_CLICKED 所有者ウィンドウに通知が送信され、ボタンの状態が変更されます。 既定では、関連付けられたテキストはチェック ボックスの右側に表示されます。 チェック ボックスの左側にテキストを表示するには、 または BS_RIGHTBUTTON スタイルをBS_LEFTTEXT使用します。
BS_AUTORADIOBUTTON と の 2 つの状態 BST_CHECKED を持つラジオ ボタンを BST_UNCHECKED作成します。 通常、オプション ボタンはグループで使用します。各グループで一度に選択できるオプションは 1 つだけです。 ボタンをクリックすると、所有者ウィンドウに通知が送信 BN_CLICKED され、クリックされたラジオ ボタンの状態が に BST_CHECKED設定され、ボタン グループ内の他のすべてのラジオ ボタンの状態が に BST_UNCHECKED設定されます。 既定では、関連付けられたテキストはオプション ボタンの右側に表示されます。 ラジオ ボタンの左側にテキストを表示するには、 または BS_RIGHTBUTTON スタイルをBS_LEFTTEXT使用します。
BS_CHECKBOX と の 2 つの状態BST_CHECKEDを持つチェック ボックス ボタンをBST_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_CHECKED を持つラジオ ボタンを BST_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_SETFOCUS 通知メッセージを親ウィンドウに送信BN_DBLCLKBN_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 選択フィールドとリストの両方のすべてのテキストを大文字に変換します。

スタイルを編集する

スタイルの編集は、Class オブジェクトに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 行の編集コントロールには影響しません。

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

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

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

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

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

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

データなしリスト ボックスは、アイテムの文字列またはビットマップ データが含まれない点を除き、所有者が描画したリスト ボックスに似ています。 アイテムを追加、挿入、または削除するコマンドは、常に特定のアイテム データを無視します。リスト ボックス内の文字列を検索する要求は常に失敗します。 アイテムを 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_VKEYTOITEMWM_CHARTOITEM。 これにより、アプリケーションはキーボード入力に対して特別な処理を実行できます。

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

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

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

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

Style 説明
MB_ABORTRETRYIGNORE メッセージ ボックスには、Abort、Retry、Ignore の 3 つのプッシュ ボタンが含まれています。
MB_OK メッセージ ボックスには、1 つのプッシュ ボタン [OK] が含まれています。
MB_OKCANCEL メッセージ ボックスには、[OK] と [キャンセル] の 2 つのプッシュ ボタンが含まれています。
MB_RETRYCANCEL メッセージ ボックスには、再試行とキャンセルの 2 つのプッシュ ボタンが含まれています。
MB_YESNO メッセージ ボックスには、[はい] と [いいえ] の 2 つのプッシュ ボタンが含まれています。
MB_YESNOCANCEL メッセージ ボックスには、[はい]、[いいえ]、[キャンセル] の 3 つのプッシュ ボタンが含まれています。

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

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

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

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

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

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

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

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

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

静的スタイル

静的スタイルは Class オブジェクトに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 ダイアログ ボックスに表示されるアイコンを指定します。 指定されたテキストは、リソース ファイル内の他の場所で定義されているアイコンの名前 (ファイル名ではありません) です。 nWidthパラメーターと nHeight パラメーターは無視されます。アイコン自体のサイズは自動的に変更されます。
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 収まらないテキストを切り捨て、省略記号を追加します。

ウィンドウ スタイル

ウィンドウ スタイルは Class オブジェクトに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_CAPTIONWS_THICKFRAMEWS_SYSMENUWS_MINIMIZEBOX、および の各スタイルを使用してWS_OVERLAPPED、重なり合ったウィンドウをWS_MAXIMIZEBOX作成します。
WS_POPUP    ポップアップ ウィンドウを作成します。 スタイルでは WS_CHILD 使用できません。
WS_POPUPWINDOW 、、および スタイルをWS_BORDERWS_POPUP含むポップアップ ウィンドウをWS_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_CAPTIONWS_THICKFRAMEWS_SYSMENUWS_MINIMIZEBOX、および の各スタイルを使用してWS_OVERLAPPED、重なり合ったウィンドウをWS_MAXIMIZEBOX作成します。 スタイルと WS_OVERLAPPEDWINDOW 同じです。
WS_VISIBLE 最初から表示されるウィンドウを作成します。
WS_VSCROLL 垂直スクロール バーを含むウィンドウを作成します。

拡張ウィンドウ スタイル

拡張ウィンドウ スタイルは、Class オブジェクトに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 ウィンドウは レイヤーウィンドウです。 ウィンドウのクラス スタイルが または CS_CLASSDCの場合、このスタイルCS_OWNDCは使用できません。 ただし、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_TOPMOST スタイルをWS_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)