次の方法で共有


CMFCColorButton クラス

CMFCColorButton クラスと CMFCColorBar クラス クラスを組み合わせて使用して、カラー ピッカー コントロールを実装します。

class CMFCColorButton : public CMFCButton

メンバー

パブリック コンストラクター

[名前]

説明

CMFCColorButton::CMFCColorButton

新しい CMFCColorButton オブジェクトを構築します。

パブリック メソッド

[名前]

説明

CMFCColorButton::EnableAutomaticButton

標準のカラー ボタンの上にある "自動" ボタンを有効または無効にします (標準システムの自動ボタンのラベルは [自動] です)。

CMFCColorButton::EnableOtherButton

標準のカラー ボタンの下にある "その他" ボタンを有効または無効にします (標準的なシステムの "その他" ボタンのラベルは [その他の色] です)。

CMFCColorButton::GetAutomaticColor

現在の自動設定の色を取得します。

CMFCColorButton::GetColor

ボタンの色を取得します。

CMFCColorButton::SetColor

ボタンの色を設定します。

CMFCColorButton::SetColorName

色の名前を設定します。

CMFCColorButton::SetColumnsNumber

カラー ピッカー ダイアログ ボックスの列の数を設定します。

CMFCColorButton::SetDocumentColors

カラー ピッカー ダイアログ ボックスに表示されるドキュメント固有の色のリストを指定します。

CMFCColorButton::SetPalette

標準表示色のパレットを指定します。

CMFCColorButton::SizeToContent

ボタンのテキスト サイズとイメージ サイズに合わせてボタン コントロールのサイズを変更します。

プロテクト メソッド

[名前]

説明

CMFCColorButton::IsDrawXPTheme

現在のカラー ボタンが Windows XP の visual スタイルで表示されるかどうかを示します。

CMFCColorButton::OnDraw

ボタンのイメージを表示するために、フレームワークによって呼び出されます。

CMFCColorButton::OnDrawBorder

ボタンの境界線を表示するために、フレームワークによって呼び出されます。

CMFCColorButton::OnDrawFocusRect

ボタンにフォーカスがあるときに、フォーカスを示す四角形を表示するために、フレームワークによって呼び出されます。

CMFCColorButton::OnShowColorPopup

カラー ピッカー ダイアログ ボックスが表示される直前に、フレームワークによって呼び出されます。

CMFCColorButton::RebuildPalette

m_pPalette プロテクト データ メンバーを初期化して、指定されたパレットまたは既定のシステム パレットを生成します。

CMFCColorButton::UpdateColor

ユーザーが、カラー ピッカー ダイアログ ボックスのパレットから色を選択すると、フレームワークによって呼び出されます。

データ メンバー

[名前]

説明

m_bAltColorDlg

ブール値。 TRUE の場合は、他のボタンがクリックされると、フレームワークがCMFCColorDialog カラー ダイアログ ボックスを表示します。FALSE の場合は、システム カラー ダイアログ ボックスを表示します。 既定値は TRUE です。 詳細については、「CMFCColorButton::EnableOtherButton」を参照してください。

m_bAutoSetFocus

ブール値。 TRUE の場合は、カラー メニューが表示されると、フレームワークがそのメニューにフォーカスを設定し、FALSE の場合はフォーカスを変更しません。 既定値は TRUE です。

CMFCColorButton::m_bEnabledInCustomizeMode

カラー ボタンのカスタマイズ モードが有効かどうかを示します。

m_Color

COLORREF 値。 現在選択されている色が含まれます。

m_ColorAutomatic

COLORREF 値。 現在選択されている既定色が含まれます。

m_Colors

COLORREF 値の CArray。 現在使用できる色が含まれます。

m_lstDocColors

COLORREF 値の CList。 現在のドキュメントの色が含まれます。

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

参照

参照

階層図

CMFCButton クラス

CMFCColorBar クラス

CMFCColorButton::OnShowColorPopup

COLORREF

CPalette クラス

CArray クラス

CList クラス

CString

その他の技術情報

MFC クラス