CMFCColorDialog クラス
更新 : 2007 年 11 月
CMFCColorDialog クラスは色選択ダイアログ ボックスを表します。
class CMFCColorDialog : public CDialogEx
メンバ
パブリック コンストラクタ
名前 |
説明 |
---|---|
CMFCColorDialog オブジェクトを構築します。 |
|
CMFCColorDialog::~CMFCColorDialog |
デストラクタです。 |
パブリック メソッド
名前 |
説明 |
---|---|
現在選択されている色を返します。 |
|
カラー パレットを返します。 |
|
CMFCColorDialog::PreTranslateMessage |
Windows 関数の TranslateMessage や DispatchMessage にディスパッチする前にウィンドウ メッセージを変換します。構文および詳細情報については、「CWnd::PreTranslateMessage」を参照してください (CDialogEx::PreTranslateMessage をオーバーライドします)。 |
システム パレットからパレットを派生させます。 |
|
現在選択されている色を設定します。 |
|
指定した RGB 値に最も近い色を設定します。 |
|
最初のプロパティ ページの RGB 値を選択します。 |
|
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 オブジェクトを作成し、CMFCColorDialog コンストラクタにパラメータとして初期設定色を渡して DoModal を呼び出すことができます。色選択ダイアログ ボックスに、各カラー パレットを処理するいくつかの CMFCColorPickerCtrl クラス オブジェクトが作成されます。
継承階層
使用例
CMFCColorDialog クラスのさまざまなメソッドを使用して色のダイアログ ボックスを設定する方法を次の例に示します。この例では、ダイアログ ボックスの現在の色と新しい色を設定する方法と、色のダイアログ ボックスの 2 つのプロパティ ページで選択された色の赤、緑、青の各要素を設定する方法を示します。この例は、「NewControls サンプル : MFC コントロールのデモ アプリケーション」の一部です。
// 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);
必要条件
ヘッダー : afxcolordialog.h