Implementieren der MFC-Symbolleiste
Eine Symbolleiste ist eine Steuerleiste, die die Bitmapbilder von Steuerelementen enthält. Diese Bilder können sich wie Druckknöpfe, Kontrollkästchen oder Optionsfelder verhalten. MFC stellt die Klasse CToolbar für die Verwaltung von Symbolleisten bereit.
Wenn Sie sie aktivieren, können Benutzer von MFC-Symbolleisten diese an den Rand eines Fensters andocken, oder an einer beliebigen Stelle im Anwendungsfenster "abdocken". MFC unterstützt keine anpassbaren Symbolleisten wie in der Entwicklungsumgebung.
MFC unterstützt auch QuickInfos: kleine Popupfenster, in denen der Zweck einer Symbolleistenschaltfläche beschrieben wird, wenn Sie die Maus über die Schaltfläche positionieren. Wenn der Benutzer eine Symbolleisten-Schaltfläche drückt, wird standardmäßig eine Statuszeichenfolge in der Statusleiste (falls vorhanden) angezeigt. Sie können die Aktualisierung der "aufleuchtenden" Statusleiste aktivieren, damit die Statuszeichenfolge angezeigt wird, wenn die Maus über die Schaltfläche positioniert wird, ohne dass sie gedrückt wird.
Hinweis
Ab MFC 4.0 werden Symbolleisten und QuickInfo mit der Funktionalität von Windows 95 und höher anstelle der vorherigen, MFC-spezifischen Implementierung implementiert.
Für die Abwärtskompatibilität behält MFC die ältere Symbolleistenimplementierung in der Klasse COldToolBar bei. In der Dokumentation für frühere Versionen wird MFC COldToolBar unter CToolBar beschrieben.
Erstellen Sie die erste Symbolleiste im Programm, indem Sie die Symbolleistenoption im Anwendungs-Assistenten auswählen. Sie können auch weitere Symbolleisten erstellen.
Die folgenden werden in diesem Artikel eingeführt:
Schaltflächen der Symbolleiste
Andockbare und unverankerte Symbolleisten
Symbolleisten und QuickInfo
Die Klassen CToolBar und CToolBarCtrl
Die Symbolleistenbitmap
Schaltflächen der Symbolleiste
Die Schaltflächen in einer Symbolleiste sind den Elementen in einem Menü analog. Beide Arten von Benutzeroberflächen-Objekten generieren Befehle, die das Programm bearbeitet, indem es Handlerfunktionen bereitstellt. Häufig duplizieren Symbolleisten-Schaltflächen die Funktionalität von Menübefehlen und stellen eine alternative Benutzeroberfläche mit derselben Funktionalität bereit. Solche Duplizierung wird einfach angeordnet, indem die Schaltfläche und das Menüelement die gleiche ID erhalten.
Sie können die Schaltflächen in einer Symbolleiste so erstellen, dass sie als Druckknöpfe, Kontrollkästchen oder Optionsfelder angezeigt werden und sich entsprechend verhalten. Weitere Informationen finden Sie in der Dokumentation der CToolBar-Klasse.
Andockbare und unverankerte Symbolleisten
Eine MFC-Symbolleiste kann:
fest entlang der Seite des übergeordneten Fensters geöffnet stehen.
vom Benutzer gezogen und an einer oder mehreren Seiten des von Ihnen angegebenen übergeordneten Fensters "angedockt" oder angefügt werden.
vom Rahmenfenster "abgedockt" oder gelöst werden und im eigenen kleinen Rahmenfenster angezeigt werden, sodass der Benutzer es an eine beliebige Position verschieben kann.
im unverankerten Modus in der Größe verändert werden.
Weitere Informationen finden Sie im Artikel Andockbare und unverankerte Symbolleisten.
Symbolleisten und QuickInfo
MFC-Symbolleisten können als "QuickInfo" angezeigt werden. Hierbei handelt es sich um kleine Fenster, die eine Kurztextbeschreibung mit dem Zweck einer Symbolleisten-Schaltfläche enthalten. Wenn der Benutzer die Maus über eine Symbolleisten-Schaltfläche bewegt, bieten die Popupfenster mit den QuickInfos einen Hinweis an. Weitere Informationen finden Sie im Artikel Symbolleisten-QuickInfo.
Die Klassen CToolBar und CToolBarCtrl
Sie verwalten die Symbolleisten der Anwendung über die Klasse CToolBar. Ab MFC 4.0 ist CToolBar erneut implementiert, sodass das allgemeine Steuerelement für Symbolleisten verwendet werden kann, das unter Windows 95 oder höher und Windows NT 3.51 oder höher verfügbar ist.
Diese Neuimplementierung führt zu weniger MFC-Code in Symbolleisten, da MFC die Betriebssystemunterstützung ausnutzt. Das Neuimplementierung verbessert auch die Funktionalität. Sie können CToolBar-Memberfunktionen verwenden, um Symbolleisten zu bearbeiten, oder Sie können einen Verweis auf das zugrunde liegende CToolBarCtrl-Objekt erhalten und seine Memberfunktionen für Symbolleistenanpassung sowie zusätzliche Funktionen aufrufen.
Tipp
Wenn Sie in die ältere MFC-Implementierung von CToolBar investiert haben, ist diese Unterstützung weiterhin verfügbar.Weitere Informationen finden Sie im Artikel Verwenden der bisherigen Symbolleisten.
Siehe auch das allgemeine Beispiel DOCKTOOL zu MFC.
Die Symbolleistenbitmap
Ein erstelltes CToolBar-Objekt erstellt das Symbolleistenbild, indem es eine einzelne Bitmap lädt, das ein Bild für jede Schaltfläche enthält. Der Anwendungs-Assistent erstellt eine Standardbitmap für die Symbolleiste, das Sie mit dem Symbolleisten-Editor von Visual C++ anpassen können.
Worüber möchten Sie mehr erfahren?
Die Klassen CToolBar und CToolBarCtrl