Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
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