Wie man ein benutzerdefiniertes Teilfenster in MFC

August 31

Ein Splitterfenster ist ein Windows Explorer-ähnliche Oberfläche. Links im Bereich (Meister) werden in der Regel eine Verzeichnisstruktur. Der Rechte Bereich (Slave) zeigt die Details der ausgewählten Ordner auf der linken Seite. Der Microsoft Foundation Class (MFC) Bibliothek die CSplitterWnd-Klasse kapselt die Funktionalität für die Verwaltung ein Teilfenster. Hier sind allgemeinen Leitlinien für eine CSplitterWnd-Klasse zu initialisieren.

Anweisungen

1 Erstellen Sie ein neues Win32-Anwendung-Projekt. Stellen Sie sicher, dass es eine einzelne Quelldatei mit Dokument/Ansicht-Unterstützung hat. Zählen Sie die Bibliotheksdatei "afxwin.h". Deklarieren Sie eine Variable CSplitterWnd.

2 Den Unterschied zwischen statischen und dynamischen Teilfenstern zu verstehen. Ein statisches Teilfenster hat eine statische Anzahl von Scheiben, innen "OnCreateClient" Funktion des übergeordneten Frames während der Initialisierung ermittelt. Benutzer können nur die Größe der Bereiche ändern. Ein dynamisches Splitterfenster stellt Steuerelemente, die einem Benutzer erlauben, erstellen, löschen und Ändern der Größe zusätzliche Bereiche wie erforderlich. Während der Initialisierung wird im Rahmen einer Einfachverglasung standardmäßig erstellt.

3 Platzieren Sie die CSplitterWnd-Variable auf einem übergeordneten Fenster oder Frame. In diesem Beispiel verwendet ein CFrameWnd-Objekt als übergeordneten Frames. Rufen Sie von innerhalb der Member-Funktion "OnCreateClient" von "CFrameWnd," die Funktion "Erstellen" oder "CreateStatic" "CSplitterWnd," je nachdem, ob Sie eine statische oder eine dynamische Splitterfenster bzw. erstellen möchten.

4 Passen Sie die Höhe und Breite der einzelnen Bereiche durch die "SetRowInfo" und "SetColumnInfo"-Memberfunktion. Sie nennen sie innerhalb "CreateStatic" oder "Erstellen", um die Höhe und Breite zu initialisieren auf NULL. Nennen Sie sie wieder nach "CreateStatic" und "Erstellen" den gewünschten Bereich-Maße angeben.

5 Scroll-Balken zwischen den Bereichen zu erstellen. Ein Splitterfenster mit einer Zeile und zwei Spalten wird eine Bildlaufleiste des WS_VSCROLL-Stil angezeigt. Derjenige, der zwei Zeilen und eine Spalte hat wird eine Bildlaufleiste des WS_HSCROLL-Stil angezeigt. Die Standard-Bildlaufleisten sind Kinder der Klasse CSplitterWnd. Ein statisches Objekt CSplitterWnd kann Bildlaufleisten aus den Klassen seine Bereiche unterstützen.

Tipps & Warnungen

  • Eine gemeinsame Wahl des Bereichs für ein statisches CSplitterWnd-Objekt ist die CView-Klasse.
  • Um die CView-Klasse verwenden, müssen Sie die CHolderView verwenden, die die CView-Steuerelemente enthält.
  • Ein Teilfenster in einem CFrameWnd-Objekt einbetten sieht versunkene. Es empfiehlt sich eine Klasse ableiten von CFrameWnd um seinen WS_EX_CLIENTEDGE-Stil vor der Schöpfung zu entfernen.