CMFCColorButton-Klasse
Die CMFCColorButton
Klassen " CMFCColorBar" werden zusammen verwendet, um ein Farbauswahlsteuerelement zu implementieren.
Syntax
class CMFCColorButton : public CMFCButton
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CMFCColorButton::CMFCColorButton | Erstellt ein neues CMFCColorButton -Objekt. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CMFCColorButton::EnableAutomaticButton | Aktiviert und deaktiviert eine "automatische" Schaltfläche, die über den regulären Farbschaltflächen positioniert ist. (Die automatische Standardschaltfläche des Systems ist beschriftet. Automatisch.) |
CMFCColorButton::EnableOtherButton | Aktiviert und deaktiviert eine "andere" Schaltfläche, die unter den regulären Farbschaltflächen positioniert ist. (Die Standardsystemschaltfläche "sonstige" ist mit der Bezeichnung versehen. Weitere Farben.) |
CMFCColorButton::GetAutomaticColor | Ruft die aktuelle automatische Farbe ab. |
CMFCColorButton::GetColor | Ruft die Farbe einer Schaltfläche ab. |
CMFCColorButton::SetColor | Legt die Farbe einer Schaltfläche fest. |
CMFCColorButton::SetColorName | Legt einen Farbnamen fest. |
CMFCColorButton::SetColumnsNumber | Legt die Anzahl der Spalten im Dialogfeld "Farbauswahl" fest. |
CMFCColorButton::SetDocumentColors | Gibt eine Liste der dokumentspezifischen Farben an, die im Dialogfeld "Farbauswahl" angezeigt werden. |
CMFCColorButton::SetPalette | Gibt eine Palette von Standardanzeigefarben an. |
CMFCColorButton::SizeToContent | Ändert die Größe des Schaltflächensteuerelements je nach Text und Bildgröße. |
Geschützte Methoden
Name | Beschreibung |
---|---|
CMFCColorButton::IsDrawXPTheme | Gibt an, ob die aktuelle Farbschaltfläche im visuellen Stil von Windows XP angezeigt wird. |
CMFCColorButton::OnDraw | Wird vom Framework aufgerufen, um ein Bild der Schaltfläche anzuzeigen. |
CMFCColorButton::OnDrawBorder | Wird vom Framework aufgerufen, um den Rahmen der Schaltfläche anzuzeigen. |
CMFCColorButton::OnDrawFocusRect | Wird vom Framework aufgerufen, um ein Fokusrechteck anzuzeigen, wenn die Schaltfläche einen Fokus hat. |
CMFCColorButton::OnShowColorPopup | Wird vom Framework aufgerufen, wenn das Dialogfeld "Farbauswahl" angezeigt wird. |
CMFCColorButton::RebuildPalette | Initialisiert das m_pPalette geschützte Datenelement in der angegebenen Palette oder der Standardsystempalette. |
CMFCColorButton::UpdateColor | Wird vom Framework aufgerufen, wenn der Benutzer eine Farbe aus der Palette des Dialogfelds für die Farbauswahl auswählt. |
Datenelemente
Name | Beschreibung |
---|---|
m_bAltColorDlg |
Ein boolescher Wert. Wenn TRUE, zeigt das Framework das CMFCColorDialog-Farbdialog-Dialogfeld an, wenn auf die andere Schaltfläche geklickt wird, oder wenn FALSE, das Dialogfeld "Systemfarbe". Der Standardwert ist TRUE. Weitere Informationen finden Sie unter CMFCColorButton::EnableOtherButton. |
m_bAutoSetFocus |
Ein boolescher Wert. Wenn TRUE, legt das Framework den Fokus auf das Farbmenü fest, wenn das Menü angezeigt wird, oder wenn FALSE, ändert den Fokus nicht. Der Standardwert ist TRUE. |
CMFCColorButton::m_bEnabledInCustomizeMode | Gibt an, ob der Anpassungsmodus für die Farbschaltfläche aktiviert ist. |
m_Color |
EIN COLORREF-Wert . Enthält die aktuell ausgewählte Farbe. |
m_ColorAutomatic |
EIN COLORREF-Wert . Enthält die aktuell ausgewählte Standardfarbe. |
m_Colors |
Ein CArray von COLORREF-Werten . Enthält die derzeit verfügbaren Farben. |
m_lstDocColors |
Eine CList von COLORREF-Werten . Enthält die aktuellen Dokumentfarben. |
m_nColumns |
Eine ganze Zahl Enthält die Anzahl der Spalten, die im Raster der Farben in einem Farbauswahlmenü angezeigt werden sollen. |
m_pPalette |
Ein Zeiger auf eine CPalette. Enthält die Farben, die im aktuellen Farbauswahlmenü verfügbar sind. |
m_pPopup |
Ein Zeiger auf ein CMFCColorPopupMenu Class-Objekt . Das Farbauswahlmenü, das angezeigt wird, wenn Sie auf die Farbschaltfläche klicken. |
m_strAutoColorText |
Eine Zeichenfolge. Die Beschriftung der Schaltfläche "Automatisch" in einem Farbauswahlmenü. |
m_strDocColorsText |
Eine Zeichenfolge. Die Beschriftung der Schaltfläche in einem Farbauswahlmenü, in dem die Dokumentfarben angezeigt werden. |
m_strOtherText |
Eine Zeichenfolge. Die Beschriftung der Schaltfläche "Andere" in einem Farbauswahlmenü. |
Hinweise
Standardmäßig verhält sich die Klasse als Schaltfläche, mit der CMFCColorButton
ein Dialogfeld für die Farbauswahl geöffnet wird. Das Dialogfeld "Farbauswahl" enthält ein Array kleiner Farbschaltflächen und eine "andere"-Schaltfläche, die eine benutzerdefinierte Farbauswahl anzeigt. (Die Standardsystemschaltfläche "sonstige" ist mit der Bezeichnung versehen. Weitere Farben.) Wenn ein Benutzer eine neue Farbe auswählt, spiegelt das Objekt die CMFCColorButton
Änderung wider und zeigt die ausgewählte Farbe an.
Erstellen Sie ein Farbschaltflächen-Steuerelement entweder direkt in Ihrem Code oder mithilfe des Tools "ClassWizard " und einer Dialogfeldvorlage. Wenn Sie ein Farbschaltflächen-Steuerelement direkt erstellen, fügen Sie Ihrer Anwendung eine CMFCColorButton
Variable hinzu, und rufen Sie dann den Konstruktor und Create
die Methoden des CMFCColorButton
Objekts auf. Wenn Sie den ClassWizard verwenden, fügen Sie ihrer Anwendung eine CButton
Variable hinzu, und ändern Sie dann den Typ der Variablen von CButton
" in "CMFCColorButton
.
Das Dialogfeld "Farbauswahl" ( CMFCColorBar-Klasse) wird von der CMFCColorButton::OnShowColorPopup-Methode angezeigt, wenn das Framework den OnLButtonDown
Ereignishandler aufruft. Die CMFCColorButton::OnShowColorPopup-Methode kann überschrieben werden, um die benutzerdefinierte Farbauswahl zu unterstützen.
Das CMFCColorButton
Objekt benachrichtigt das übergeordnete Objekt, dass eine Farbe geändert wird, indem sie eine WM_COMMAND | BN_CLICKED Benachrichtigung. Das übergeordnete Element verwendet die CMFCColorButton::GetColor-Methode , um die aktuelle Farbe abzurufen.
Beispiel
Im folgenden Beispiel wird veranschaulicht, wie Sie eine Farbschaltfläche mithilfe verschiedener Methoden in der CMFCColorButton
Klasse konfigurieren. Die Methoden legen die Farbe der Farbschaltfläche und die Anzahl der Spalten fest, und aktivieren Sie die schaltflächen automatisch und die anderen Schaltflächen. Dieses Beispiel ist Teil des Demobeispiels für die Statusleiste.
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);
Anforderungen
Kopfzeile: afxcolorbutton.h
CMFCColorButton::CMFCColorButton
Erstellt ein neues CMFCColorButton
-Objekt.
CMFCColorButton();
CMFCColorButton::EnableAutomaticButton
Aktivieren oder deaktivieren Sie die Schaltfläche "Automatisch" eines Farbauswahlsteuerelements, und legen Sie die automatische Farbe (Standardfarbe) fest.
void EnableAutomaticButton(
LPCTSTR lpszLabel,
COLORREF colorAutomatic,
BOOL bEnable=TRUE);
Parameter
lpszLabel
[in] Gibt den Text der automatischen Schaltfläche an.
colorAutomatic
[in] Ein RGB-Wert, der die Standardfarbe der automatischen Schaltfläche angibt.
bEnable
[in] Gibt an, ob die automatische Schaltfläche aktiviert oder deaktiviert ist.
Hinweise
CMFCColorButton::EnableOtherButton
Aktivieren oder deaktivieren Sie die Schaltfläche "Andere", die unter regulären Farbschaltflächen angezeigt wird.
void EnableOtherButton(
LPCTSTR lpszLabel,
BOOL bAltColorDlg=TRUE,
BOOL bEnable=TRUE);
Parameter
lpszLabel
[in] Gibt den Text der Schaltfläche an.
bAltColorDlg
[in] Gibt an, ob das Dialogfeld CMFCColorDialog oder das Systemfarbdialogfeld geöffnet wird, wenn der Benutzer auf die Schaltfläche klickt.
bEnable
[in] Gibt an, ob die Schaltfläche "Andere" aktiviert oder deaktiviert ist.
Hinweise
Klicken Sie auf die Schaltfläche "Andere", um ein Farbdialogfeld anzuzeigen. Wenn der Parameter "bAltColorDlg " WAHR ist, wird die CMFCColorDialog-Klasse angezeigt. Andernfalls wird das Dialogfeld "Systemfarbe" angezeigt.
CMFCColorButton::GetAutomaticColor
Ruft die aktuelle automatische Farbe (Standardfarbe) ab.
COLORREF GetAutomaticColor() const;
Rückgabewert
Ein RGB-Wert, der die aktuelle automatische Farbe darstellt.
Hinweise
Die aktuelle automatische Farbe wird von der CMFCColorButton::EnableAutomaticButton-Methode festgelegt.
CMFCColorButton::GetColor
Ruft die aktuell ausgewählte Farbe ab.
COLORREF GetColor() const;
Rückgabewert
Ein RGB-Wert.
Hinweise
CMFCColorButton::IsDrawXPTheme
Gibt an, ob die aktuelle Farbschaltfläche im visuellen Stil von Windows XP angezeigt wird.
BOOL IsDrawXPTheme() const;
Rückgabewert
TRUE, wenn visuelle Formatvorlagen unterstützt werden und die aktuelle Farbschaltfläche im visuellen Stil von Windows XP angezeigt wird; andernfalls FALSE.
CMFCColorButton::m_bEnabledInCustomizeMode
Legt eine Farbschaltfläche auf den Anpassungsmodus fest.
BOOL m_bEnabledInCustomizeMode;
Hinweise
Wenn Sie der Seite eines Anpassungsdialogfelds eine Farbschaltfläche hinzufügen müssen (oder dem Benutzer erlauben, während der Anpassung eine andere Farbauswahl vorzunehmen), aktivieren Sie die Schaltfläche, indem Sie das m_bEnabledInCustomizeMode
Element auf TRUE festlegen. Standardmäßig ist dieses Element auf FALSE festgelegt.
CMFCColorButton::OnDraw
Vom Framework aufgerufen, um ein Bild der Schaltfläche zu rendern.
virtual void OnDraw(
CDC* pDC,
const CRect& rect,
UINT uiState);
Parameter
pDC
[in] Verweist auf den Gerätekontext, der zum Rendern des Bilds der Schaltfläche verwendet wird.
rect
[in] Ein Rechteck, das die Schaltfläche begrenzt.
uiState
[in] Gibt den visuellen Zustand der Schaltfläche an.
Hinweise
Überschreiben Sie diese Methode, um den Renderingprozess anzupassen.
CMFCColorButton::OnDrawBorder
Vom Framework aufgerufen, um den Rahmen der Schaltfläche anzuzeigen.
virtual void OnDrawBorder(
CDC* pDC,
CRect& rectClient,
UINT uiState);
Parameter
pDC
[in] Verweist auf den Gerätekontext, der zum Zeichnen des Rahmens verwendet wird.
rectClient
[in] Ein Rechteck im Gerätekontext, das durch den pDC-Parameter angegeben wird, der die Grenzen der zu zeichnenden Schaltfläche definiert.
uiState
[in] Gibt den visuellen Zustand der Schaltfläche an.
Hinweise
Überschreiben Sie diese Funktion, um die Rahmendarstellung der Farbschaltfläche anzupassen.
CMFCColorButton::OnDrawFocusRect
Wird vom Framework aufgerufen, um ein Fokusrechteck anzuzeigen, wenn die Schaltfläche den Fokus hat.
virtual void OnDrawFocusRect(
CDC* pDC,
const CRect& rectClient);
Parameter
pDC
[in] Verweist auf den Gerätekontext, der zum Zeichnen des Fokusrechtecks verwendet wird.
rectClient
[in] Ein Rechteck im Gerätekontext, der durch den pDC-Parameter angegeben wird, der die Grenzen der Schaltfläche definiert.
Hinweise
Überschreiben Sie diese Methode, um die Darstellung des Fokusrechtecks anzupassen.
CMFCColorButton::OnShowColorPopup
Wird aufgerufen, bevor die Popupfarbleiste angezeigt wird.
virtual void OnShowColorPopup();
Hinweise
CMFCColorButton::RebuildPalette
Initialisiert das m_pPalette
geschützte Datenelement in der angegebenen Palette oder der Standardsystempalette.
void RebuildPalette(CPalette* pPal);
Parameter
pPal
[in] Ein Zeiger auf eine logische Palette oder NULL. Wenn NULL, wird die Standardsystempalette verwendet.
CMFCColorButton::SetColor
Gibt die Farbe der Schaltfläche an.
void SetColor(COLORREF color);
Parameter
color
[in] Ein RGB-Wert.
Hinweise
CMFCColorButton::SetColorName
Gibt den Namen einer Farbe an.
static void SetColorName(
COLORREF color,
const CString& strName);
Parameter
color
[in] Der RGB-Wert der Farbe.
strName
[in] Der Name der Farbe.
Hinweise
Die Liste der Farbnamen ist pro Anwendung global. Folglich überträgt diese Methode ihre Parameter an CMFCColorBar::SetColorName.
CMFCColorButton::SetColumnsNumber
Definiert die Anzahl der Spalten, die im Farbverzeichnis angezeigt werden, das dem Benutzer während des Farbauswahlprozesses angezeigt wird.
void SetColumnsNumber(int nColumns);
Parameter
nColumns
[in] Gibt die Anzahl der Spalten an.
Hinweise
Der Benutzer kann eine Farbe aus einer Popupfarbleiste auswählen, die eine Tabelle mit vordefinierten Farben anzeigt. Verwenden Sie diese Methode, um die Anzahl der Spalten in der Tabelle zu definieren.
CMFCColorButton::SetDocumentColors
Gibt einen Satz von Farben und den Namen des Satzes an. Der Farbsatz wird mit einem CMFCColorBar Class-Objekt angezeigt.
void SetDocumentColors(
LPCTSTR lpszLabel,
CList<COLORREF,COLORREF>& lstColors);
Parameter
lpszLabel
[in] Gibt die Beschriftung an, die mit der Gruppe von Dokumentfarben angezeigt werden soll.
lstColors
[in] Ein Verweis auf eine Liste von RGB-Werten.
Hinweise
Ein CMFCColorButton
Objekt verwaltet eine Liste von RGB-Werten, die an ein CMFCColorBar Class -Objekt übertragen werden. Wenn der Farbbalken angezeigt wird, werden diese Farben in einem speziellen Abschnitt angezeigt, dessen Beschriftung durch den parameter lpszLabel angegeben wird.
CMFCColorButton::SetPalette
Gibt die Standardfarben an, die auf der Popupfarbleiste angezeigt werden sollen.
void SetPalette(CPalette* pPalette);
Parameter
pPalette
[in] Ein Zeiger auf eine Farbpalette.
Hinweise
CMFCColorButton::SizeToContent
Ändert die Größe des Schaltflächensteuerelements so, dass es dem Text und Bild entspricht.
virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);
Parameter
bCalcOnly
[in] Ist "nonzero" festgelegt, wird die neue Größe des Schaltflächensteuerelements berechnet, die tatsächliche Größe wird jedoch nicht geändert.
Rückgabewert
Ein CSize
Objekt, das die Größe eines neuen Schaltflächensteuerelements angibt.
Hinweise
CMFCColorButton::UpdateColor
Wird vom Framework aufgerufen, wenn der Benutzer eine Farbe aus der Farbleiste auswählt, die angezeigt wird, wenn der Benutzer auf die Farbschaltfläche klickt.
virtual void UpdateColor(COLORREF color);
Parameter
color
[in] Vom Benutzer ausgewählte Farbe.
Hinweise
Die UpdateColor
Funktion ändert die Farbe der aktuell ausgewählten Schaltfläche und benachrichtigt das übergeordnete Element durch Senden einer WM_COMMAND Nachricht mit einer BN_CLICKED Standardbenachrichtigung. Verwenden Sie die CMFCColorButton::GetColor-Methode , um die ausgewählte Farbe abzurufen.
Siehe auch
Hierarchiediagramm
Klassen
CMFCButton-Klasse
CMFCColorBar-Klasse
CMFCColorButton::OnShowColorPopup
COLORREF
CPalette-Klasse
CArray-Klasse
CList-Klasse
CString