Share via


CMFCColorButton クラス

カラー ピッカー コントロールを CMFCColorButton 実装するために、CMFCColorBar クラスクラスと 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 の色ダイアログ ボックスが表示されます。または、FAL Standard Edition の場合は、システムの色ダイアログ ボックスが表示されます。 既定値は TRUE です。 詳細については、「CMFCColorButton::EnableOtherButton」を参照してください
m_bAutoSetFocus ブール値。 TRUE の場合、フレームワークは、メニューが表示されるとき、または FAL Standard Edition がフォーカスを変更しない場合に、カラー メニューにフォーカスを設定します。 既定値は 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 し、オブジェクトのコンストラクターと Create メソッドを CMFCColorButton 呼び出します。 ClassWizard を使用する場合は、アプリケーションに変数を追加CButtonし、変数の型を次の値にCButtonCMFCColorButton変更します。

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

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

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

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::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。それ以外の場合は FAL Standard Edition。

CMFCColorButton::m_bEnabledInCustomizeMode

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

BOOL m_bEnabledInCustomizeMode;

解説

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

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