CMFCColorButton クラス
更新 : 2007 年 11 月
CMFCColorButton クラスと CMFCColorBar クラスを組み合わせて使用し、カラー ピッカー コントロールを実装します。
class CMFCColorButton : public CMFCButton
メンバ
パブリック コンストラクタ
名前 |
説明 |
---|---|
新しい CMFCColorButton オブジェクトを構築します。 |
パブリック メソッド
名前 |
説明 |
---|---|
標準のカラー ボタンの上にある "自動" ボタンを有効または無効にします (標準システムの自動ボタンのラベルは [自動] です)。 |
|
標準のカラー ボタンの下にある "その他" ボタンを有効または無効にします (標準的なシステムの "その他" ボタンのラベルは [その他の色] です)。 |
|
現在の自動設定の色を取得します。 |
|
ボタンの色を取得します。 |
|
ボタンの色を設定します。 |
|
色の名前を設定します。 |
|
カラー ピッカー ダイアログ ボックスの列の数を設定します。 |
|
カラー ピッカー ダイアログ ボックスに表示されるドキュメント固有の色のリストを指定します。 |
|
標準表示色のパレットを指定します。 |
|
ボタンのテキスト サイズとイメージ サイズに合わせてボタン コントロールのサイズを変更します。 |
プロテクト メソッド
名前 |
説明 |
---|---|
現在のカラー ボタンが Windows XP の visual スタイルで表示されるかどうかを示します。 |
|
ボタンのイメージを表示するために、フレームワークによって呼び出されます。 |
|
ボタンの境界線を表示するために、フレームワークによって呼び出されます。 |
|
ボタンにフォーカスがあるときに、フォーカスを示す四角形を表示するために、フレームワークによって呼び出されます。 |
|
カラー ピッカー ダイアログ ボックスが表示される直前に、フレームワークによって呼び出されます。 |
|
m_pPalette プロテクト データ メンバを初期化して、指定されたパレットまたは既定のシステム パレットを生成します。 |
|
ユーザーが、カラー ピッカー ダイアログ ボックスのパレットから色を選択すると、フレームワークによって呼び出されます。 |
データ メンバ
名前 |
説明 |
---|---|
m_bAltColorDlg |
ブール値。TRUE の場合は、他のボタンがクリックされると、フレームワークがCMFCColorDialog カラー ダイアログ ボックスを表示します。FALSE の場合は、システム カラー ダイアログ ボックスを表示します。既定値は TRUE です。詳細については、「CMFCColorButton::EnableOtherButton」を参照してください。 |
m_bAutoSetFocus |
ブール値。TRUE の場合は、カラー メニューが表示されると、フレームワークがそのメニューにフォーカスを設定し、FALSE の場合はフォーカスを変更しません。既定値は TRUE です。 |
カラー ボタンのカスタマイズ モードが有効かどうかを示します。 |
|
m_Color |
COLORREF 値。現在選択されている色が含まれます。 |
m_ColorAutomatic |
COLORREF 値。現在選択されている既定色が含まれます。 |
m_Colors |
|
m_lstDocColors |
|
m_nColumns |
整数。色の選択メニューの色のグリッドに表示する列の数が含まれます。 |
m_pPalette |
CPalette へのポインタ。現在の色の選択メニューで使用できる色が含まれます。 |
m_pPopup |
CMFCColorPopupMenu クラス オブジェクトへのポインタ。カラー ボタンをクリックすると表示される色の選択メニュー。 |
m_strAutoColorText |
文字列色の選択メニューの "自動" ボタンのラベル。 |
m_strDocColorsText |
文字列ドキュメントの色を表示する色の選択メニューに含まれるボタンのラベル。 |
m_strOtherText |
文字列色の選択メニューの "その他" ボタンのラベル。 |
解説
既定では、CMFCColorButton クラスは、カラー ピッカー ダイアログ ボックスを開くプッシュ ボタンとして動作します。カラー ピッカー ダイアログ ボックスには、小さいカラー ボタンとカスタム カラー ピッカーを表示する "その他" ボタンの配列が含まれます。(標準的なシステムの "その他" ボタンのラベルは [その他の色] です)。ユーザーが新しい色を選択すると、CMFCColorButton オブジェクトはその変更を反映し、選択された色を表示します。
カラー ボタン コントロールを、コードに直接作成するか、ClassWizard ツールとダイアログ ボックス テンプレートを使用して作成します。カラー ボタン コントロールを直接作成する場合は、アプリケーションに CMFCColorButton 変数を追加し、構造体と CMFCColorButton オブジェクトの Create メソッドを呼び出します。ClassWizard を使用する場合は、アプリケーションに CButton 変数を追加し、変数のタイプを CButton から CMFCColorButton に変更します。
カラー ピッカー ダイアログ ボックス (CMFCColorBar クラス) は、フレームワークが OnLButtonDown イベント ハンドラを呼び出すときに CMFCColorButton::OnShowColorPopup メソッドによって表示されます。カスタム カラーの選択をサポートするには、CMFCColorButton::OnShowColorPopup メソッドをオーバーライドします。
CMFCColorButton オブジェクトは、WM_COMMAND | BN_CLICKED 通知を送信することで、その親に色の変更を知らせます。親は、CMFCColorButton::GetColor メソッドを使用して現在の色を取得します。
使用例
CMFCColorButton クラスのさまざまなメソッドを使用してカラー ボタンを設定する方法を次の例に示します。メソッドは、カラー ボタンの色と列の数を設定し、自動ボタンとその他ボタンを有効にします。この例は、「StatusBarDemo サンプル : MFC ステータス バー アプリケーション」の一部です。
CMFCColorButton m_wndTextColor;
...
m_wndTextColor.EnableAutomaticButton (_T("Default"), afxGlobalData.clrBtnText);
m_wndTextColor.EnableOtherButton (_T("Other..."));
m_wndTextColor.SetColor ((COLORREF)-1);
m_wndTextColor.SetColorName((COLORREF)-1, "Default Color");
m_wndTextColor.SetColumnsNumber(3);
必要条件
ヘッダー : afxcolorbutton.h
参照
概念
参照
CMFCColorButton::OnShowColorPopup