CMFCDropDownToolbarButton-Klasse
Ein Symbolleisten-Schaltflächentyp, der sich wie eine normale Schaltfläche verhält, wenn darauf geklickt wird. Es öffnet jedoch eine Dropdownsymbolleiste ( CMFCDropDownToolBar-Klasse , wenn der Benutzer die Symbolleistenschaltfläche drückt und gedrückt hält.
Syntax
class CMFCDropDownToolbarButton : public CMFCToolBarButton
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CMFCDropDownToolbarButton::CMFCDropDownToolbarButton | Erstellt ein CMFCDropDownToolbarButton -Objekt. |
CMFCDropDownToolbarButton::~CMFCDropDownToolbarButton |
Destruktor. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CMFCDropDownToolbarButton::CopyFrom | Kopiert die Eigenschaften einer anderen Symbolleistenschaltfläche auf die aktuelle Schaltfläche. (Außerkraftsetzungen CMFCToolBarButton::CopyFrom.) |
CMFCDropDownToolbarButton::CreateObject |
Wird vom Framework verwendet, um eine dynamische Instanz dieses Klassentyps zu erstellen. |
CMFCDropDownToolbarButton::D ropDownToolbar | Öffnet eine Dropdownsymbolleiste. |
CMFCDropDownToolbarButton::ExportToMenuButton | Kopiert Text von der Symbolleistenschaltfläche in ein Menü. (Außerkraftsetzungen CMFCToolBarButton::ExportToMenuButton.) |
CMFCDropDownToolbarButton::GetDropDownToolBar | Ruft die Dropdownsymbolleiste ab, die der Schaltfläche zugeordnet ist. |
CMFCDropDownToolbarButton::GetThisClass |
Wird vom Framework verwendet, um einen Zeiger auf das CRuntimeClass -Objekt abzurufen, das diesem Klassentyp zugeordnet ist. |
CMFCDropDownToolbarButton::IsDropDown | Bestimmt, ob die Dropdownsymbolleiste zurzeit geöffnet ist. |
CMFCDropDownToolbarButton::IsExtraSize | Bestimmt, ob die Schaltfläche mit einem erweiterten Rahmen angezeigt werden kann. (Außerkraftsetzungen CMFCToolBarButton::IsExtraSize.) |
CMFCDropDownToolbarButton::OnCalculateSize | Wird vom Framework aufgerufen, um die Größe der Schaltfläche für den angegebenen Gerätekontext und Andockzustand zu berechnen. (Außerkraftsetzungen CMFCToolBarButton::OnCalculateSize.) |
CMFCDropDownToolbarButton::OnCancelMode |
Vom Framework aufgerufen, um die WM_CANCELMODE Nachricht zu verarbeiten. (Überschreibt CMCToolBarButton::OnCancelMode .) |
CMFCDropDownToolbarButton::OnChangeParentWnd | Wird vom Framework aufgerufen, wenn die Schaltfläche in eine neue Symbolleiste eingefügt wird. (Außerkraftsetzungen CMFCToolBarButton::OnChangeParentWnd.) |
CMFCDropDownToolbarButton::OnClick | Wird vom Framework aufgerufen, wenn der Benutzer auf die Maustaste klickt. (Außerkraftsetzungen CMFCToolBarButton::OnClick.) |
CMFCDropDownToolbarButton::OnClickUp | Wird vom Framework aufgerufen, wenn der Benutzer die Maustaste loslässt. (Außerkraftsetzungen CMFCToolBarButton::OnClickUp.) |
CMFCDropDownToolbarButton::OnContextHelp | Wird vom Framework aufgerufen, wenn die übergeordnete Symbolleiste eine WM_HELPHITTEST Nachricht behandelt. (Außerkraftsetzungen CMFCToolBarButton::OnContextHelp.) |
CMFCDropDownToolbarButton::OnCustomizeMenu | Ändert das bereitgestellte Menü, wenn die Anwendung ein Kontextmenü auf der übergeordneten Symbolleiste anzeigt. (Außerkraftsetzungen CMFCToolBarButton::OnCustomizeMenu.) |
CMFCDropDownToolbarButton::OnDraw | Wird vom Framework aufgerufen, um die Schaltfläche mithilfe der angegebenen Stile und Optionen zu zeichnen. (Außerkraftsetzungen CMFCToolBarButton::OnDraw.) |
CMFCDropDownToolbarButton::OnDrawOnCustomizeList | Wird vom Framework aufgerufen, um die Schaltfläche im Befehlsbereich des Dialogfelds Anpassen zu zeichnen. (Außerkraftsetzungen CMFCToolBarButton::OnDrawOnCustomizeList.) |
CMFCDropDownToolbarButton::Serialize | Liest dieses Objekt aus einem Archiv oder schreibt es in ein Archiv. (Außerkraftsetzungen CMFCToolBarButton::Serialize.) |
CMFCDropDownToolbarButton::SetDefaultCommand | Legt den Standardbefehl fest, den das Framework verwendet, wenn ein Benutzer auf die Schaltfläche klickt. |
Datenelemente
Name | Beschreibung |
---|---|
CMFCDropDownToolbarButton::m_uiShowBarDelay | Gibt an, wie lange ein Benutzer die Maustaste gedrückt halten muss, bevor die Dropdownsymbolleiste angezeigt wird. |
Hinweise
Eine CMFCDropDownToolBarButton
unterscheidet sich von einer normalen Schaltfläche darin, dass sie einen kleinen Pfeil in der unteren rechten Ecke der Schaltfläche enthält. Nachdem der Benutzer eine Schaltfläche aus der Dropdownsymbolleiste auswählt, zeigt das Framework sein Symbol auf der Symbolleistenschaltfläche der obersten Ebene an (die Schaltfläche mit dem kleinen Pfeil in der unteren rechten Ecke).
Informationen zum Implementieren einer Dropdownsymbolleiste finden Sie unter CMFCDropDownToolBar Class.
Das CMFCDropDownToolBarButton
Objekt kann in ein CMFCToolBarMenuButton Class-Objekt exportiert und als Menüschaltfläche mit einem Popupmenü angezeigt werden.
Vererbungshierarchie
Anforderungen
Header: afxdropdowntoolbar.h
CMFCDropDownToolbarButton::CopyFrom
Kopiert die Eigenschaften einer anderen Symbolleistenschaltfläche auf die aktuelle Schaltfläche.
virtual void CopyFrom(const CMFCToolBarButton& src);
Parameter
src
[in] Ein Verweis auf die Quellschaltfläche, aus der kopiert werden soll.
Hinweise
Rufen Sie diese Methode auf, um eine weitere Symbolleistenschaltfläche auf diese Symbolleistenschaltfläche zu kopieren. src muss vom Typ CMFCDropDownToolbarButton
sein.
CMFCDropDownToolbarButton::CMFCDropDownToolbarButton
Erstellt ein CMFCDropDownToolbarButton
-Objekt.
CMFCDropDownToolbarButton();
CMFCDropDownToolbarButton(
LPCTSTR lpszName,
CMFCDropDownToolBar* pToolBar);
Parameter
lpszName
[in] Der Standardtext der Schaltfläche.
pToolBar
[in] Ein Zeiger auf das CMFCDropDownToolBar
Objekt, das angezeigt wird, wenn der Benutzer die Schaltfläche drückt.
Hinweise
Die zweite Überladung des Konstruktors kopiert auf die Dropdownschaltfläche die erste Schaltfläche aus der Symbolleiste, die pToolBar angibt.
In der Regel verwendet eine Dropdownsymbolleistenschaltfläche den Text aus der zuletzt verwendeten Schaltfläche in der Symbolleiste, die pToolBar angibt. Er verwendet den text, der durch lpszName angegeben wird, wenn die Schaltfläche in eine Menüschaltfläche konvertiert wird oder auf der Registerkarte "Befehle" des Dialogfelds "Anpassen" angezeigt wird. Weitere Informationen zum Dialogfeld "Anpassen " finden Sie unter CMFCToolBarsCustomizeDialog-Klasse.
Beispiel
Im folgenden Beispiel wird veranschaulicht, wie ein Objekt der CMFCDropDownToolbarButton
Klasse erstellt wird. Dieser Codeausschnitt ist Teil des Visual Studio Demo-Beispiels.
// Add dropdown resources button
// CMFCToolBarsCustomizeDialog* pDlgCust
// CMFCDropDownToolBar m_wndToolbarResource
pDlgCust->AddButton(_T("Build"), CMFCDropDownToolbarButton(_T("Add Resource"), &m_wndToolbarResource));
CMFCDropDownToolbarButton::D ropDownToolbar
Öffnet eine Dropdownsymbolleiste.
BOOL DropDownToolbar(CWnd* pWnd);
Parameter
pWnd
[in] Das übergeordnete Fenster des Dropdownframes oder NULL, um das übergeordnete Fenster der Dropdownsymbolleistenschaltfläche zu verwenden.
Rückgabewert
Nonzero, wenn die Methode erfolgreich ist; andernfalls 0.
Hinweise
Die CMFCDropDownToolbarButton::OnClick-Methode ruft diese Methode auf, um die Dropdownsymbolleiste zu öffnen, wenn der Benutzer die Symbolleiste drückt und gedrückt hält.
Mit diesen Methoden wird die Dropdownsymbolleiste mithilfe der CMFCDropDownFrame::Create-Methode erstellt. Wenn die übergeordnete Symbolleiste vertikal angedockt ist, positioniert diese Methode die Dropdownsymbolleiste je nach Anpassung auf der linken oder rechten Seite der übergeordneten Symbolleiste. Andernfalls positioniert diese Methode die Dropdownsymbolleiste unter der übergeordneten Symbolleiste.
Diese Methode schlägt fehl, wenn pWnd NULL ist und die Dropdownsymbolleistenschaltfläche kein übergeordnetes Fenster aufweist.
CMFCDropDownToolbarButton::ExportToMenuButton
Kopiert Text von der Symbolleistenschaltfläche in ein Menü.
virtual BOOL ExportToMenuButton(CMFCToolBarMenuButton& menuButton) const;
Parameter
menuButton
[in] Ein Verweis auf die Zielmenüschaltfläche.
Rückgabewert
Ein Wert ungleich 0 (null), wenn die Methode erfolgreich ausgeführt wird, andernfalls 0 (null).
Hinweise
Diese Methode ruft die Basisklassenimplementierung ( CMFCToolBarButton::ExportToMenuButton) auf und fügt dann an die Zielmenüschaltfläche ein Popupmenü an, das jedes Symbolleistenmenüelement in dieser Schaltfläche enthält. Diese Methode fügt keine Untermenüs an das Popupmenü an.
Diese Methode schlägt fehl, m_pToolBar
wenn die übergeordnete Symbolleiste NULL ist oder die Basisklassenimplementierung FALSCH zurückgibt.
CMFCDropDownToolbarButton::GetDropDownToolBar
Ruft die Dropdownsymbolleiste ab, die der Schaltfläche zugeordnet ist.
CMFCToolBar* GetDropDownToolBar() const;
Rückgabewert
Die Dropdownsymbolleiste, die der Schaltfläche zugeordnet ist.
Hinweise
Diese Methode gibt das m_pToolBar
Datenelement zurück.
CMFCDropDownToolbarButton::IsDropDown
Bestimmt, ob die Dropdownsymbolleiste zurzeit geöffnet ist.
BOOL IsDropDown() const;
Rückgabewert
Nonzero, wenn die Dropdownsymbolleiste zurzeit geöffnet ist; andernfalls 0.
Hinweise
Das Framework öffnet die Dropdownsymbolleiste mithilfe der CMFCDropDownToolbarButton::D ropDownToolbar-Methode . Das Framework schließt die Dropdownsymbolleiste, wenn der Benutzer die linke Maustaste im Nicht-Clientbereich der Dropdownsymbolleiste drückt.
CMFCDropDownToolbarButton::IsExtraSize
Bestimmt, ob die Schaltfläche mit einem erweiterten Rahmen angezeigt werden kann.
virtual BOOL IsExtraSize() const;
Rückgabewert
Nonzero, wenn die Symbolleistenschaltfläche mit einem erweiterten Rahmen angezeigt werden kann; andernfalls 0.
Hinweise
Weitere Informationen zu erweiterten Rahmen finden Sie unter CMFCToolBarButton::IsExtraSize.
CMFCDropDownToolbarButton::m_uiShowBarDelay
Gibt an, wie lange ein Benutzer die Maustaste gedrückt halten muss, bevor die Dropdownsymbolleiste angezeigt wird.
static UINT m_uiShowBarDelay;
Hinweise
Die Verzögerungszeit wird in Millisekunden gemessen. Der Standardwert ist 500. Sie können eine weitere Verzögerung festlegen, indem Sie den Wert dieses freigegebenen Datenmitglieds ändern.
CMFCDropDownToolbarButton::OnCalculateSize
Wird vom Framework aufgerufen, um die Größe der Schaltfläche für den angegebenen Gerätekontext und Andockzustand zu berechnen.
virtual SIZE OnCalculateSize(
CDC* pDC,
const CSize& sizeDefault,
BOOL bHorz);
Parameter
pDC
[in] Der Gerätekontext, der die Schaltfläche anzeigt.
sizeDefault
[in] Die Standardgröße der Schaltfläche.
bHorz
[in] Der Dockstatus der übergeordneten Symbolleiste. Dieser Parameter ist TRUE, wenn die Symbolleiste horizontal angedockt oder unverankert ist, oder FALSE, wenn die Symbolleiste vertikal angedockt wird.
Rückgabewert
Eine SIZE
Struktur, die die Abmessungen der Schaltfläche in Pixel enthält.
Hinweise
Diese Methode erweitert die Implementierung der Basisklasse ( CMFCToolBarButton::OnCalculateSize) durch Hinzufügen der Breite des Dropdownpfeils zur horizontalen Dimension der Schaltflächengröße.
CMFCDropDownToolbarButton::OnChangeParentWnd
Wird vom Framework aufgerufen, wenn die Schaltfläche in eine neue Symbolleiste eingefügt wird.
virtual void OnChangeParentWnd(CWnd* pWndParent);
Parameter
pWndParent
[in] Das neue übergeordnete Fenster.
Hinweise
Diese Methode überschreibt die Implementierung der Basisklasse ( CMFCToolBarButton::OnChangeParentWnd) durch Löschen der Textbeschriftung ( CMFCToolBarButton::m_strText) und Festlegen der CMFCToolBarButton::m_bText und CMFCToolBarButton::m_bUserButton Datenmmber auf FALSE.
CMFCDropDownToolbarButton::OnClick
Wird vom Framework aufgerufen, wenn der Benutzer auf die Maustaste klickt.
virtual BOOL OnClick(
CWnd* pWnd,
BOOL bDelay = TRUE);
Parameter
pWnd
[in] Das übergeordnete Fenster der Symbolleistenschaltfläche.
bDelay
[in] TRUE, wenn die Nachricht mit verzögerungsverzögert behandelt werden soll.
Rückgabewert
Nonzero, wenn die Schaltfläche die Klicknachricht verarbeitet; andernfalls 0.
Hinweise
Diese Methode erweitert die Basisklassenimplementierung CMFCToolBarButton::OnClick, indem der Status der Dropdownsymbolleiste aktualisiert wird.
Wenn ein Benutzer auf die Symbolleistenschaltfläche klickt, erstellt diese Methode einen Timer, der die vom CMFCDropDownToolbarButton::m_uiShowBarDelay-Datenelement angegebene Zeit wartet und dann die Dropdownsymbolleiste mithilfe der CMFCDropDownToolbarButton::D ropDownToolbarButton::D ropDownToolbar-Methode öffnet. Diese Methode schließt die Dropdownsymbolleiste, wenn der Benutzer das zweite Mal auf die Symbolleistenschaltfläche klickt.
CMFCDropDownToolbarButton::OnClickUp
Wird vom Framework aufgerufen, wenn der Benutzer die Maustaste loslässt.
virtual BOOL OnClickUp();
Rückgabewert
Nonzero, wenn die Schaltfläche die Klicknachricht verarbeitet; andernfalls 0.
Hinweise
Diese Methode erweitert die Basisklassenimplementierung CMFCToolBarButton::OnClickUp, indem der Status der Dropdownsymbolleiste aktualisiert wird.
Diese Methode stoppt den Timer der Dropdownsymbolleiste, wenn sie aktiv ist. Wenn sie geöffnet ist, wird die Dropdownsymbolleiste geschlossen.
Weitere Informationen zur Dropdownsymbolleiste und zum Timer der Dropdownsymbolleiste finden Sie unter CMFCDropDownToolbarButton::OnClick.
CMFCDropDownToolbarButton::OnContextHelp
Wird vom Framework aufgerufen, wenn die übergeordnete Symbolleiste eine WM_HELPHITTEST Nachricht behandelt.
virtual BOOL OnContextHelp(CWnd* pWnd);
Parameter
pWnd
[in] Das übergeordnete Fenster der Symbolleistenschaltfläche.
Rückgabewert
Nonzero, wenn die Schaltfläche die Hilfenachricht verarbeitet; andernfalls 0.
Hinweise
Diese Methode erweitert die Basisklassenimplementierung ( CMFCToolBarButton::OnContextHelp), indem die CMFCDropDownToolbarButton::OnClick-Methode aufgerufen wird, wobei bDelay auf FALSE festgelegt ist. Diese Methode gibt den Wert zurück, der von CMFCDropDownToolbarButton::OnClick zurückgegeben wird.
Weitere Informationen zur WM_HELPHITTEST Nachricht finden Sie unter TN028: Unterstützung für kontextbezogene Hilfe.
CMFCDropDownToolbarButton::OnCustomizeMenu
Ändert das bereitgestellte Menü, wenn die Anwendung ein Kontextmenü auf der übergeordneten Symbolleiste anzeigt.
virtual BOOL OnCustomizeMenu(CMenu* pMenu);
Parameter
pMenu
[in] Das anzupassende Menü.
Rückgabewert
Diese Methode gibt TRUE zurück.
Hinweise
Diese Methode erweitert die Basisklassenimplementierung ( CMFCToolBarButton::OnCustomizeMenu) durch Deaktivieren der folgenden Menüelemente:
Schaltflächensymbol kopieren
Schaltflächendarstellung
Abbildung
Text
Bild und Text
Überschreiben Sie diese Methode, um das Kontextmenü zu ändern, das vom Framework im Anpassungsmodus angezeigt wird.
CMFCDropDownToolbarButton::OnDraw
Wird vom Framework aufgerufen, um die Schaltfläche mithilfe der angegebenen Stile und Optionen zu zeichnen.
virtual void OnDraw(
CDC* pDC,
const CRect& rect,
CMFCToolBarImages* pImages,
BOOL bHorz = TRUE,
BOOL bCustomizeMode = FALSE,
BOOL bHighlight = FALSE,
BOOL bDrawBorder = TRUE,
BOOL bGrayDisabledButtons = TRUE);
Parameter
pDC
[in] Der Gerätekontext, der die Schaltfläche anzeigt.
rect
[in] Das umgebende Rechteck der Schaltfläche.
pImages
[in] Die Sammlung von Symbolleistenbildern, die der Schaltfläche zugeordnet sind.
bHorz
[in] Der Dockstatus der übergeordneten Symbolleiste. Dieser Parameter ist TRUE, wenn die Schaltfläche horizontal angedockt wird und FALSE, wenn die Schaltfläche vertikal angedockt wird.
bCustomizeMode
[in] Gibt an, ob sich die Symbolleiste im Anpassungsmodus befindet. Dieser Parameter ist TRUE, wenn sich die Symbolleiste im Anpassungsmodus und FALSE befindet, wenn sich die Symbolleiste nicht im Anpassungsmodus befindet.
bHighlight
[in] Gibt an, ob die Schaltfläche hervorgehoben ist. Dieser Parameter ist TRUE, wenn die Schaltfläche hervorgehoben ist und FALSE, wenn die Schaltfläche nicht hervorgehoben ist.
bDrawBorder
[in] Gibt an, ob die Schaltfläche ihren Rahmen anzeigen soll. Dieser Parameter ist TRUE, wenn die Schaltfläche ihren Rahmen und FALSE anzeigen soll, wenn die Schaltfläche den Rahmen nicht anzeigen soll.
bGrayDisabledButtons
[in] Gibt an, ob deaktivierte Schaltflächen schattieren oder die sammlung deaktivierter Bilder verwendet werden soll. Dieser Parameter ist TRUE, wenn deaktivierte Schaltflächen schattiert werden sollen, und FALSE, wenn diese Methode die deaktivierte Bildersammlung verwenden soll.
Hinweise
Überschreiben Sie diese Methode, um die Zeichnung von Symbolleistenschaltflächen anzupassen.
CMFCDropDownToolbarButton::OnDrawOnCustomizeList
Wird vom Framework aufgerufen, um die Schaltfläche im Befehlsbereich des Dialogfelds Anpassen zu zeichnen.
virtual int OnDrawOnCustomizeList(
CDC* pDC,
const CRect& rect,
BOOL bSelected);
Parameter
pDC
[in] Der Gerätekontext, der die Schaltfläche anzeigt.
rect
[in] Das umgebende Rechteck der Schaltfläche.
bSelected
[in] Gibt an, ob die Schaltfläche ausgewählt ist. Wenn dieser Parameter TRUE ist, wird die Schaltfläche ausgewählt. Wenn dieser Parameter FALSCH ist, ist die Schaltfläche nicht ausgewählt.
Rückgabewert
Die Breite der Schaltfläche im angegebenen Gerätekontext in Pixeln.
Hinweise
Diese Methode wird vom Dialogfeld zum Anpassen ( Befehlsregisterkarte ) aufgerufen, wenn die Schaltfläche erforderlich ist, um sich im Listenfeld "Besitzer zeichnen" anzuzeigen.
Diese Methode erweitert die Basisklassenimplementierung ( CMFCToolBarButton::OnDrawOnCustomizeList) durch Ändern der Textbeschriftung der Schaltfläche auf den Namen der Schaltfläche (d. a. zum Wert des lpszName-Parameters , den Sie an den Konstruktor übergeben haben).
CMFCDropDownToolbarButton::Serialize
Liest dieses Objekt aus einem Archiv oder schreibt es in ein Archiv.
virtual void Serialize(CArchive& ar);
Parameter
Ar
[in] Das CArchive
Objekt, von dem bzw. von dem aus serialisiert werden soll.
Hinweise
Diese Methode erweitert die Implementierung der Basisklasse ( CMFCToolBarButton::Serialize) durch Serialisieren der Ressourcen-ID der übergeordneten Symbolleiste. Wenn das Archiv geladen wird ( CArchive::IsLoading gibt einen Wert ungleich Null) zurück, legt diese Methode das m_pToolBar
Datenelement auf die Symbolleiste fest, die die serialisierte Ressourcen-ID enthält.
CMFCDropDownToolbarButton::SetDefaultCommand
Legt den Standardbefehl fest, den das Framework verwendet, wenn ein Benutzer auf die Schaltfläche klickt.
void SetDefaultCommand(UINT uiCmd);
Parameter
uiCmd
[in] Die ID des Standardbefehls.
Hinweise
Rufen Sie diese Methode auf, um einen Standardbefehl anzugeben, den das Framework ausführt, wenn der Benutzer auf die Schaltfläche klickt. Ein Element mit der von uiCmd angegebenen Befehls-ID muss sich in der übergeordneten Dropdownsymbolleiste befinden.
Siehe auch
Hierarchiediagramm
Klassen
CMFCDropDownToolBar-Klasse
CMFCToolBar-Klasse
CMFCToolBarMenuButton-Klasse
Exemplarische Vorgehensweise: Steuerelemente in eine Symbolleiste einfügen