Freigeben über


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

CMFCColorBar::CMFCColorBar

Erstellt ein CMFCColorBar-Objekt.

Öffentliche Methoden

Name

Description

CMFCColorBar::ContextToSize

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.

CMFCColorBar::CreateControl

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.

CMFCColorBar::Create

Stellt ein Farbleistensteuerfenster erstellt und fügt es an den CMFCColorBar-Objekt.

CMFCColorBar::EnableAutomaticButton

In oder aus die automatische Schaltfläche.

CMFCColorBar::EnableOtherButton

Aktiviert oder deaktiviert die Anzeige eines Dialogfelds, das den Benutzer mehr Farben auswählen können.

CMFCColorBar::GetColor

Ruft die aktuell ausgewählte Farbe ab.

CMFCColorBar::GetCommandID

Ruft die Befehls-ID des aktuellen Farbleistensteuerelements ab.

CMFCColorBar::GetHighlightedColor

Ruft die Farbe ab, die angibt, dass eine Farbenschaltfläche den Fokus besitzt; Das bedeutet, dass die Schaltfläche heiß.

CMFCColorBar::GetHorzMargin

Ruft die horizontale Rand ab, der das Leerzeichen zwischen der linken oder rechten Farbenzelle und der Clientbereichsgrenze ist.

CMFCColorBar::GetVertMargin

Ruft den vertikalen Rand ab, der das Leerzeichen zwischen der oberen oder die Unterseitenfarbenzelle und die Clientbereichsgrenze ist.

CMFCColorBar::IsTearOff

Gibt an, ob die aktuelle Farbbalken von ist.

CMFCColorBar::SetColor

Legt die Farbe fest, die derzeit ausgewählt ist.

CMFCColorBar::SetColorName

Legt einen neuen Namen für eine angegebene Farbe fest.

CMFCColorBar::SetCommandID

Legt eine neue Befehls-ID für ein Farbleistensteuerelement fest.

CMFCColorBar::SetDocumentColors

Legt die Liste von Farben fest, die im aktuellen Dokument verwendet werden.

CMFCColorBar::SetHorzMargin

Legt den horizontalen Rand fest, der das Leerzeichen zwischen der linken oder rechten Farbenzelle und der Clientbereichsgrenze ist.

CMFCColorBar::SetVertMargin

Legt den vertikalen Rand fest, der das Leerzeichen zwischen der oberen oder die Unterseitenfarbenzelle und die Clientbereichsgrenze ist.

Geschützte Methoden

Name

Description

CMFCColorBar::AdjustLocations

Passt die Positionen der Farbenschaltflächen auf dem Farbleistensteuerelement.

CMFCColorBar::AllowChangeTextLabels

Gibt an, ob die Beschriftung von Farbenschaltflächen ändern kann.

CMFCColorBar::AllowShowOnList

Gibt an, ob das Farbleistensteuerobjekt in einer Symbolleistenliste während des Anpassungsprozesses angezeigt werden kann.

CMFCColorBar::CalcSize

Aufgerufen vom Framework als Teil des Layoutrechenvorgangs.

CMFCColorBar::CreatePalette

Initalizes eine Palette mit den Farben in einem angegebenen Array Farben.

CMFCColorBar::GetColorGridSize

Berechnet die Anzahl der Zeilen und Spalten im Raster eines Farbleistensteuerelements.

CMFCColorBar::GetExtraHeight

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.

CMFCColorBar::InitColors

Initialisiert ein Array Farben mit den Farben in einer angegebenen Palette oder in der Systemstandardpalette.

CMFCColorBar::OnKey

Aufgerufen vom Framework, wenn ein Benutzer eine Taste drückt.

CMFCColorBar::OnSendCommand

Aufgerufen durch das Framework, um eine Hierarchie von Popup- Steuerelemente zu schließen.

CMFCColorBar::OnUpdateCmdUI

Aufgerufen durch das Framework, um ein Benutzeroberflächen-Element eines Farbleistensteuerelements vor dem Element wird zu aktivieren oder zu deaktivieren angezeigt.

CMFCColorBar::OpenColorDialog

Öffnet ein Dialogfeld.

CMFCColorBar::Rebuild

Aktualisiert vollständig das Farbleistensteuerelement neu.

CMFCColorBar::SelectPalette

Legt die Logische Palette des angegebenen Gerätekontexts zur Palette der übergeordneten Schaltfläche des aktuellen Farbleistensteuerelements fest.

CMFCColorBar::SetPropList

Legt den m_pWndPropList geschützten Datenmember zum angegebenen Zeiger auf ein Eigenschaftenraster fest.

CMFCColorBar::ShowCommandMessageString

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:

  1. Erstellen Sie eine reguläre Menütaste und weisen Sie eine ID, beispielsweise ID_CHAR_COLOR zu.

  2. 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).

  3. 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

CObject

   CCmdTarget

      CWnd

         CBasePane

            CPane

               CMFCBaseToolBar

                  CMFCToolBar

                     CMFCPopupMenuBar

                        CMFCColorBar

Anforderungen

Header: afxcolorbar.h

Siehe auch

Referenz

Hierarchiediagramm

Weitere Ressourcen

MFC-Klassen