次の方法で共有


CMFCColorDialog クラス

CMFCColorDialog クラスは、色の選択ダイアログ ボックスを表します。

構文

class CMFCColorDialog : public CDialogEx

メンバー

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

名前 説明
CMFCColorDialog::CMFCColorDialog CMFCColorDialog オブジェクトを構築します。
CMFCColorDialog::~CMFCColorDialog デストラクターです。

パブリック メソッド

名前 説明
CMFCColorDialog::GetColor 現在選択されている色を返します。
CMFCColorDialog::GetPalette 色のパレットを返します。
CMFCColorDialog::PreTranslateMessage ウィンドウ メッセージを TranslateMessage および DispatchMessage Windows 関数にディスパッチする前に変換します。 構文と詳細については、「 CWnd::P reTranslateMessage」を参照してください。 ( CDialogEx::PreTranslateMessageをオーバーライドします)。
CMFCColorDialog::RebuildPalette システム パレットからパレットを派生させます。
CMFCColorDialog::SetCurrentColor 現在選択されている色を設定します。
CMFCColorDialog::SetNewColor 指定した RGB 値と最も等価な色を設定します。
CMFCColorDialog::SetPageOne 最初のプロパティ ページの RGB 値を選択します。
CMFCColorDialog::SetPageTwo 2 番目のプロパティ ページの RGB 値を選択します。

プロテクト データ メンバー

名前 説明
m_bIsMyPalette 色選択ダイアログ ボックスで独自のカラー パレットを使用する場合は TRUE、ダイアログ ボックスで CMFCColorDialog コンストラクターで指定されたパレットを使用する場合は FALSE。
m_bPickerMode ユーザーが選択ダイアログ ボックスから色を選択している間は TRUE。それ以外の場合は FALSE。
m_btnColorSelect ユーザーが選択した色ボタン。
m_CurrentColor 現在選択されている色。
m_hcurPicker 色の選択に使用されるカーソル。
m_NewColor 選択した予定の色。永続的に選択するか、元の色に戻すことができます。
m_pColourSheetOne 色選択プロパティ シートの最初のプロパティ ページへのポインター。
m_pColourSheetTwo 色選択プロパティ シートの 2 番目のプロパティ ページへのポインター。
m_pPalette 現在の論理パレット。
m_pPropSheet 色選択ダイアログ ボックスのプロパティ シートへのポインター。
m_wndColors カラー ピッカー コントロール オブジェクト。
m_wndStaticPlaceHolder カラー ピッカー プロパティ シートのプレースホルダーである静的コントロール。

解説

色選択ダイアログ ボックスは、2 ページのプロパティ シートとして表示されます。 最初のページでは、システム パレットから標準の色を選択します。2 番目のページで、ユーザー設定の色を選択します。

スタック上に CMFCColorDialog オブジェクトを構築し、 DoModalを呼び出して、初期色をパラメーターとして CMFCColorDialog コンストラクターに渡すことができます。 色の選択ダイアログ ボックスでは、各カラー パレットを処理する複数の CMFCColorPickerCtrl クラス オブジェクトが作成されます。

継承階層

CObject

CCmdTarget

CWnd

CDialog

CDialogEx

CMFCColorDialog

次の例では、 CMFCColorDialog クラスのさまざまなメソッドを使用してカラー ダイアログを構成する方法を示します。 この例では、ダイアログの現在の色と新しい色を設定する方法と、カラー ダイアログの 2 つのプロパティ ページで選択した色の赤、緑、青のコンポーネントを設定する方法を示します。 この例は、 New Controls サンプルの一部です。

// COLORREF m_Color
CMFCColorDialog dlg(m_Color, 0, this);
dlg.SetCurrentColor(RGB(0, 255, 0));
dlg.SetNewColor(RGB(0, 0, 255));
// set the red, green, and blue components of a selected
// color on the two property pages of the color dialog
dlg.SetPageOne(255, 0, 0);
dlg.SetPageTwo(0, 255, 0);

要件

Header: afxcolordialog.h

CMFCColorDialog::CMFCColorDialog

CMFCColorDialog オブジェクトを構築します。

CMFCColorDialog(
    COLORREF clrInit=0,
    DWORD dwFlags=0,
    CWnd* pParentWnd=NULL,
    HPALETTE hPal=NULL);

パラメーター

clrInit
[in]既定の色の選択。 値が指定されていない場合、既定値は RGB(0,0,0) (黒) です。

dwFlags
[in] 予約されています。

pParentWnd
[in]ダイアログ ボックスの親ウィンドウまたは所有者ウィンドウへのポインター。

hPal
[in]カラー パレットへのハンドル。

戻り値

解説

CMFCColorDialog::GetColor

ユーザーがカラー ダイアログから選択した色を取得します。

COLORREF GetColor() const;

戻り値

[色] ダイアログ ボックスで選択した色の RGB 情報を含む COLORREF 値。

解説

DoModal メソッドを呼び出した後、この関数を呼び出します。

CMFCColorDialog::GetPalette

現在のカラー ダイアログで使用できるカラー パレットを取得します。

CPalette* GetPalette() const;

戻り値

CMFCColorDialog コンストラクターで指定されたCPalette オブジェクトへのポインター。

解説

カラー パレットは、ユーザーが選択できる色を指定します。

CMFCColorDialog::RebuildPalette

システム パレットからパレットを派生させます。

void RebuildPalette();

CMFCColorDialog::SetCurrentColor

ダイアログ ボックスの現在の色を設定します。

void SetCurrentColor(COLORREF rgb);

パラメーター

rgb
[in]RGB カラー値

解説

CMFCColorDialog::SetNewColor

現在の色を、現在のパレットの最も似た色に設定します。

void SetNewColor(COLORREF rgb);

パラメーター

rgb
[in]RGB 色を指定する COLORREF

解説

CMFCColorDialog::SetPageOne

色ダイアログの最初のプロパティ ページで、選択した色の赤、緑、青のコンポーネントを明示的に指定します。

void SetPageOne(
    BYTE R,
    BYTE G,
    BYTE B);

パラメーター

R
[in]RGB 値の赤のコンポーネントを指定します。

G
[in]RGB 値の緑のコンポーネントを指定します。

B
[in]RGB 値の青のコンポーネントを指定します。

解説

CMFCColorDialog::SetPageTwo

色ダイアログの 2 番目のプロパティ ページで、選択した色の赤、緑、青のコンポーネントを明示的に指定します。

void SetPageTwo(
    BYTE R,
    BYTE G,
    BYTE B);

パラメーター

R
[in]RGB 値の赤のコンポーネントを指定します。

G
[in]RGB 値の緑のコンポーネントを指定します。

B
[in]RGB 値の青のコンポーネントを指定します。

解説

関連項目

階層図
クラス
CMFCColorPickerCtrl クラス