CMFCColorPickerCtrl-Klasse

Die CMFCColorPickerCtrl Klasse bietet Funktionen für ein Steuerelement, das zum Auswählen von Farben verwendet wird.

Syntax

class CMFCColorPickerCtrl : public CButton

Member

Öffentliche Konstruktoren

Name Beschreibung
CMFCColorPickerCtrl::CMFCColorPickerCtrl Erstellt ein CMFCColorPickerCtrl-Objekt.

Öffentliche Methoden

Name Beschreibung
CMFCColorPickerCtrl::GetColor Ruft die Farbe ab, die der Benutzer auswählt.
CMFCColorPickerCtrl::GetHLS Ruft die Farbton-, Leuchtdichte- und Sättigungswerte der Farbe ab, die der Benutzer auswählt.
CMFCColorPickerCtrl::GetHue Ruft die Farbtonkomponente der Farbe ab, die der Benutzer auswählt.
CMFCColorPickerCtrl::GetLuminance Ruft die Leuchtdichtekomponente der Farbe ab, die der Benutzer auswählt.
CMFCColorPickerCtrl::GetSaturation Ruft die Sättigungskomponente der Farbe ab, die der Benutzer auswählt.
CMFCColorPickerCtrl::SelectCellHexagon Legt die aktuelle Farbe auf die Farbe fest, die durch die angegebenen RGB-Farbkomponenten oder das angegebene Zellsechseck definiert wird.
CMFCColorPickerCtrl::SetColor Legt die aktuelle Farbe auf den angegebenen RGB-Farbwert fest.
CMFCColorPickerCtrl::SetHLS Legt die aktuelle Farbe auf den angegebenen HLS-Farbwert fest.
CMFCColorPickerCtrl::SetHue Ändert die Farbtonkomponente der aktuell ausgewählten Farbe.
CMFCColorPickerCtrl::SetLuminance Ändert die Leuchtdichtekomponente der aktuell ausgewählten Farbe.
CMFCColorPickerCtrl::SetLuminanceBarWidth Legt die Breite der Leuchtdichteleiste im Farbauswahl-Steuerelement fest.
CMFCColorPickerCtrl::SetOriginalColor Legt die ursprüngliche ausgewählte Farbe fest.
CMFCColorPickerCtrl::SetPalette Legt die aktuelle Farbpalette fest.
CMFCColorPickerCtrl::SetSaturation Ändert die Sättigungskomponente der aktuell ausgewählten Farbe.
CMFCColorPickerCtrl::SetType Legt den Typ des anzuzeigenden Farbauswahl-Steuerelements fest.

Geschützte Methoden

Name Beschreibung
CMFCColorPickerCtrl::D rawCursor Wird vom Framework aufgerufen, bevor ein Cursor angezeigt wird, der auf die ausgewählte Farbe zeigt.

Hinweise

Standardfarben werden aus einer sechseckigen Farbpalette ausgewählt, und benutzerdefinierte Farben werden aus einem Leuchtdichtebalken ausgewählt, bei dem Farben entweder mit rot/grün/blauer Schreibweise oder Farbton/Satuaration/Leuchtdichtenotation angegeben werden.

Die folgende Abbildung zeigt mehrere CMFCColorPickerCtrl Objekte.

CMFCColorPickerCtrl dialog box.

Die CMFCColorPickerCtrl beiden Formatvorlagenpaare werden unterstützt. Die HEX- und HEX_GREYSCALE-Formatvorlagen eignen sich für die Standardfarbauswahl. Die Stile PICKER und LUMINANCE eignen sich für die benutzerdefinierte Farbauswahl.

Führen Sie die folgenden Schritte aus, um das CMFCColorPickerCtrl Steuerelement in Ihr Dialogfeld zu integrieren:

  1. Wenn Sie den ClassWizard verwenden, fügen Sie ein neues Schaltflächensteuerelement in ihre Dialogfeldvorlage ein (da die CMFCColorPickerCtrl Klasse von der CButton Klasse geerbt wird).

  2. Fügen Sie eine Membervariable ein, die dem neuen Schaltflächensteuerelement zugeordnet ist, in ihre Dialogfeldklasse ein. Ändern Sie dann den Variablentyp von CButton zu CMFCColorPickerCtrl.

  3. Fügen Sie den WM_INITDIALOG Nachrichtenhandler für die Dialogfeldklasse ein. Legen Sie im Handler den Typ, die Palette und die ursprüngliche ausgewählte Farbe des CMFCColorPickerCtrl Steuerelements fest.

Beispiel

Im folgenden Beispiel wird das Konfigurieren eines CMFCColorPickerCtrl Objekts mithilfe verschiedener Methoden in der CMFCColorPickerCtrl Klasse veranschaulicht. Im Beispiel wird veranschaulicht, wie der Typ des Auswahlsteuerelements festgelegt wird und wie die Farbe, der Farbton, die Leuchtdichte und die Sättigung festgelegt werden. Das Beispiel ist Teil des Beispiels "Neue Steuerelemente".

CMFCColorPickerCtrl m_wndLum;
// CPalette m_palSys
// set the type of the color picker control
m_wndLum.SetType(CMFCColorPickerCtrl::LUMINANCE);
m_wndLum.SetPalette(&m_palSys);
// set the color, hue, luminance and saturation of the color picker control
m_wndLum.SetColor(RGB(0, 255, 0));
m_wndLum.SetHue(0.5);
m_wndLum.SetLuminance(2.5);
m_wndLum.SetLuminanceBarWidth(10);
m_wndLum.SetSaturation(0.5);

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CButton

CMFCColorPickerCtrl

Anforderungen

Header: afxcolorpickerctrl.h

CMFCColorPickerCtrl::CMFCColorPickerCtrl

Erstellt ein CMFCColorPickerCtrl-Objekt.

CMFCColorPickerCtrl();

Rückgabewert

Bemerkungen

CMFCColorPickerCtrl::D rawCursor

Wird vom Framework aufgerufen, bevor ein Cursor angezeigt wird, der auf die ausgewählte Farbe zeigt.

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

Parameter

pDC
[in] Zeiger auf einen Gerätekontext.

Rect
[in] Gibt einen rechteckigen Bereich um die ausgewählte Farbe an.

Hinweise

Überschreiben Sie diese Methode, wenn Sie die Form des Cursors ändern müssen, der auf die ausgewählte Farbe zeigt.

CMFCColorPickerCtrl::GetColor

Ruft die Farbe ab, die der Benutzer auswählt.

COLORREF GetColor() const;

Rückgabewert

Der RGB-Wert der ausgewählten Farbe.

Hinweise

CMFCColorPickerCtrl::GetHLS

Ruft die Farbton-, Leuchtdichte- und Sättigungswerte der Farbe ab, die der Benutzer auswählt.

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

Parameter

Farbton
[out] Zeiger auf eine Variable vom Typ Double, die Farbtoninformationen empfängt.

Leuchtdichte
[out] Zeiger auf eine Variable vom Typ Double, die Leuchtdichteinformationen empfängt.

Sättigung
[out] Zeiger auf eine Variable vom Typ Double, die Sättigungsinformationen empfängt.

Hinweise

CMFCColorPickerCtrl::GetHue

Ruft die Farbtonkomponente der Farbe ab, die der Benutzer auswählt.

double GetHue() const;

Rückgabewert

Die Farbtonkomponente der ausgewählten Farbe.

Hinweise

CMFCColorPickerCtrl::GetLuminance

Ruft die Leuchtdichtekomponente der Farbe ab, die der Benutzer auswählt.

double GetLuminance() const;

Rückgabewert

Die Leuchtdichtekomponente der ausgewählten Farbe.

Hinweise

CMFCColorPickerCtrl::GetSaturation

Ruft den Sättigungswert der Farbe ab, die der Benutzer auswählt.

double GetSaturation() const;

Rückgabewert

Die Sättigungskomponente der ausgewählten Farbe.

Hinweise

CMFCColorPickerCtrl::SelectCellHexagon

Legt die aktuelle Farbe auf die Farbe fest, die durch die angegebenen RGB-Farbkomponenten oder das angegebene Zellsechseck definiert wird.

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

BOOL SelectCellHexagon(
    int x,
    int y);

Parameter

R
[in] Die rote Farbkomponente.

G
[in] Die grüne Farbkomponente.

B
[in] Die blaue Farbkomponente.

x
[in] Die x-Koordinate des Cursors, die auf ein Zellsechseck zeigt.

y
[in] Die y-Koordinate des Cursors, die auf ein Zellsechseck zeigt.

Rückgabewert

Die zweite Überladung dieser Methode gibt immer FALSE zurück.

Hinweise

Die erste Überladung dieser Methode legt die aktuelle Farbe auf die Farbe fest, die den angegebenen Rot-, Grün- und Blaufarbenkomponenten des Farbauswahlsteuerelements entspricht.

Die zweite Überladung dieser Methode legt die aktuelle Farbe auf die Farbe des Zellsecks fest, auf das durch die angegebene Cursorposition verwiesen wird.

CMFCColorPickerCtrl::SetColor

Legt die aktuelle Farbe auf den angegebenen RGB-Farbwert fest.

void SetColor(COLORREF Color);

Parameter

Farbe
[in] Ein RGB-Farbwert.

Hinweise

CMFCColorPickerCtrl::SetHLS

Legt die aktuelle Farbe auf den angegebenen HLS-Farbwert fest.

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

Parameter

Farbton
[in] Ein Farbtonwert.

Leuchtdichte
[in] Ein Leuchtdichtewert.

Sättigung
[in] Ein Sättigungswert.

bInvalidate
[in] TRUE, um zu erzwingen, dass das Fenster sofort auf die neue Farbe aktualisiert wird; andernfalls FALSE. Der Standardwert ist TRUE.

Hinweise

CMFCColorPickerCtrl::SetHue

Ändert den Farbton der aktuell ausgewählten Farbe.

void SetHue(double Hue);

Parameter

Farbton
[in] Ein Farbtonwert.

Hinweise

CMFCColorPickerCtrl::SetLuminance

Ändert die Leuchtdichte der aktuell ausgewählten Farbe.

void SetLuminance(double Luminance);

Parameter

Sättigung
[in] Ein Leuchtdichtewert.

Hinweise

CMFCColorPickerCtrl::SetLuminanceBarWidth

Legt die Breite der Leuchtdichteleiste im Farbauswahl-Steuerelement fest.

void SetLuminanceBarWidth(int w);

Parameter

a
[in] Die Breite des Leuchtdichtebalkens in Pixeln.

Hinweise

Verwenden Sie diese Methode, um die Größe der Leuchtdichteleiste zu ändern, die sich auf der Registerkarte "Benutzerdefiniert " des Farbauswahl-Steuerelements befindet. Der Parameter w gibt die neue Breite des Leuchtdichtebalkens an. Der Breiteswert wird ignoriert, wenn er drei Viertel der Clientbereichsbreite überschreitet.

CMFCColorPickerCtrl::SetOriginalColor

Legt die ursprüngliche ausgewählte Farbe fest.

void SetOriginalColor(COLORREF ref);

Parameter

ref
[in] Ein RGB-Farbwert.

Hinweise

Rufen Sie diese Methode auf, wenn das Farbauswahlsteuerelement initialisiert wird.

CMFCColorPickerCtrl::SetPalette

Legt die aktuelle Farbpalette fest.

void SetPalette(CPalette* pPalette);

Parameter

pPalette
[in] Zeiger auf eine Farbpalette.

Hinweise

Die Farbpalette definiert das Array von Farben, die im Farbauswahlsteuerelement dargestellt werden.

CMFCColorPickerCtrl::SetSaturation

Ändert die Sättigung der aktuell ausgewählten Farbe.

void SetSaturation(double Saturation);

Parameter

Sättigung
[in] Ein Sättigungswert.

Hinweise

CMFCColorPickerCtrl::SetType

Legt den Typ des anzuzeigenden Farbauswahl-Steuerelements fest.

void SetType(COLORTYPE colorType);

Parameter

Farbtyp
[in] Ein Farbauswahl-Steuerelementtyp.

Die Typen werden durch die CMFCColorPickerCtrl::COLORTYPE Enumeration definiert. Mögliche Typen sind LUMINANCE, PICKER, HEX und HEX_GREYSCALE. Der Standardtyp ist PICKER.

Hinweise

Um einen Farbauswahl-Steuerelementtyp anzugeben, rufen Sie diese Methode auf, bevor das Windows-Steuerelement erstellt wird.

Siehe auch

Hierarchiediagramm
Klassen
CMFCColorDialog-Klasse