CMFCColorBar-Klasse
Die Klasse stellt eine CMFCColorBar andockbare Symbolleisten dar, die Farben in einem Dokument oder einer Anwendung auswählen kann.
class CMFCColorBar : public CMFCPopupMenuBar
Mitglieder
Geschützte Konstruktoren
Name |
Description |
---|---|
Erstellt ein CMFCColorBar-Objekt. |
Öffentliche Methoden
Name |
Description |
---|---|
Berechnet die vertikale und horizontale Ränder, die erforderlich sind, um die Schaltflächen auf dem Farbleistensteuerelement zu enthalten und passt dann den Speicherort dieser Schaltflächen. |
|
Stellt ein Farbleistensteuerfenster erstellt, fügt es an den CMFCColorBar-Objekt an und ändert die Größe des Steuerelements, um die angegebene Farbpalette zu enthalten. |
|
Stellt ein Farbleistensteuerfenster erstellt und fügt es an den CMFCColorBar-Objekt. |
|
In oder aus die automatische Schaltfläche. |
|
Aktiviert oder deaktiviert die Anzeige eines Dialogfelds, das den Benutzer mehr Farben auswählen können. |
|
Ruft die aktuell ausgewählte Farbe ab. |
|
Ruft die Befehls-ID des aktuellen Farbleistensteuerelements ab. |
|
Ruft die Farbe ab, die angibt, dass eine Farbenschaltfläche den Fokus besitzt; Das bedeutet, dass die Schaltfläche heiß. |
|
Ruft die horizontale Rand ab, der das Leerzeichen zwischen der linken oder rechten Farbenzelle und der Clientbereichsgrenze ist. |
|
Ruft den vertikalen Rand ab, der das Leerzeichen zwischen der oberen oder die Unterseitenfarbenzelle und die Clientbereichsgrenze ist. |
|
Gibt an, ob die aktuelle Farbbalken von ist. |
|
Legt die Farbe fest, die derzeit ausgewählt ist. |
|
Legt einen neuen Namen für eine angegebene Farbe fest. |
|
Legt eine neue Befehls-ID für ein Farbleistensteuerelement fest. |
|
Legt die Liste von Farben fest, die im aktuellen Dokument verwendet werden. |
|
Legt den horizontalen Rand fest, der das Leerzeichen zwischen der linken oder rechten Farbenzelle und der Clientbereichsgrenze ist. |
|
Legt den vertikalen Rand fest, der das Leerzeichen zwischen der oberen oder die Unterseitenfarbenzelle und die Clientbereichsgrenze ist. |
Geschützte Methoden
Name |
Description |
---|---|
Passt die Positionen der Farbenschaltflächen auf dem Farbleistensteuerelement. |
|
Gibt an, ob die Beschriftung von Farbenschaltflächen ändern kann. |
|
Gibt an, ob das Farbleistensteuerobjekt in einer Symbolleistenliste während des Anpassungsprozesses angezeigt werden kann. |
|
Aufgerufen vom Framework als Teil des Layoutrechenvorgangs. |
|
Initalizes eine Palette mit den Farben in einem angegebenen Array Farben. |
|
Berechnet die Anzahl der Zeilen und Spalten im Raster eines Farbleistensteuerelements. |
|
Berechnet die zusätzliche Höhe, die die aktuelle Farbleiste benötigt, um andere Benutzeroberflächenelemente wie die Schaltfläche Andere anzuzeigen, dokumentieren Farben, u. a. |
|
Initialisiert ein Array Farben mit den Farben in einer angegebenen Palette oder in der Systemstandardpalette. |
|
Aufgerufen vom Framework, wenn ein Benutzer eine Taste drückt. |
|
Aufgerufen durch das Framework, um eine Hierarchie von Popup- Steuerelemente zu schließen. |
|
Aufgerufen durch das Framework, um ein Benutzeroberflächen-Element eines Farbleistensteuerelements vor dem Element wird zu aktivieren oder zu deaktivieren angezeigt. |
|
Öffnet ein Dialogfeld. |
|
Aktualisiert vollständig das Farbleistensteuerelement neu. |
|
Legt die Logische Palette des angegebenen Gerätekontexts zur Palette der übergeordneten Schaltfläche des aktuellen Farbleistensteuerelements fest. |
|
Legt den m_pWndPropList geschützten Datenmember zum angegebenen Zeiger auf ein Eigenschaftenraster fest. |
|
Zeigt das Rahmenfenster an, das das Farbleistensteuerelement besitzt, um die Meldungszeile in der Statusleiste zu aktualisieren. |
Geschützte Datenmember
Name |
Description |
---|---|
m_bInternal |
Ein boolesches Feld, das bestimmt, ob Mausereignisse verarbeitet werden. In der Regel werden Mausereignisse verarbeitet, wenn dieses Feld TRUE ist und Anpassungsmodus FALSE ist. |
m_bIsEnabled |
Ein boolescher Wert, der angibt, ob ein Steuerelement aktiviert ist. |
m_bIsTearOff |
Ein boolescher Wert, der angibt, ob das Farbleistensteuerelement Andocken unterstützt. |
m_BoxSize |
Ein CSize-Objekt, das die Größe einer Zelle in einem Farbleistenraster angibt. |
m_bShowDocColorsWhenDocked |
Ein boolescher Wert, der angibt, ob Dokumentenfarben anzeigt, wenn die Farbleiste angedockt ist. Weitere Informationen finden Sie unter CMFCColorBar::SetDocumentColors. |
m_bStdColorDlg |
Ein boolescher Wert, der angibt, ob das Standardsystem Farbe Dialogfeld oder das Dialogfeld CMFCColorDialog anzeigt. Weitere Informationen finden Sie unter CMFCColorBar::EnableOtherButton. |
m_ColorAutomatic |
COLORREF, das die aktuelle Farbe automatische speichert. Weitere Informationen finden Sie unter CMFCColorBar::EnableOtherButton. |
m_ColorNames |
Ein CMap-Objekt, das einen Satz RGB zuordnet, Farbe mit ihren Namen. |
m_colors |
CArray von COLORREF-Werten, das die Farben enthält, die im Farbleistensteuerelement angezeigt werden. |
m_ColorSelected |
Ein COLORREF-Wert, der die Farbe ist, die der Benutzer gerade vom Farbleistensteuerelement ausgewählt hat. |
m_lstDocColors |
CList von COLORREF-Werten, das die Farben enthält, die derzeit in einem Dokument verwendet werden. |
m_nCommandID |
Eine ganze Zahl, die die Befehls-ID einer Farbenschaltfläche ist. |
m_nHorzMargin |
Eine ganze Zahl, die der horizontale Rand zwischen der Farbe ist, Schaltflächen in einem Raster von Farben. |
m_nHorzOffset |
Eine ganze Zahl, die der horizontale Offset zum Mittelpunkt der Farbenschaltfläche ist. Dieser Wert ist von Bedeutung, wenn die auf ein Bild oder zusätzlich zu einer Farbe Text. |
m_nNumColumns |
Eine ganze Zahl, die die Anzahl der Spalten in einem Farbleistensteuergitter von Farben ist. |
m_nNumColumnsVert |
Eine ganze Zahl, die die Anzahl der Spalten in einem vertikal orientierten Raster von Farben ist. |
m_nNumRowsHorz |
Eine ganze Zahl, die die Anzahl der Spalten in einem horizontal ausgerichteten Raster von Farben ist. |
m_nRowHeight |
Eine ganze Zahl, die auf die Höhe einer Zeile der Farbe ist, Schaltflächen in einem Raster von Farben. |
m_nVertMargin |
Eine ganze Zahl, die der vertikalen Rand zwischen der Farbe ist, Schaltflächen in einem Raster von Farben. |
m_nVertOffset |
Eine ganze Zahl, die der vertikalen Offset zum Mittelpunkt der Farbenschaltfläche ist. Dieser Wert ist von Bedeutung, wenn die auf ein Bild oder zusätzlich zu einer Farbe Text. |
m_Palette |
CPalette der Farben, die im Farbleistensteuerelement verwendet werden. |
m_pParentBtn |
Ein Zeiger auf einen CMFCColorButton-Objekt, das das übergeordnete Element der aktuellen Schaltfläche ist. Dieser Wert ist von Bedeutung, wenn die Farbenschaltfläche in einer Hierarchie von Symbolleisten-Steuerelementen ist oder in einem Farbeigenschaftenraster-steuerelement ist. |
m_pParentRibbonBtn |
Ein Zeiger auf einen CMFCRibbonColorButton-Objekt, das auf dem Menüband ist und die Elemente Schaltfläche der aktuellen Schaltfläche ist. Dieser Wert ist von Bedeutung, wenn die Farbenschaltfläche in einer Hierarchie von Symbolleisten-Steuerelementen ist oder in einem Farbeigenschaftenraster-steuerelement ist. |
m_pWndPropList |
Ein Zeiger auf ein Objekt CMFCPropertyGridCtrl. |
m_strAutoColor |
CString, das der Text ist, der auf der Schaltfläche Automatisch angezeigt wird. Weitere Informationen finden Sie unter CMFCColorBar::EnableAutomaticButton. |
m_strDocColors |
CString, das der Text ist, der auf der Dokumentenfarbenschaltfläche angezeigt wird. Weitere Informationen finden Sie unter CMFCColorBar::SetDocumentColors. |
m_strOtherColor |
CString, das der Text ist, der auf der anderen Schaltfläche angezeigt wird. Weitere Informationen finden Sie unter CMFCColorBar::EnableOtherButton. |
Hinweise
Normalerweise erstellen Sie kein CMFCColorBar-Objekt direkt. Stattdessen erstellt CMFCColorMenuButton-Klasse (wird in Menüs und in den Symbolleisten) oder CMFCColorButton-Klasse das CMFCColorBar-Objekt.
Die CMFCColorBar-Klasse stellt die folgende Funktionalität:
Passt automatisch die Liste der Dokumentenfarben.
Rettet und stellt diesen Zustand, zusammen mit dem Dokumentenzustand wieder her.
Verwaltet die "auto" Schaltfläche.
Verwendet das CMFCColorPickerCtrl-Klasse-Steuerelement, um eine benutzerdefinierte Farbe auswählen.
Unterstützt einen "Tearoffen" Zustand (wenn sie erstellt wird, indem CMFCColorMenuButton-Klasse verwendet).
Um die CMFCColorBar-Funktionalität in die Anwendung enthalten:
Erstellen Sie eine reguläre Menütaste und weisen Sie eine ID, beispielsweise ID_CHAR_COLOR zu.
In der Rahmenfensterklasse überschreiben Sie die Methode CFrameWndEx::OnShowPopupMenu und ersetzen Sie die reguläre Menüschaltfläche durch ein Objekt CMFCColorMenuButton-Klasse (durch Aufrufen von CMFCToolBar::ReplaceButton).
Legen Sie alle Stile fest und aktivieren oder deaktivieren Sie die Funktionen des CMFCColorBar-Objekts während CMFCColorMenuButton-Klasse Erstellung. Das CMFCColorMenuButton-Objekt dynamisch erstellt das CMFCColorBar-Objekt, nachdem das Framework die CreatePopupMenu-Methode aufruft.
Wenn der Benutzer auf eine Farbleistensteuerschaltfläche klickt, verwendet das Framework ON_COMMAND-Makro, um das übergeordnete Element des Farbleistensteuerelements zu benachrichtigen. Im Makro ist der Befehls-ID-Parameter der Wert, den Sie der Farbleistensteuerschaltfläche in Schritt 1 zugewiesen haben ID_CHAR_COLOR (in diesem Beispiel). Weitere Informationen finden Sie in CMFCColorMenuButton-Klasse, CMFCColorButton-Klasse, CMFCColorPickerCtrl-Klasse, CFrameWndEx-Klasse und CMFCToolBar-Klasse-Klassen.
Beispiel
Das folgende Beispiel zeigt, wie eine Farbleiste konfiguriert, indem verschiedene Methoden in der CMFCColorBar-Klasse angewendet wird. Die Methoden legen das horizontale und vertikale Ränder fest, aktivieren die andere Schaltfläche, erstellen ein Farbleistensteuerfenster und legt die aktuell ausgewählte Farbe. Dieses Beispiel ist Teil Neue Kontrollprobe.
CMFCColorBar m_wndColorBar;
...
// set the margins
m_wndColorBar.SetHorzMargin(0);
m_wndColorBar.SetVertMargin(0);
// enable the display of a dialog box that
// lets the user select more colors
m_wndColorBar.EnableOtherButton(_T("Other..."));
// create a color bar control window
m_wndColorBar.CreateControl(this, rectColorBar, IDC_COLORBAR, 5 /* columns */);
// set the currently selected color
m_wndColorBar.SetColor(RGB(255, 0, 0));
Vererbungshierarchie
Anforderungen
Header: afxcolorbar.h