Share via


CMFCColorButton-klasse

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

De CMFCColorButton klassen CMFCColorBar-klassen worden samen gebruikt om een besturingselement voor kleurenkiezer te implementeren.

Syntaxis

class CMFCColorButton : public CMFCButton

Leden

Openbare constructors

Naam Description
CMFCColorButton::CMFCColorButton Maakt een nieuw CMFCColorButton object.

Openbare methoden

Naam Description
CMFCColorButton::EnableAutomaticButton Hiermee schakelt u een 'automatische' knop in en uit die boven de normale kleurknoppen wordt weergegeven. (De standaardknop automatisch systeem heeft het label Automatisch.)
CMFCColorButton::EnableOtherButton Hiermee schakelt u een 'andere' knop in en uit die onder de normale kleurknoppen wordt weergegeven. (De standaardsysteemknop 'overige' heeft het label Meer kleuren.)
CMFCColorButton::GetAutomaticColor Hiermee haalt u de huidige automatische kleur op.
CMFCColorButton::GetColor Hiermee haalt u de kleur van een knop op.
CMFCColorButton::SetColor Hiermee stelt u de kleur van een knop in.
CMFCColorButton::SetColorName Hiermee stelt u een kleurnaam in.
CMFCColorButton::SetColumnsNumber Hiermee stelt u het aantal kolommen in het dialoogvenster kleurkiezer in.
CMFCColorButton::SetDocumentColors Hiermee geeft u een lijst met documentspecifieke kleuren op die worden weergegeven in het dialoogvenster kleurkiezer.
CMFCColorButton::SetPalette Hiermee geeft u een palet van standaardweergavekleuren.
CMFCColorButton::SizeToContent Hiermee wijzigt u de grootte van het knop besturingselement, afhankelijk van de tekst en de grootte van de afbeelding.

Beveiligde methoden

Naam Description
CMFCColorButton::IsDrawXPTheme Hiermee wordt aangegeven of de huidige kleurknop wordt weergegeven in de visuele stijl van Windows XP.
CMFCColorButton::OnDraw Aangeroepen door het framework om een afbeelding van de knop weer te geven.
CMFCColorButton::OnDrawBorder Aangeroepen door het framework om de rand van de knop weer te geven.
CMFCColorButton::OnDrawFocusRect Aangeroepen door het framework om een focusrechthoek weer te geven wanneer de knop een focus heeft.
CMFCColorButton::OnShowColorPopup Aangeroepen door het framework wanneer het dialoogvenster kleurkiezer op het punt staat te worden weergegeven.
CMFCColorButton::RebuildPalette Initialiseert het m_pPalette beveiligde gegevenslid naar het opgegeven palet of het standaardsysteempalet.
CMFCColorButton::UpdateColor Aangeroepen door het framework wanneer de gebruiker een kleur selecteert in het palet van het dialoogvenster kleurkiezer.

Gegevensleden

Naam Description
m_bAltColorDlg Een Booleaanse waarde. Als WAAR is, geeft het framework het dialoogvenster CMFCColorDialog-kleur weer wanneer op de andere knop wordt geklikt, of indien ONWAAR, het dialoogvenster systeemkleur. De standaardwaarde is WAAR. Zie CMFCColorButton::EnableOtherButton voor meer informatie.
m_bAutoSetFocus Een Booleaanse waarde. Als WAAR is, stelt het framework de focus in op het kleurenmenu wanneer het menu wordt weergegeven, of als ONWAAR, de focus niet verandert. De standaardwaarde is WAAR.
CMFCColorButton::m_bEnabledInCustomizeMode Hiermee wordt aangegeven of de aanpassingsmodus is ingeschakeld voor de kleurknop.
m_Color Een COLORREF-waarde . Bevat de geselecteerde kleur.
m_ColorAutomatic Een COLORREF-waarde . Bevat de momenteel geselecteerde standaardkleur.
m_Colors Een CArray van COLORREF-waarden . Bevat de momenteel beschikbare kleuren.
m_lstDocColors Een CList met COLORREF-waarden . Bevat de huidige documentkleuren.
m_nColumns Een geheel getal. Bevat het aantal kolommen dat moet worden weergegeven in het raster met kleuren in een kleurenselectiemenu.
m_pPalette Een aanwijzer naar een CPalette. Bevat de kleuren die beschikbaar zijn in het huidige kleurenselectiemenu.
m_pPopup Een aanwijzer naar een CMFCColorPopupMenu Class-object . Het menu kleurselectie dat wordt weergegeven wanneer u op de knop Kleur klikt.
m_strAutoColorText Een tekenreeks. Het label van de knop 'automatisch' in een kleurenselectiemenu.
m_strDocColorsText Een tekenreeks. Het label van de knop in een kleurenselectiemenu waarin de documentkleuren worden weergegeven.
m_strOtherText Een tekenreeks. Het label van de knop 'other' in een kleurenselectiemenu.

Opmerkingen

De klasse gedraagt zich standaard CMFCColorButton als een drukknop waarmee een dialoogvenster voor kleurenkiezer wordt geopend. Het dialoogvenster Kleurkiezer bevat een matrix met kleine kleurknoppen en een andere knop waarmee een aangepaste kleurkiezer wordt weergegeven. (De standaardsysteemknop 'overige' heeft het label Meer kleuren.) Wanneer een gebruiker een nieuwe kleur selecteert, weerspiegelt het CMFCColorButton object de wijziging en wordt de geselecteerde kleur weergegeven.

Maak een besturingselement voor een kleurknop rechtstreeks in uw code of met behulp van het hulpprogramma ClassWizard en een dialoogvenstersjabloon. Als u rechtstreeks een besturingselement voor een kleurknop maakt, voegt u een CMFCColorButton variabele toe aan uw toepassing en roept u de constructor en Create methoden van het CMFCColorButton object aan. Als u de ClassWizard gebruikt, voegt u een CButton variabele toe aan uw toepassing en wijzigt u vervolgens het type van de variabele CButton in CMFCColorButton.

Het dialoogvenster kleurkiezer ( CMFCColorBar-klasse) wordt weergegeven door de CMFCColorButton::OnShowColorPopup-methode wanneer het framework de OnLButtonDown gebeurtenishandler aanroept. De methode CMFCColorButton::OnShowColorPopup kan worden overschreven om aangepaste kleurselectie te ondersteunen.

Het CMFCColorButton object meldt dat een kleur wordt gewijzigd door een WM_COMMAND | BN_CLICKED melding. Het bovenliggende item maakt gebruik van de methode CMFCColorButton::GetColor om de huidige kleur op te halen.

Example

In het volgende voorbeeld ziet u hoe u een kleurknop configureert met behulp van verschillende methoden in de CMFCColorButton klasse. Met de methoden stelt u de kleur van de kleurknop en het aantal kolommen in en schakelt u de automatische knoppen en de andere knoppen in. Dit voorbeeld maakt deel uit van het voorbeeld van de statusbalkdemo.

CMFCColorButton m_wndTextColor;
m_wndTextColor.EnableAutomaticButton(_T("Default"), afxGlobalData.clrBtnText);
m_wndTextColor.EnableOtherButton(_T("Other..."));
m_wndTextColor.SetColor((COLORREF)-1);
m_wndTextColor.SetColorName((COLORREF)-1, "Default Color");
m_wndTextColor.SetColumnsNumber(3);

Requirements

Koptekst: afxcolorbutton.h

CMFCColorButton::CMFCColorButton

Maakt een nieuw CMFCColorButton object.

CMFCColorButton();

CMFCColorButton::EnableAutomaticButton

Schakel de knop 'automatisch' van een besturingselement voor kleurenkiezer in of uit en stel de automatische (standaard) kleur in.

void EnableAutomaticButton(
    LPCTSTR lpszLabel,
    COLORREF colorAutomatic,
    BOOL bEnable=TRUE);

Parameterwaarden

lpszLabel
[in] Hiermee geeft u de tekst van de automatische knop.

colorAutomatic
[in] Een RGB-waarde die de standaardkleur van de automatische knop aangeeft.

bEnable
[in] Hiermee geeft u op of de automatische knop is ingeschakeld of uitgeschakeld.

Opmerkingen

CMFCColorButton::EnableOtherButton

Schakel de knop 'overige' in of uit, die onder normale kleurknoppen wordt weergegeven.

void EnableOtherButton(
    LPCTSTR lpszLabel,
    BOOL bAltColorDlg=TRUE,
    BOOL bEnable=TRUE);

Parameterwaarden

lpszLabel
[in] Hiermee geeft u de tekst van de knop op.

bAltColorDlg
[in] Hiermee geeft u op of het dialoogvenster CMFCColorDialog of het dialoogvenster systeemkleur wordt geopend wanneer de gebruiker op de knop klikt.

bEnable
[in] Hiermee geeft u op of de knop 'overige' is ingeschakeld of uitgeschakeld.

Opmerkingen

Klik op de knop Overige om een kleurendialoogvenster weer te geven. Als de parameter bAltColorDlg TRUE is, wordt de klasse CMFCColorDialog weergegeven; anders wordt het dialoogvenster Systeemkleur weergegeven.

CMFCColorButton::GetAutomaticColor

Hiermee haalt u de huidige automatische (standaard) kleur op.

COLORREF GetAutomaticColor() const;

Retourwaarde

Een RGB-waarde die de huidige automatische kleur aangeeft.

Opmerkingen

De huidige automatische kleur wordt ingesteld door de methode CMFCColorButton::EnableAutomaticButton .

CMFCColorButton::GetColor

Hiermee haalt u de geselecteerde kleur op.

COLORREF GetColor() const;

Retourwaarde

Een RGB-waarde.

Opmerkingen

CMFCColorButton::IsDrawXPTheme

Hiermee wordt aangegeven of de huidige kleurknop wordt weergegeven in de visuele stijl van Windows XP.

BOOL IsDrawXPTheme() const;

Retourwaarde

WAAR als visuele stijlen worden ondersteund en de huidige kleurknop wordt weergegeven in de visuele stijl van Windows XP; anders, ONWAAR.

CMFCColorButton::m_bEnabledInCustomizeMode

Hiermee stelt u een kleurknop in op de aanpassingsmodus.

BOOL m_bEnabledInCustomizeMode;

Opmerkingen

Als u een kleurknop wilt toevoegen aan de pagina van een aanpassingsdialoogvenster (of de gebruiker de mogelijkheid geeft om een andere kleurselectie te maken tijdens het aanpassen), schakelt u de knop in door het m_bEnabledInCustomizeMode lid in te stellen op TRUE. Dit lid is standaard ingesteld op FALSE.

CMFCColorButton::OnDraw

Aangeroepen door het framework om een afbeelding van de knop weer te geven.

virtual void OnDraw(
    CDC* pDC,
    const CRect& rect,
    UINT uiState);

Parameterwaarden

Pdc
[in] Verwijst naar de apparaatcontext die wordt gebruikt om de afbeelding van de knop weer te geven.

Rect
[in] Een rechthoek die de knop begrenst.

uiState
[in] Hiermee geeft u de visuele status van de knop.

Opmerkingen

Overschrijf deze methode om het renderingproces aan te passen.

CMFCColorButton::OnDrawBorder

Aangeroepen door het framework om de rand van de knop weer te geven.

virtual void OnDrawBorder(
    CDC* pDC,
    CRect& rectClient,
    UINT uiState);

Parameterwaarden

Pdc
[in] Verwijst naar de apparaatcontext die wordt gebruikt om de rand te tekenen.

rectClient
[in] Een rechthoek in de apparaatcontext die is opgegeven door de pDC-parameter waarmee de grenzen van de knop worden gedefinieerd die moeten worden getekend.

uiState
[in] Hiermee geeft u de visuele status van de knop.

Opmerkingen

Overschrijf deze functie om het uiterlijk van de rand van de kleurknop aan te passen.

CMFCColorButton::OnDrawFocusRect

Aangeroepen door het framework om een focusrechthoek weer te geven wanneer de knop de focus heeft.

virtual void OnDrawFocusRect(
    CDC* pDC,
    const CRect& rectClient);

Parameterwaarden

Pdc
[in] Verwijst naar de apparaatcontext die wordt gebruikt om de focusrechthoek te tekenen.

rectClient
[in] Een rechthoek in de apparaatcontext die is opgegeven door de pDC-parameter die de grenzen van de knop definieert.

Opmerkingen

Overschrijf deze methode om het uiterlijk van de focusrechthoek aan te passen.

CMFCColorButton::OnShowColorPopup

Aangeroepen voordat de pop-upkleurbalk wordt weergegeven.

virtual void OnShowColorPopup();

Opmerkingen

CMFCColorButton::RebuildPalette

Initialiseert het m_pPalette beveiligde gegevenslid naar het opgegeven palet of het standaardsysteempalet.

void RebuildPalette(CPalette* pPal);

Parameterwaarden

pPal
[in] Een aanwijzer naar een logisch palet of NULL. Als NULL wordt gebruikt, wordt het standaardsysteempalet gebruikt.

CMFCColorButton::SetColor

Hiermee geeft u de kleur van de knop.

void SetColor(COLORREF color);

Parameterwaarden

kleur
[in] Een RGB-waarde.

Opmerkingen

CMFCColorButton::SetColorName

Hiermee geeft u de naam van een kleur.

static void SetColorName(
    COLORREF color,
    const CString& strName);

Parameterwaarden

kleur
[in] De RGB-waarde van de kleur.

strName
[in] De naam van de kleur.

Opmerkingen

De lijst met kleurnamen is globaal per toepassing. Daarom draagt deze methode de parameters over naar CMFCColorBar::SetColorName.

CMFCColorButton::SetColumnsNumber

Hiermee definieert u het aantal kolommen dat wordt weergegeven in de tabel met kleuren die tijdens het selectieproces van de gebruiker worden weergegeven.

void SetColumnsNumber(int nColumns);

Parameterwaarden

nColumns
[in] Hiermee geeft u het aantal kolommen op.

Opmerkingen

De gebruiker kan een kleur selecteren in een pop-upkleurbalk waarin een tabel met vooraf gedefinieerde kleuren wordt weergegeven. Gebruik deze methode om het aantal kolommen in de tabel te definiƫren.

CMFCColorButton::SetDocumentColors

Hiermee geeft u een set kleuren en de naam van de set. De set kleuren wordt weergegeven met behulp van een CMFCColorBar Class-object .

void SetDocumentColors(
    LPCTSTR lpszLabel,
    CList<COLORREF,COLORREF>& lstColors);

Parameterwaarden

lpszLabel
[in] Hiermee geeft u het label op dat moet worden weergegeven met de set documentkleuren.

lstColors
[in] Een verwijzing naar een lijst met RGB-waarden.

Opmerkingen

Een CMFCColorButton object onderhoudt een lijst met RGB-waarden die worden overgebracht naar een CMFCColorBar-klasseobject . Wanneer de kleurenbalk wordt weergegeven, worden deze kleuren weergegeven in een speciale sectie waarvan het label is opgegeven door de parameter lpszLabel .

CMFCColorButton::SetPalette

Hiermee geeft u de standaardkleuren op die moeten worden weergegeven op de pop-upkleurbalk.

void SetPalette(CPalette* pPalette);

Parameterwaarden

pPalette
[in] Een aanwijzer naar een kleurenpalet.

Opmerkingen

CMFCColorButton::SizeToContent

Hiermee wijzigt u het formaat van het besturingselement voor de knop zodat deze past bij de tekst en afbeelding.

virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);

Parameterwaarden

bCalcOnly
[in] Als het niet-nul is, wordt de nieuwe grootte van het knop besturingselement berekend, maar wordt de werkelijke grootte niet gewijzigd.

Retourwaarde

Een CSize object dat een nieuwe grootte voor knopbesturing aangeeft.

Opmerkingen

CMFCColorButton::UpdateColor

Aangeroepen door het framework wanneer de gebruiker een kleur selecteert in de kleurenbalk die wordt weergegeven wanneer de gebruiker op de kleurknop klikt.

virtual void UpdateColor(COLORREF color);

Parameterwaarden

kleur
[in] Een kleur die door de gebruiker is geselecteerd.

Opmerkingen

De UpdateColor functie wijzigt de kleur van de geselecteerde knop en geeft de bovenliggende knop een melding door een WM_COMMAND bericht te verzenden met een BN_CLICKED standaardmelding. Gebruik de methode CMFCColorButton::GetColor om de geselecteerde kleur op te halen.

Zie ook

Hiƫrarchiegrafiek
Klassen
CMFCButton-klasse
CMFCColorBar-klasse
CMFCColorButton::OnShowColorPopup
COLORREF
Klasse CPalette
CArray-klasse
CList-klasse
CString