分享方式:


CMFCColorPickerCtrl 類別

類別 CMFCColorPickerCtrl 提供用來選取色彩之控件的功能。

語法

class CMFCColorPickerCtrl : public CButton

成員

公用建構函式

名稱 描述
CMFCColorPickerCtrl::CMFCColorPickerCtrl 建構 CMFCColorPickerCtrl 物件。

公用方法

名稱 描述
CMFCColorPickerCtrl::GetColor 擷取用戶選取的色彩。
CMFCColorPickerCtrl::GetHLS 擷取用戶選取之色彩的色調、亮度和飽和度值。
CMFCColorPickerCtrl::GetHue 擷取用戶選取之色彩的色調元件。
CMFCColorPickerCtrl::GetLuminance 擷取用戶選取之色彩的亮度元件。
CMFCColorPickerCtrl::GetSaturation 擷取用戶選取之色彩的飽和度元件。
CMFCColorPickerCtrl::SelectCellHexagon 將目前色彩設定為指定 RGB 色彩元件或指定儲存格六邊形所定義的色彩。
CMFCColorPickerCtrl::SetColor 將目前的色彩設定為指定的 RGB 色彩值。
CMFCColorPickerCtrl::SetHLS 將目前的色彩設定為指定的 HLS 色彩值。
CMFCColorPickerCtrl::SetHue 變更目前選取色彩的色調元件。
CMFCColorPickerCtrl::SetLuminance 變更目前選取色彩的亮度元件。
CMFCColorPickerCtrl::SetLuminanceBarWidth 設定色彩選擇器控件中亮度列的寬度。
CMFCColorPickerCtrl::SetOriginalColor 設定初始選取的色彩。
CMFCColorPickerCtrl::SetPalette 設定目前的調色盤。
CMFCColorPickerCtrl::SetSaturation 變更目前選取色彩的飽和度元件。
CMFCColorPickerCtrl::SetType 設定要顯示的色彩選擇器控件類型。

受保護的方法

名稱 描述
CMFCColorPickerCtrl::DrawCursor 在顯示指向所選取色彩的數據指標之前,由架構呼叫。

備註

標準色彩是從六邊形調色盤中選取,而自定義色彩則會從亮度列選取,其中色彩是使用紅色/綠色/藍色表示法或色調/飽和度/亮度表示法來指定。

下圖描述數個 CMFCColorPickerCtrl 物件。

CMFCColorPickerCtrl 對話框。

CMFCColorPickerCtrl支援兩組樣式。 HEXHEX_GREYSCALE 樣式適用於標準色彩選取。 PICKERLUMINANCE 樣式適用於自定義色彩選取。

執行下列步驟,將控制項併入 CMFCColorPickerCtrl 您的對話框中:

  1. 如果您使用 ClassWizard,請將新的按鈕控制件插入對話框範本中(因為 CMFCColorPickerCtrl 類別繼承自 CButton 類別)。

  2. 將與新按鈕控件相關聯的成員變數插入您的對話框類別。 然後將變數類型從 CButton 變更為 CMFCColorPickerCtrl

  3. WM_INITDIALOG插入對話框類別的訊息處理程式。 在處理程式中,設定控件的類型、調色盤和初始選取色彩 CMFCColorPickerCtrl

繼承階層架構

CObject
CCmdTarget
CWnd
CButton
CMFCColorPickerCtrl

需求

標頭: afxcolorpickerctrl.h

CMFCColorPickerCtrl::CMFCColorPickerCtrl

建構 CMFCColorPickerCtrl 物件。

CMFCColorPickerCtrl();

傳回值

備註

CMFCColorPickerCtrl::DrawCursor

在顯示指向所選取色彩的數據指標之前,由架構呼叫。

virtual void DrawCursor(
    CDC* pDC,
    const CRect& rect);

參數

pDC
[in]裝置內容的指標。

rect
[in]指定所選色彩周圍的矩形區域。

備註

當您需要變更指向所選取色彩之游標的形狀時,請覆寫此方法。

CMFCColorPickerCtrl::GetColor

擷取用戶選取的色彩。

COLORREF GetColor() const;

傳回值

所選色彩的 RGB 值。

備註

CMFCColorPickerCtrl::GetHLS

擷取用戶選取之色彩的色調、亮度和飽和度值。

void GetHLS(
    double* hue,
    double* luminance,
    double* saturation);

參數

hue
[out]雙精度浮點類型變數的指標,該變數會接收色調資訊。

luminance
[out]雙精度浮點數類型變數的指標,該變數會接收亮度資訊。

saturation
[out]雙精度浮點數類型變數的指標,該變數會接收飽和度資訊。

備註

CMFCColorPickerCtrl::GetHue

擷取用戶選取之色彩的色調元件。

double GetHue() const;

傳回值

所選色彩的色調元件。

備註

CMFCColorPickerCtrl::GetLuminance

擷取用戶選取之色彩的亮度元件。

double GetLuminance() const;

傳回值

所選色彩的亮度元件。

備註

CMFCColorPickerCtrl::GetSaturation

擷取用戶選取之色彩的飽和度值。

double GetSaturation() const;

傳回值

所選色彩的飽和度元件。

備註

CMFCColorPickerCtrl::SelectCellHexagon

將目前色彩設定為指定 RGB 色彩元件或指定儲存格六邊形所定義的色彩。

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

BOOL SelectCellHexagon(
    int x,
    int y);

參數

R
[in]紅色元件。

G
[in]綠色元件。

B
[in]藍色元件。

x
[in]游標的 X 座標,指向儲存格六邊形。

y
[in]游標的 Y 座標,指向單元格六邊形。

傳回值

這個方法的第二個多載一律會傳回 FALSE。

備註

這個方法的第一個多載會將目前色彩設定為對應至色彩選取控件指定之紅色、綠色和藍色色彩元件的色彩。

這個方法的第二個多載會將目前色彩設定為指定游標位置所指向之單元格六邊形的色彩。

CMFCColorPickerCtrl::SetColor

將目前的色彩設定為指定的 RGB 色彩值。

void SetColor(COLORREF Color);

參數

Color
[in]RGB 色彩值。

備註

CMFCColorPickerCtrl::SetHLS

將目前的色彩設定為指定的 HLS 色彩值。

void SetHLS(
    double hue,
    double luminance,
    double saturation,
    BOOL bInvalidate=TRUE);

參數

hue
[in]色調值。

luminance
[in]亮度值。

saturation
[in]飽和度值。

bInvalidate
[in] TRUE 強制視窗立即更新為新的色彩;否則為 FALSE。 預設值為 TRUE

備註

CMFCColorPickerCtrl::SetHue

變更目前選取色彩的色調。

void SetHue(double Hue);

參數

Hue
[in]色調值。

備註

CMFCColorPickerCtrl::SetLuminance

變更目前選取色彩的亮度。

void SetLuminance(double Luminance);

參數

Luminance
[in]亮度值。

備註

CMFCColorPickerCtrl::SetLuminanceBarWidth

設定色彩選擇器控件中亮度列的寬度。

void SetLuminanceBarWidth(int w);

參數

w
[in]以像素為單位的亮度列寬度。

備註

使用此方法可調整亮度列的大小,其位於 色彩選擇器控件的 [自定義 ] 索引卷標上。 參數 w 會指定亮度列的新寬度。 如果超過客戶端區域寬度的四分之三,則會忽略寬度值。

CMFCColorPickerCtrl::SetOriginalColor

設定初始選取的色彩。

void SetOriginalColor(COLORREF ref);

參數

ref
[in]RGB 色彩值。

備註

初始化色彩選擇器控件時,請呼叫這個方法。

CMFCColorPickerCtrl::SetPalette

設定目前的調色盤。

void SetPalette(CPalette* pPalette);

參數

pPalette
[in]調色盤的指標。

備註

調色盤會定義色彩選擇器控件中顯示的色彩陣列。

CMFCColorPickerCtrl::SetSaturation

變更目前選取色彩的飽和度。

void SetSaturation(double Saturation);

參數

Saturation
[in] 飽和度值。

備註

CMFCColorPickerCtrl::SetType

設定要顯示的色彩選擇器控件類型。

void SetType(COLORTYPE colorType);

參數

colorType
[in]色彩選擇器控制件類型。

型別是由 CMFCColorPickerCtrl::COLORTYPE 列舉所定義。 可能的型別為LUMINANCEPICKERHEXHEX_GREYSCALE。 預設類型為 PICKER

備註

若要指定色彩選擇器控件類型,請在建立 Windows 控制項之前呼叫此方法。

另請參閱

階層架構圖表
類別
CMFCColorDialog