MFC で使用するスタイル
対応する MFC オブジェクトを作成するときに、ウィンドウまたはコントロールの外観と動作を指定するには、次のスタイル フラグを使用します。 ほとんどの場合、これらのスタイルはクラス Create
関数の dwStyle
パラメーターで設定されます。
ボタン スタイル
ボタン スタイルは、ラジオ ボタン、チェック ボックス、押しボタンなどの CButton Class
オブジェクトに適用されます。 CButton::Create
のdwStyle
パラメーターでスタイルの組み合わせを指定します。 Windows のボタン スタイルの詳細については、「 Button Styles (Windows)」を参照してください。
ボタンの種類
次の表は、ボタンの種類の一覧です。 次のいずれかを必要に応じて選択できます。 ボタンの種類を指定しない場合、既定値は BS_PUSHBUTTON
です。
型 | 説明 |
---|---|
BS_3STATE |
BST_CHECKED 、BST_INDETERMINATE 、BST_UNCHECKED の 3 つの状態を持つチェック ボックス ボタンを作成します。 ボタンをクリックすると、 BN_CLICKED 通知が所有者ウィンドウに送信されますが、ボタンの状態は変更されません。 既定では、関連付けられたテキストはチェック ボックスの右側に表示されます。 チェック ボックスの左側にテキストを表示するには、 BS_LEFTTEXT または BS_RIGHTBUTTON スタイルを使用します。 |
BS_AUTO3STATE |
BST_CHECKED 、BST_INDETERMINATE 、BST_UNCHECKED の 3 つの状態を持つチェック ボックス ボタンを作成します。 ボタンをクリックすると、 BN_CLICKED 通知が所有者ウィンドウに送信され、ボタンの状態が変更されます。 ボタンの状態は、 BST_CHECKED 、 BST_INDETERMINATE 、および BST_UNCHECKED の順序で循環します。 既定では、関連付けられたテキストはチェック ボックスの右側に表示されます。 チェック ボックスの左側にテキストを表示するには、 BS_LEFTTEXT または BS_RIGHTBUTTON スタイルを使用します。 |
BS_AUTOCHECKBOX |
BST_CHECKED とBST_UNCHECKED の 2 つの状態を持つチェック ボックス ボタンを作成します。 ボタンをクリックすると、 BN_CLICKED 通知が所有者ウィンドウに送信され、ボタンの状態が変更されます。 既定では、関連付けられたテキストはチェック ボックスの右側に表示されます。 チェック ボックスの左側にテキストを表示するには、 BS_LEFTTEXT または BS_RIGHTBUTTON スタイルを使用します。 |
BS_AUTORADIOBUTTON |
BST_CHECKED とBST_UNCHECKED の 2 つの状態を持つラジオ ボタンを作成します。 通常、オプション ボタンはグループで使用します。各グループで一度に選択できるオプションは 1 つだけです。 ボタンをクリックすると、 BN_CLICKED 通知が所有者ウィンドウに送信され、クリックされたラジオ ボタンの状態が BST_CHECKED に設定され、ボタン グループ内の他のすべてのラジオ ボタンの状態が BST_UNCHECKED に設定されます。 既定では、関連付けられたテキストはオプション ボタンの右側に表示されます。 ラジオ ボタンの左側にテキストを表示するには、 BS_LEFTTEXT または BS_RIGHTBUTTON スタイルを使用します。 |
BS_CHECKBOX |
BST_CHECKED とBST_UNCHECKED の 2 つの状態を持つチェック ボックス ボタンを作成します。 ボタンをクリックすると、 BN_CLICKED 通知が所有者ウィンドウに送信されますが、ボタンの状態は変更されません。 既定では、関連付けられたテキストはチェック ボックスの右側に表示されます。 チェック ボックスの左側にテキストを表示するには、 BS_LEFTTEXT または BS_RIGHTBUTTON スタイルを使用します。 |
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 |
BST_CHECKED とBST_UNCHECKED の 2 つの状態を持つラジオ ボタンを作成します。 通常、オプション ボタンはグループで使用します。各グループで一度に選択できるオプションは 1 つだけです。 ボタンをクリックすると、 BN_CLICKED 通知が所有者ウィンドウに送信されますが、グループ内のボタンの状態は自動的には変更されません。 既定では、関連付けられたテキストはオプション ボタンの右側に表示されます。 ラジオ ボタンの左側にテキストを表示するには、 BS_LEFTTEXT または BS_RIGHTBUTTON スタイルを使用します。 |
BS_SPLITBUTTON |
分割ボタンを作成します。 分割ボタンは、Windows Vista に固有のコマンド ボタンで、ドロップダウン矢印に隣接するボタンが含まれています。 ボタンをクリックすると、既定のコマンドが実行されます。 ドロップダウン矢印をクリックすると、追加のコマンドのメニューが表示されます。 |
BS_USERBUTTON |
現在では使用されていないスタイルですが、16 ビット バージョンの Windows との下位互換性のために残されています。 Win32 ベースのアプリケーションでは、代わりに BS_OWNERDRAW を使用する必要があります。 |
ラジオ ボタンとチェック ボックスのスタイル
次の表は、オプション ボタンとチェック ボックスに固有のスタイルの一覧です。 これらのスタイルは、オプション ボタンおよびチェック ボックス以外のボタンの種類では無視されます。 次の中から 1 つ以上を必要に応じて選択できます。
スタイル | 説明 |
---|---|
BS_LEFTTEXT |
オプション ボタンまたはチェック ボックスのスタイルと組み合わせて指定すると、オプション ボタンまたはチェック ボックスの左側にテキストが表示されます。 |
BS_RIGHTBUTTON |
オプション ボタンまたはチェック ボックスのスタイルと組み合わせて指定すると、オプション ボタンまたはチェック ボックスの左側にテキストが表示されます。 このスタイルは、 BS_LEFTTEXT スタイルと同じです。 |
BS_PUSHLIKE |
チェック ボックスまたはオプション ボタンの外観と動作をコマンド ボタンのようにします。 状態が BST_CHECKED されるとボタンが押され、状態が BST_INDETERMINATE されると押されて淡色表示され、状態が BST_UNCHECKED されると離されます。 |
ボタン テキストの配置スタイル
次の表は、水平方向と垂直方向のテキストの配置オプションの一覧です。 次のいずれかを必要に応じて選択できます。
スタイル | 説明 |
---|---|
BS_LEFT |
ボタンの四角形の内部にテキストを左寄せで配置します。 ただし、ボタンが BS_RIGHTBUTTON スタイルを持たないチェック ボックスまたはラジオ ボタンの場合、テキストはチェック ボックスまたはラジオ ボタンの右側に左揃えになります。 |
BS_RIGHT |
ボタンの四角形の内部にテキストを右寄せで配置します。 ただし、ボタンが BS_RIGHTBUTTON スタイルを持たないチェック ボックスまたはラジオ ボタンの場合、テキストはチェック ボックスまたはラジオ ボタンの右側に右揃えになります。 |
BS_CENTER |
ボタンの四角形内でテキストを水平方向に中央揃えで配置します。 |
BS_TOP |
ボタンの四角形の上部にテキストを配置します。 |
BS_BOTTOM |
ボタンの四角形の下部にテキストを配置します。 |
BS_VCENTER |
ボタンの四角形内でテキストを垂直方向に中央揃えで配置します。 |
ボタンのコンテンツ オプション
次の表は、ボタンに表示する内容を指定するオプションの一覧です。 テキストしか表示されないボタンの種類では、これらのスタイルは無視されます。 次のいずれかを必要に応じて選択できます。
スタイル | 説明 |
---|---|
BS_BITMAP |
ボタンにビットマップを表示することを指定します。 |
BS_ICON |
ボタンにアイコンを表示することを指定します。 |
BS_TEXT |
ボタンにテキストを表示することを指定します。 |
その他のボタン オプション
次の表は、任意のボタンの種類で使用できるその他のオプションの一覧です。 次の中から 1 つ以上を必要に応じて選択できます。
スタイル | 説明 |
---|---|
BS_FLAT |
ボタンが 2 次元であり、3 次元イメージを作成するための既定の網かけは描画しないように指定します。 |
BS_MULTILINE |
文字列が長すぎてボタンの四角形の内部に 1 行で収まらない場合は、ボタン テキストを複数行に折り返します。 |
BS_NOTIFY |
ボタンが BN_DBLCLK 、 BN_KILLFOCUS 、および BN_SETFOCUS 通知メッセージを親ウィンドウに送信できるようにします。 ボタンは、このスタイルが指定されているかどうかに関係なく、 BN_CLICKED 通知を送信します。 |
コンボ ボックスのスタイル
MFC では、次のコンボ ボックス スタイルを使用できます。 Windows のコンボ ボックス スタイルの詳細については、「 Combo Box Styles (Windows)」を参照してください。
スタイル | 説明 |
---|---|
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_SIMPLE または CBS_DROPDOWN スタイルで作成されたコンボ ボックスにのみ適用されるコンボ ボックスに最も便利です。 |
CBS_OWNERDRAWFIXED |
リスト ボックスの所有者は、その内容を描画する責任があります。リスト ボックス内の項目はすべて同じ高さです。 |
CBS_OWNERDRAWVARIABLE |
リスト ボックスの所有者は、その内容を描画する責任があります。リスト ボックス内の項目の高さは可変です。 |
CBS_SIMPLE |
リスト ボックスは常に表示されます。 編集コントロールには、リスト ボックス内で現在選択されている項目が表示されます。 |
CBS_SORT |
リスト ボックスに入力された文字列を自動的に並べ替えます。 |
CBS_UPPERCASE |
選択フィールドとリストの両方のすべてのテキストを大文字に変換します。 |
スタイルの編集
スタイルの編集は、 CEdit
クラス オブジェクトに適用されます。 CEdit::Create
のdwStyle
パラメーターでスタイルの組み合わせを指定します。 Windows でのコントロール スタイルの編集の詳細については、「 コントロール スタイルの編集 (Windows)」を参照してください。
スタイル | 説明 |
---|---|
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 に戻されます。 これにより、アプリケーションが AnsiToOem Windows 関数を呼び出して編集コントロールの ANSI 文字列を OEM 文字に変換するときに、適切な文字変換が保証されます。 このスタイルは、ファイル名を含む編集コントロールに最も役立ちます。 |
ES_PASSWORD |
編集コントロールに入力されているすべての文字をアスタリスク (*) として表示します。 アプリケーションは、 SetPasswordChar メンバー関数を使用して、表示される文字を変更できます。 |
ES_READONLY |
ユーザーが編集コントロールにテキストを入力または編集できないようにします。 |
ES_RIGHT |
1 行または複数行の編集コントロールのテキストを右揃えにします。 |
ES_UPPERCASE |
編集コントロールに入力されているすべての文字を大文字に変換します。 |
ES_WANTRETURN |
ダイアログ ボックスの複数行編集コントロールにテキストを入力するときに、ユーザーが Enter キーを押したときに復帰を挿入するように指定します。 このスタイルがない場合、Enter キーを押すと、ダイアログ ボックスの既定の押ボタンを押すのと同じ効果があります。 このスタイルは、1 行の編集コントロールには影響しません。 |
フレームウィンドウのスタイル
フレーム ウィンドウ スタイルは、 CFrameWnd
Class オブジェクトに適用されます。 CFrameWnd::Create
のdwStyle
パラメーターでスタイルの組み合わせを指定します。
スタイル | 説明 |
---|---|
FWS_ADDTOTITLE |
フレーム ウィンドウ タイトルの末尾に追加する情報を指定します。 たとえば、「Microsoft Draw - Drawing in Document1」などです。 アプリケーション ウィザードの [ドキュメント テンプレート文字列] タブに表示される文字列を指定できます。 このオプションをオフにする必要がある場合は、 CWnd::PreCreateWindow メンバー関数をオーバーライドします。 |
FWS_PREFIXTITLE |
フレーム ウィンドウのタイトルで、アプリケーション名の前にドキュメント名を表示します。 たとえば、"Document - WordPad" などです。 アプリケーション ウィザードの [ドキュメント テンプレート文字列] タブに表示される文字列を指定できます。 このオプションをオフにする必要がある場合は、 CWnd::PreCreateWindow メンバー関数をオーバーライドします。 |
FWS_SNAPTOBARS | コントロール バーがフレーム ウィンドウにドッキングされるのではなく、フローティング ウィンドウ内にあるときにコントロール バーを囲むフレーム ウィンドウのサイズ設定を制御します。 このスタイルは、コントロール バーに合わせてウィンドウのサイズを変更します。 |
リスト ボックスのスタイル
リスト ボックス のスタイルは、 CListBox
クラス オブジェクトに適用されます。 CListBox::Create
のdwStyle
パラメーターでスタイルの組み合わせを指定します。 Windows のリスト ボックス スタイルの詳細については、「 リスト ボックス スタイル (Windows)」を参照してください。
スタイル | 説明 |
---|---|
LBS_DISABLENOSCROLL |
リスト ボックスにスクロールするのに十分な項目が含まれていない場合、リスト ボックスには無効になっている垂直スクロール バーが表示されます。 このスタイルが設定されていないと、項目が少なくてスクロールする必要がない場合、スクロール バーは表示されません。 |
LBS_EXTENDEDSEL |
ユーザーは、Shift キーとマウスまたは特殊なキーの組み合わせを使用して、複数の項目を選択できます。 |
LBS_HASSTRINGS |
文字列で構成される項目を含む所有者描画リスト ボックスを指定します。 リスト ボックスは文字列のメモリとポインターを保持するため、アプリケーションは GetText メンバー関数を使用して特定の項目のテキストを取得できます。 |
LBS_MULTICOLUMN |
水平方向にスクロールする複数列のリスト ボックスを指定します。 SetColumnWidth メンバー関数は、列の幅を設定します。 |
LBS_MULTIPLESEL |
文字列の選択は、ユーザーが文字列をクリックまたはダブルクリックするたびに切り替えられます。 任意の数の文字列を選択できます。 |
LBS_NODATA |
データなしのリスト ボックスを指定します。 リスト ボックス内の項目数が 1000 を超えるとき、このスタイルを指定します。 データなしリスト ボックスには LBS_OWNERDRAWFIXED スタイルも必要ですが、 LBS_SORT または LBS_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 に相当します。ダイアログの基本単位は、現在のシステム フォントの高さと幅に基づいて計算されます。 GetDialogBaseUnits Windows 関数は、現在のダイアログの基本単位をピクセル単位で返します。このスタイルは、 LBS_OWNERDRAWFIXED で使用しないでください。 |
LBS_WANTKEYBOARDINPUT |
リスト ボックスの所有者は、リスト ボックスに入力フォーカスがあるときにユーザーがキーを押すたびに、 WM_VKEYTOITEM または WM_CHARTOITEM メッセージを受け取ります。 これにより、アプリケーションはキーボード入力に対して特別な処理を実行できます。 |
メッセージ ボックスのスタイル
メッセージ ボックスのスタイルは、 AfxMessageBox
アイテムに適用されます。 AfxMessageBox
のnType
パラメーターでスタイルの組み合わせを指定します。 Windows のメッセージ ボックス スタイルの詳細については、「 MessageBox
関数 (Windows)」を参照してください。
次のメッセージ ボックス スタイルを使用できます。
メッセージ ボックスの種類
スタイル | 説明 |
---|---|
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) が含まれています。 |
メッセージ ボックスのモダリティ
スタイル | 説明 |
---|---|
MB_APPLMODAL |
ユーザーは、現在のウィンドウで作業を続行する前に、メッセージ ボックスに応答する必要があります。 ただし、ユーザーは他のアプリケーションのウィンドウに移動して、それらのウィンドウで作業できます。 MB_SYSTEMMODAL もMB_TASKMODAL も指定されていない場合、既定値はMB_APPLMODAL です。 |
MB_SYSTEMMODAL |
すべてのアプリケーションは、ユーザーがメッセージ ボックスに応答するまで中断されます。 システム モーダル メッセージ ボックスは、直ちに注意を払う必要があり、慎重に使用する必要がある重大な、潜在的に損傷を与える可能性のあるエラーをユーザーに通知するために使用されます。 |
MB_TASKMODAL |
MB_APPLMODAL に似ていますが、Microsoft Foundation クラス アプリケーション内では役に立ちません。 このフラグは、使用可能なウィンドウ ハンドルがない呼び出し元のアプリケーションまたはライブラリ用に予約されています。 |
メッセージ ボックス アイコン
スタイル | 説明 |
---|---|
MB_ICONEXCLAMATION |
感嘆符アイコンがメッセージ ボックスに表示されます。 |
MB_ICONINFORMATION |
円の中の "I" で構成されるアイコンがメッセージ ボックスに表示されます。 |
MB_ICONQUESTION |
メッセージ ボックスに疑問符アイコンが表示されます。 |
MB_ICONSTOP |
メッセージ ボックスに停止記号アイコンが表示されます。 |
メッセージ ボックスの既定のボタン
スタイル | 説明 |
---|---|
MB_DEFBUTTON1 |
最初のボタンが既定値です。 MB_DEFBUTTON2 またはMB_DEFBUTTON3 が指定されていない限り、最初のボタンは常に既定値であることに注意してください。 |
MB_DEFBUTTON2 |
2 番目のボタンが既定値です。 |
MB_DEFBUTTON3 |
3 番目のボタンが既定値です。 |
スクロール バーのスタイル
スクロール バーのスタイルは、 CScrollBar
Class オブジェクトに適用されます。 CScrollBar::Create
のdwStyle
パラメーターでスタイルの組み合わせを指定します。 Windows のスクロール バー コントロール スタイルの詳細については、「 スクロール バー コントロール スタイル (Windows)」を参照してください。
スタイル | 説明 |
---|---|
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_SIZEBOXBOTTOMRIGHTALIGN もSBS_SIZEBOXTOPLEFTALIGN スタイルも指定されていない場合、サイズ ボックスには、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
Class オブジェクトに適用されます。 CStatic::Create
のdwStyle
パラメーターでスタイルの組み合わせを指定します。 Windows の静的コントロール スタイルの詳細については、「 Static コントロール スタイル (Windows)」を参照してください。
スタイル | 説明 |
---|---|
SS_BITMAP |
ビットマップを静的コントロールに表示することを指定します。 指定されたテキストは、リソース ファイル内の別の場所で定義されているビットマップの名前 (ファイル名ではありません) です。 このスタイルでは、nWidth パラメーターと nHeight パラメーターは無視されます。コントロールは、ビットマップに合わせて自動的にサイズを調整します。 |
SS_BLACKFRAME |
ウィンドウ フレームと同じ色で描画されたフレームを含むボックスを指定します。 既定値は黒です。 |
SS_BLACKRECT |
ウィンドウ フレームの描画に使用する色で塗りつぶされた四角形を指定します。 既定値は黒です。 |
SS_CENTER |
単純な四角形を指定し、指定したテキストを四角形の中央に表示します。 テキストは表示前に書式設定されます。 行の末尾を超えて拡張される単語は、自動的に次の中央揃え線の先頭に折り返されます。 |
SS_CENTERIMAGE |
ビットマップまたはアイコンが静的コントロールのクライアント領域よりも小さい場合、クライアント領域の残りの部分にビットマップまたはアイコンの左上隅にあるピクセルの色が塗りつぶされることを指定します。 静的コントロールに 1 行のテキストが含まれている場合、テキストはコントロールのクライアント領域の垂直方向の中央に配置されます。 |
SS_ENDELLIPSIS |
または SS_PATHELLIPSIS 必要に応じて、指定した文字列の一部を省略記号に置き換え、結果が指定した四角形に収まるようにします。 文字列の末尾にある文字を置換する SS_END_ELLIPSIS を指定するか、文字列の途中の文字を置換する SS_PATHELLIPSIS を指定できます。 文字列に円記号 (\) 文字が含まれている場合、 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_CLICKED 、 STN_DBLCLK 、 STN_DISABLE 、および STN_ENABLE 通知メッセージを送信します。 |
SS_OWNERDRAW |
静的コントロールの所有者がコントロールの描画を担当することを指定します。 所有者ウィンドウは、コントロールを描画する必要があるときに常に WM_DRAWITEM メッセージを受け取ります。 |
SS_REALSIZEIMAGE |
静的アイコンまたはビットマップ コントロール (つまり、 SS_ICON または SS_BITMAP スタイルを持つ静的コントロール) の読み込み時または描画時にサイズが変更されないようにします。 アイコンまたはビットマップがコピー先領域よりも大きい場合、イメージはクリップされます。 |
SS_RIGHT |
単純な四角形を指定し、指定されたテキストを四角形の右にフラッシュして表示します。 テキストは表示前に書式設定されます。 行の末尾を超える単語は、次のフラッシュ右行の先頭に自動的に折り返されます。 |
SS_RIGHTJUST |
SS_BITMAP スタイルまたはSS_ICON スタイルを持つ静的コントロールの右下隅を、コントロールのサイズ変更時に固定したままにすることを指定します。 新しいビットマップまたはアイコンに合わせて調整されるのは、左上だけです。 |
SS_SIMPLE |
単純な四角形を指定し、四角形の左に 1 行のテキストを表示します。 テキスト行を短くしたり、変更したりすることはできません。 (コントロールの親ウィンドウまたはダイアログ ボックスは、 WM_CTLCOLOR メッセージを処理できません。 |
SS_SUNKEN |
静的コントロールの周囲に半分沈んだ境界線を描画します。 |
SS_USERITEM |
ユーザー定義アイテムを指定します。 |
SS_WHITEFRAME |
ウィンドウの背景と同じ色で描画されたフレームを含むボックスを指定します。 既定の色は白です。 |
SS_WHITERECT |
ウィンドウの背景を塗りつぶすために使用する色で塗りつぶされた四角形を指定します。 既定の色は白です。 |
SS_WORDELLIPSIS |
収まらないテキストを切り捨て、省略記号を追加します。 |
ウィンドウ スタイル
ウィンドウ スタイルは、 CWnd
Class オブジェクトに適用されます。 CWnd::Create
またはCWnd::CreateEx
の dwStyle パラメーターにスタイルの組み合わせを指定します。 Windows のウィンドウ スタイルの詳細については、「 Window スタイル (Windows)」を参照してください。
スタイル | 説明 |
---|---|
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 つのコントロールから次のコントロールに移動できるコントロールのグループの最初のコントロールを指定します。 WS_GROUP スタイルで定義されているすべてのコントロールは、最初のコントロールの後に同じグループに属FALSE 。 WS_GROUP スタイルを持つ次のコントロールは、次のグループを開始します (つまり、1 つのグループが次のグループの開始位置で終了します)。 |
WS_HSCROLL |
水平スクロール バーがあるウィンドウを作成します。 |
WS_ICONIC |
最初に最小化されたウィンドウを作成します。 WS_MINIMIZE スタイルと同じです。 |
WS_MAXIMIZE |
最大サイズのウィンドウを作成します。 |
WS_MAXIMIZEBOX |
最大化ボタンを含むウィンドウを作成します。 |
WS_MINIMIZE |
最初に最小化されたウィンドウを作成します。 WS_OVERLAPPED スタイルでのみ使用します。 |
WS_MINIMIZEBOX |
[最小化] ボタンがあるウィンドウを作成します。 |
WS_OVERLAPPED |
ウィンドウの重なりを作成します。 オーバーラップ ウィンドウには、通常キャプションと境界線があります。 |
WS_OVERLAPPEDWINDOW |
WS_OVERLAPPED 、WS_CAPTION 、WS_SYSMENU 、WS_THICKFRAME 、WS_MINIMIZEBOX 、およびWS_MAXIMIZEBOX のスタイルで重なったウィンドウを作成します。 |
WS_POPUP |
ポップアップ ウィンドウを作成します。 WS_CHILD スタイルでは使用できません。 |
WS_POPUPWINDOW |
WS_BORDER 、WS_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_OVERLAPPED 、WS_CAPTION 、WS_SYSMENU 、WS_THICKFRAME 、WS_MINIMIZEBOX 、およびWS_MAXIMIZEBOX のスタイルで重なったウィンドウを作成します。 WS_OVERLAPPEDWINDOW スタイルと同じです。 |
WS_VISIBLE |
最初から表示されるウィンドウを作成します。 |
WS_VSCROLL |
垂直スクロール バーがあるウィンドウを作成します。 |
拡張ウィンドウ スタイル
拡張ウィンドウ スタイルは、 CWnd
クラス オブジェクトに適用されます。 CWnd::CreateEx
のdwExStyle
パラメーターでスタイルの組み合わせを指定します。 Windows の拡張ウィンドウ スタイルの詳細については、「 Extended Window Styles (Windows)」を参照してください。
スタイル | 説明 |
---|---|
WS_EX_ACCEPTFILES |
このスタイルで作成されたウィンドウがドラッグ アンド ドロップ ファイルを受け入れることを指定します。 |
WS_EX_APPWINDOW |
ウィンドウが表示されているときに、トップレベル ウィンドウをタスク バーに強制的に配置します。 |
WS_EX_CLIENTEDGE |
ウィンドウに 3D の外観 (つまり、エッジが沈んだ境界線) があることを指定します。 |
WS_EX_CONTEXTHELP |
ウィンドウのタイトル バーに疑問符が含まれます。 ユーザーがこの疑問符をクリックすると、カーソルは、疑問符付きのポインターに変化します。 ユーザーが子ウィンドウをクリックすると、子は WM_HELP メッセージを受け取ります。 |
WS_EX_CONTROLPARENT |
Tab キーを使用して、ユーザーがウィンドウの子ウィンドウ間を移動できるようにします。 |
WS_EX_DLGMODALFRAME |
dwStyle パラメーターで WS_CAPTION スタイル フラグを指定するときに、タイトル バーを使用して作成できる二重罫線を持つウィンドウを指定します (必要に応じて)。 |
WS_EX_LAYERED |
ウィンドウは レイヤー ウィンドウです。 ウィンドウにCS_OWNDC またはCS_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_CLIENTEDGE スタイルとWS_EX_WINDOWEDGE スタイルを組み合わせたもの |
WS_EX_PALETTEWINDOW |
WS_EX_WINDOWEDGE スタイルとWS_EX_TOPMOST スタイルを結合します。 |
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)