Symbolleisten-Grundlagen

In diesem Artikel wird die grundlegende MFC-Implementierung, die eine standardmäßige Symbolleiste der Anwendung hinzufügen können, indem eine Option im Anwendungs-Assistenten ausgewählt werden.Folgende Themen werden behandelt:

  • Die Option Anwendungs-Assistenten-Symbolleisten

  • Die Symbolleiste im Code

  • Die Symbolleisten bearbeitende Ressource

  • Mehrere Symbolleisten

Die Anwendungs-Assistenten-Symbolleisten-Option

Um eine einzige Symbolleiste mit Standardschaltflächen abzurufen, wählen Sie die Andocke Symbolleisten standardoption auf der Seite Benutzeroberflächen-Funktionen aus.Dadurch wird das der Anwendung Code hinzu:

  • Erstellt das Symbolleisten Objekt.

  • Verwaltet die Symbolleiste, einschließlich seiner Fähigkeit andocken oder schwimmen.

Die Symbolleiste im Code

Die Symbolleiste stellt ein CToolBar-Objekt, das als Datenmember aus CMainFrame-Klasse der Anwendung deklariert ist.Das heißt, die Symbolleisten Objekt in das Hauptrahmenfenster Objekt eingebettet.Dies bedeutet, dass MFC die Symbolleiste erstellt, wenn es das Rahmenfenster der Symbolleiste erstellt und zerstört, wenn das Rahmenfenster zerstört.Die folgende partiellen Klassendeklaration für eine MDI-Anwendung (Multiple Document Interface) - Datenmember angegeben wird, nach einer eingebetteten Symbolleiste und einer eingebetteten Statusleiste an.Außerdem wird die Überschreibung der OnCreate-Memberfunktion auf.

class CMainFrame : public CMDIFrameWnd
{
// Implementation
protected:  // control bar embedded members
   CStatusBar  m_wndStatusBar;
   CToolBar    m_wndToolBar;

// Generated message map functions
protected:
   afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
   DECLARE_MESSAGE_MAP()

Erstellen von Symbolleisten tritt in CMainFrame::OnCreate auf.MFC ruft OnCreate an, nachdem das Fenster für den Frame sondern erstellt hat, bevor es sichtbar ist.Standardwert OnCreate, das der Anwendungs-Assistent generiert, führt die folgenden Symbolleisten Aufgaben:

  1. Ruft die CToolBarErstellen-Memberfunktion des Objekts auf, um das zugrunde liegende CToolBarCtrl-Objekt zu erstellen.

  2. Aufrufe von Symbolleisten, um die LoadToolBar Informationen zu laden.

  3. Aufrufe funktioniert, um das Andocken, das Schwimmen und die QuickInfo zu aktivieren.Ausführliche Informationen über diese Aufrufe finden Sie im Artikel Andocke und unverankerte Symbolleisten.

HinweisHinweis

Das allgemeine Beispiel DOCKTOOL MFC schließt Abbildungen von alten und neuen MFC-Symbolleisten ein.Die Symbolleisten, die COldToolbar verwenden, benötigen Aufrufe in Schritt 2 zu LoadBitmap (anstelle LoadToolBar) und SetButtons.Die neuen Symbolleisten LoadToolBar Aufrufe erfordern.

Das Schwimmen das Andocken, und die QuickInfo Aufrufe sind optional.Sie können die Zeilen aus OnCreate entfernen, wenn Sie dies bevorzugen.Das Ergebnis ist eine Symbolleiste, die nicht festgelegt, bleibt redock oder zu schwimmen und nicht, QuickInfos anzuzeigen.

Die Symbolleisten-Ressource bearbeiten

Die Symbolleiste, die Sie mit dem Anwendungs-Assistenten abrufen, basiert auf einer benutzerdefinierten Ressource RT_TOOLBAR, eingeführt in MFC-Version 4.0.Sie können diese Ressource mit Symbolleisten Editor bearbeiten.Der Editor können Sie leicht Schaltflächen hinzufügen, löschen und neu anordnen.Er enthält einen grafischen Editor für die Schaltflächen, der dem allgemeinen Grafikeditor in Visual C++ sehr ähnlich ist.Wenn Sie Symbolleisten in früheren Versionen von Visual C++ bearbeiteten, suchen Sie die Aufgabe, die jetzt viel einfacher ist.

Um eine Symbolleisten-Schaltfläche an einen Befehl herzustellen, geben Sie eine der Schaltfläche Befehls-ID, wie ID_MYCOMMAND.Geben Sie die Befehls-ID auf der Eigenschaftenseite der Schaltfläche in Symbolleisten Editor an.Erstellen Sie anschließend eine Handlerfunktion für den Befehl (weitere Informationen finden Sie Zuordnungs-Meldungen Funktionen ).

Neue CToolBar-Memberfunktion mit der Arbeit RT_TOOLBAR Ressource.LoadToolBar wird jetzt von LoadBitmap statt, um die Bitmap der Symbolleisten-Schaltflächen Bilder zu laden und SetButtons, um Stile für die Schaltflächen festzulegen und Schaltflächen mit Bitmap-Bildern herzustellen.

Einzelheiten über die Verwendung von Symbolleisten editors finden Sie unter Symbolleisten-Editor.

Mehrere Symbolleisten

Der Anwendungs-Assistent stellt eine standardmäßige Symbolleiste.Wenn Sie mehr als eine Symbolleiste in der Anwendung benötigen, können Sie den Code für zusätzliche Symbolleisten auf Grundlage des vom Assistenten generierte Code für die Symbolleiste modellieren.

Wenn Sie eine Symbolleiste aufgrund eines Befehls anzeigen möchten, benötigen Sie Folgendes:

  • Erstellen Sie eine neue Symbolleiste Ressource mit dem Symbolleisten und laden Sie sie im Editor mit der OnCreateLoadToolbar-Memberfunktion.

  • Betten Sie ein neues CToolBar-Objekt in der das Hauptrahmenfenster ein Class.

  • Lassen Sie die entsprechenden Funktionsaufrufe in OnCreate andocken oder auf der Symbolleiste auf schwimmen, legen Sie dessen Formate usw. fest.

f9hbax0b.collapse_all(de-de,VS.110).gifWorüber möchten Sie mehr erfahren?

Siehe auch

Konzepte

MFC-Symbolleisten-Implementierung