次の方法で共有


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 のビジュアル スタイルで表示されるかどうかを示します。
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 に変更します。

フレームワークが OnLButtonDown イベント ハンドラーを呼び出すと、カラー ピッカー ダイアログ ボックス (CMFCColorBar クラス) が CMFCColorButton::OnShowColorPopup メソッドによって表示されます。 CMFCColorButton::OnShowColorPopup メソッドは、ユーザー設定の色選択をサポートするためにオーバーライドできます。

CMFCColorButton オブジェクトは、WM_COMMAND | を送信することで、色が変更されていることを親に通知します。BN_CLICKED通知。 親は、 CMFCColorButton::GetColor メソッドを使用して現在の色を取得します。

次の例では、 CMFCColorButton クラスのさまざまなメソッドを使用してカラー ボタンを構成する方法を示します。 このメソッドは、カラー ボタンの色とその列数を設定し、自動ボタンとその他のボタンを有効にします。 この例は、 Status Bar Demo サンプルの一部です。

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);

要件

Header: afxcolorbutton.h

CMFCColorButton::CMFCColorButton

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

CMFCColorButton();

CMFCColorButton::EnableAutomaticButton

カラー ピッカー コントロールの [自動] ボタンを有効または無効にし、自動 (既定) の色を設定します。

void EnableAutomaticButton(
    LPCTSTR lpszLabel,
    COLORREF colorAutomatic,
    BOOL bEnable=TRUE);

パラメーター

lpszLabel
[in]自動ボタンのテキストを指定します。

colorAutomatic
[in]自動ボタンの既定の色を指定する RGB 値。

bEnable
[in]自動ボタンを有効にするか無効にするかを指定します。

解説

CMFCColorButton::EnableOtherButton

通常のカラー ボタンの下に表示される [その他] ボタンを有効または無効にします。

void EnableOtherButton(
    LPCTSTR lpszLabel,
    BOOL bAltColorDlg=TRUE,
    BOOL bEnable=TRUE);

パラメーター

lpszLabel
[in]ボタンのテキストを指定します。

bAltColorDlg
[in]ユーザーがボタンをクリックしたときに、 CMFCColorDialog ダイアログ ボックスを開くか、システムカラー ダイアログ ボックスを開くかを指定します。

bEnable
[in][その他] ボタンを有効にするか無効にするかを指定します。

解説

[その他] ボタンをクリックすると、色のダイアログ ボックスが表示されます。 bAltColorDlg パラメーターが TRUE の場合、CMFCColorDialog クラスが表示されます。それ以外の場合は、システムの色ダイアログ ボックスが表示されます。

CMFCColorButton::GetAutomaticColor

現在の自動 (既定) の色を取得します。

COLORREF GetAutomaticColor() const;

戻り値

現在の自動色を表す RGB 値。

解説

現在の自動色は、 CMFCColorButton::EnableAutomaticButton メソッドによって設定されます。

CMFCColorButton::GetColor

現在選択されている色を取得します。

COLORREF GetColor() const;

戻り値

RGB 値。

解説

CMFCColorButton::IsDrawXPTheme

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

BOOL IsDrawXPTheme() const;

戻り値

ビジュアル スタイルがサポートされていて、現在の色ボタンが Windows XP のビジュアル スタイルで表示されている場合は TRUE。それ以外の場合は FALSE。

CMFCColorButton::m_bEnabledInCustomizeMode

色ボタンをカスタマイズ モードに設定します。

BOOL m_bEnabledInCustomizeMode;

解説

カスタマイズ ダイアログのページに色ボタンを追加する必要がある場合 (または、ユーザーがカスタマイズ中に別の色を選択できるようにする場合)、 m_bEnabledInCustomizeMode メンバーを TRUE に設定してボタンを有効にします。 既定では、このメンバーは FALSE に設定されています。

CMFCColorButton::OnDraw

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

virtual void OnDraw(
    CDC* pDC,
    const CRect& rect,
    UINT uiState);

パラメーター

pDC
[in]ボタンのイメージのレンダリングに使用されるデバイス コンテキストを指します。

rect
[in]ボタンを囲む四角形。

uiState
[in]ボタンの表示状態を指定します。

解説

レンダリング プロセスをカスタマイズするには、このメソッドをオーバーライドします。

CMFCColorButton::OnDrawBorder

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

virtual void OnDrawBorder(
    CDC* pDC,
    CRect& rectClient,
    UINT uiState);

パラメーター

pDC
[in]境界線の描画に使用するデバイス コンテキストをポイントします。

rectClient
[in]描画するボタンの境界を定義する pDC パラメーターで指定されたデバイス コンテキストの四角形。

uiState
[in]ボタンの表示状態を指定します。

解説

色ボタンの境界線の外観をカスタマイズするには、この関数をオーバーライドします。

CMFCColorButton::OnDrawFocusRect

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

virtual void OnDrawFocusRect(
    CDC* pDC,
    const CRect& rectClient);

パラメーター

pDC
[in]フォーカスの四角形を描画するために使用するデバイス コンテキストをポイントします。

rectClient
[in]ボタンの境界を定義する pDC パラメーターによって指定されたデバイス コンテキスト内の四角形。

解説

フォーカスの四角形の外観をカスタマイズするには、このメソッドをオーバーライドします。

CMFCColorButton::OnShowColorPopup

ポップアップ カラー バーが表示される前に呼び出されます。

virtual void OnShowColorPopup();

解説

CMFCColorButton::RebuildPalette

m_pPalette保護されたデータ メンバーを、指定したパレットまたは既定のシステム パレットに初期化します。

void RebuildPalette(CPalette* pPal);

パラメーター

pPal
[in]論理パレットまたは NULL へのポインター。 NULL の場合、既定のシステム パレットが使用されます。

CMFCColorButton::SetColor

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

void SetColor(COLORREF color);

パラメーター

color
[in]RGB 値。

解説

CMFCColorButton::SetColorName

色の名前を指定します。

static void SetColorName(
    COLORREF color,
    const CString& strName);

パラメーター

color
[in]色の RGB 値。

strName
[in]色の名前。

解説

カラー名の一覧は、アプリケーションごとにグローバルです。 したがって、このメソッドはパラメーターを CMFCColorBar::SetColorName に転送します。

CMFCColorButton::SetColumnsNumber

ユーザーの色選択プロセス中にユーザーに表示される色のテーブルに表示される列の数を定義します。

void SetColumnsNumber(int nColumns);

パラメーター

nColumns
[in]列の数を指定します。

解説

ユーザーは、定義済みの色の表を表示するポップアップカラーバーから色を選択できます。 このメソッドを使用して、テーブル内の列の数を定義します。

CMFCColorButton::SetDocumentColors

色のセットとセットの名前を指定します。 色のセットは、 CMFCColorBar クラス オブジェクトを使用して表示されます。

void SetDocumentColors(
    LPCTSTR lpszLabel,
    CList<COLORREF,COLORREF>& lstColors);

パラメーター

lpszLabel
[in]ドキュメントの色のセットと共に表示するラベルを指定します。

lstColors
[in]RGB 値のリストへの参照。

解説

CMFCColorButton オブジェクトは、CMFCColorBar クラス オブジェクトに転送される RGB 値のリストを保持します。 カラー バーが表示されると、これらの色は、 lpszLabel パラメーターで指定されたラベルを持つ特別なセクションに表示されます。

CMFCColorButton::SetPalette

ポップアップ カラー バーに表示する標準の色を指定します。

void SetPalette(CPalette* pPalette);

パラメーター

pPalette
[in]カラー パレットへのポインター。

解説

CMFCColorButton::SizeToContent

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

virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);

パラメーター

bCalcOnly
[in]0 以外の場合、ボタン コントロールの新しいサイズは計算されますが、実際のサイズは変更されません。

戻り値

新しいボタン コントロール のサイズを指定する CSize オブジェクト。

解説

CMFCColorButton::UpdateColor

ユーザーがカラー ボタンをクリックしたときに表示されるカラー バーから色を選択すると、フレームワークによって呼び出されます。

virtual void UpdateColor(COLORREF color);

パラメーター

color
[in]ユーザーが選択した色。

解説

UpdateColor関数は、現在選択されているボタンの色を変更し、BN_CLICKED標準通知を含むWM_COMMAND メッセージを送信して親に通知します。 CMFCColorButton::GetColor メソッドを使用して、選択した色を取得します。

関連項目

階層図
クラス
CMFCButton クラス
CMFCColorBar クラス
CMFCColorButton::OnShowColorPopup
COLORREF
CPalette クラス
CArray クラス
CList クラス
CString