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
支援兩組樣式。 HEX
和 HEX_GREYSCALE
樣式適用於標準色彩選取。 PICKER
和 LUMINANCE
樣式適用於自定義色彩選取。
執行下列步驟,將控制項併入 CMFCColorPickerCtrl
您的對話框中:
如果您使用 ClassWizard,請將新的按鈕控制件插入對話框範本中(因為
CMFCColorPickerCtrl
類別繼承自CButton
類別)。將與新按鈕控件相關聯的成員變數插入您的對話框類別。 然後將變數類型從
CButton
變更為CMFCColorPickerCtrl
。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
列舉所定義。 可能的型別為LUMINANCE
、 PICKER
HEX
和 HEX_GREYSCALE
。 預設類型為 PICKER
。
備註
若要指定色彩選擇器控件類型,請在建立 Windows 控制項之前呼叫此方法。