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
し、変数の型を次の値にCButton
CMFCColorButton
変更します。
フレームワークがイベント ハンドラーを呼び出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
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示