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