CFrameWnd-Klasse
Stellt die Funktionalität eines Windows-SingleDocument Interface (SDI) nicht überschnitt oder Popuprahmenfenster, zusammen mit Member zum Verwalten des Fensters.
class CFrameWnd : public CWnd
Mitglieder
Öffentliche Konstruktoren
Name |
Description |
---|---|
Erstellt ein CFrameWnd-Objekt. |
Öffentliche Methoden
Name |
Description |
---|---|
Macht die Rahmen sichtbar und werden für den Benutzer. |
|
Legt das Rahmenfenster zu modalem fest. |
|
Rufen Sie auf, um das Windows-Rahmenfenster zu erstellen und zu initialisieren, das mit dem CFrameWnd-Objekt zugeordnet ist. |
|
Erstellt eine Ansicht in Frame, die nicht von CView abgeleitet wird. |
|
Dockt eine Steuerleiste an. |
|
Bietet eine Steuerleiste, angedockt werden. |
|
Beendet den modalen Zustand des Rahmenfensters.Aktiviert alle Fenster, die von BeginModalState deaktiviert werden. |
|
Schwimmt eine Steuerleiste. |
|
Gibt das aktive CDocument-Objekt zurück. |
|
Gibt das aktive CFrameWnd-Objekt zurück. |
|
Gibt das aktive CView-Objekt zurück. |
|
Ruft die Steuerleiste ab. |
|
Ruft den Dockzustand eines Rahmenfensters ab. |
|
Ruft den Anzeigenzustand des Menüs in der aktuellen MFC-Anwendung ab. |
|
Gibt an, ob das Standardverhalten des Menüs in der aktuellen MFC-Anwendung entweder ausgeblendet oder angezeigt wird. |
|
Gibt einen Zeiger auf die Statusleiste zurück, die dem Rahmenfenster gehört. |
|
Ruft Meldung entsprechend einer Befehl ID ab |
|
Ruft den Titel der zugehörigen Steuerleiste ab. |
|
Bewirkt die OnInitialUpdate-Memberfunktion, die allen Ansichten im aufgerufen werden Rahmenfenster, gehört. |
|
Gibt einen Wert zurück, ob ein Rahmenfenster in einem modalen Zustand ist. |
|
Bestimmt, ob gerade Splitterleiste bewegt wird. |
|
aufrufen, um einer Zugriffstastentabelle zu laden. |
|
aufrufen, um von Steuerleisteneinstellungen wiederherzustellen. |
|
aufrufen, um eines Rahmenfensters von den Ressourceninformationen dynamisch zu erstellen. |
|
Verhandelt über Rahmenleerzeichen im Rahmenfenster. |
|
Aufgerufen, wenn eine Aktion auf der angegebenen Steuerleiste ausgeführt wird. |
|
Handles UMSCHALT+F1-Hilfe für direkte Elemente. |
|
Legt das Hauptrahmenfenster der Anwendung in und aus der Seitenansicht out fest. |
|
Aufgerufen vom Framework, wenn das zugeordnete Menü aktualisiert wird. |
|
Ordnet die Steuerleisten des Objekts CFrameWnd neu. |
|
aufrufen, um von Steuerleisteneinstellungen zu speichern. |
|
Legt die angegebene Ansicht fest, um die aktive Ansicht für Reich-Vorschau zu sein. |
|
Legt das aktive CView-Objekt fest. |
|
aufrufen, um des Rahmenfensters im Hauptfenster anzudocken. |
|
Legt den Anzeigenzustand des Menüs in der aktuellen MFC-Anwendung zu ausgeblendetem angezeigt oder fest. |
|
Legt das Standardverhalten des Menüs in der aktuellen MFC-Anwendung, ausgeblendet oder sichtbar ist entweder fest. |
|
Legt den Text einer Standardstatusleiste fest. |
|
Legt aktuelle Position für Windows 7-Statusanzeige angezeigt Taskleiste auf fest. |
|
Sätze reichen für Windows 7-Statusanzeige, die auf Taskleiste angezeigt wird. |
|
Legt den Typ und den Zustand der Statusanzeige fest, die auf einer Schaltfläche der Taskleiste angezeigt wird. |
|
Überladen.Gilt ein Overlay auf eine Schaltfläche der Taskleiste verwenden, um Anwendungsstatus oder eine Benachrichtigung dem hinzuweisen. |
|
Legt den Titel der zugehörigen Steuerleiste fest. |
|
aufrufen, um die Steuerleiste anzuzeigen. |
|
Zeigt alle Fenster, die Nachfolger des CFrameWnd-Objekts sind. |
Geschützte Methoden
Name |
Description |
---|---|
Stellt ein Clientfenster für den Frame erstellt. |
|
Aufgerufen vor dem Menü in der aktuellen MFC-Anwendung werden ausgeblendet. |
|
Aufgerufen vor dem Menü in der aktuellen MFC-Anwendung wird angezeigt. |
Öffentliche Datenmember
Name |
Description |
---|---|
Die automatischen Steuerelemente aktivieren und deaktivieren Funktionalität für Menüelemente. |
|
Führen Sie dieses statische CRect als Parameter, wenn Sie ein CFrameWnd-Objekt erstellen, um Windows ermöglichen, des die ursprüngliche Größe und Position Fensters auszuwählen. |
Hinweise
Um ein nützliches Rahmenfenster für die Anwendung zu erstellen, leiten Sie eine Klasse von CFrameWnd.Fügen Sie Membervariablen der abgeleiteten Klasse Speicherdatenbesonderen der Anwendung hinzu.Implementieren Sie Meldungshandlermemberfunktionen und eine Meldungszuordnung in der abgeleiteten Klasse, um anzugeben, was geschieht, wenn Meldungen in das Fenster verwiesen werden.
Es gibt drei Möglichkeiten, ein Rahmenfenster zu erstellen:
Erstellen Sie es direkt mithilfe Erstellen Sie.
Erstellen Sie es direkt mithilfe LoadFrame.
Erstellen Sie es indirekt mit einer Normal-Vorlage.
Bevor Sie entweder Create oder LoadFrame aufrufen, müssen Sie das Rahmenfensterobjekt auf dem Heap mithilfe des Operators C++ new erstellen.Bevor Sie Create aufrufen, können Sie eine Fensterklasse mit der globalen Funktion AfxRegisterWndClass auch registrieren, um die Symbol- und Klassenformate für den Frame festzulegen.
Verwenden Sie die Create-Memberfunktion, um die Erstellungsparameter der Rahmen als unmittelbare Argumente zu übergeben.
LoadFrame erfordert weniger Argumente als Create und ruft stattdessen den Großteil der Standardwerte von Ressourcen, einschließlich der Frame die Beschriftung, das Symbol, die Zugriffstastentabelle und das Menü ab.Um nach LoadFrame möglich ist, müssen alle diese Ressourcen dieselbe Ressourcen-ID (beispielsweise, IDR_MAINFRAME) verfügen.
Wenn ein Objekt CFrameWnd Ansichten und Dokumente enthält, werden sie indirekt durch das Framework statt direkt von des Programmierers erstellt.Das Objekt CDocTemplate instrumentiert die Erstellung von Rahmen, die Erstellung der enthaltenen Ansichten und die Verbindung der Ansichten zum entsprechenden Dokument.Die Parameter des CDocTemplate-Konstruktors geben CRuntimeClass, der drei betroffenen Klassen an (Dokument, Frames und Ansicht).Ein Objekt CRuntimeClass wird durch das Framework verwendet, um neue Frames dynamisch zu erstellen, wenn es vom Benutzer angegeben wird (beispielsweise, mithilfe des neuen Befehls der Datei oder (Multiple Document Interface) neuen Befehls Fensters).
Eine Rahmenfensterklasse, die von CFrameWnd abgeleitet ist, muss deklariert werden mit DECLARE_DYNCREATE, damit der obige RUNTIME_CLASS Mechanismus ordnungsgemäß funktioniert.
CFrameWnd enthält Implementierungen, um die folgenden Aufgaben eines Hauptfensters in einer typischen Anwendung für Windows auszuführen:
Ein CFrameWnd Rahmenfenster verwaltet aktive Ansicht eine gerade verfolgt die unabhängig vom Windows-aktivenFensters oder des aktuellen Eingabefokus ist.Wenn die Frames erneut aktiviert werden, wird die aktive Ansicht benachrichtigt, indem CView::OnActivateView aufruft.
Befehlsmeldungen und viele allgemeine FrameBenachrichtigung Meldungen, einschließlich der, die von OnSetFocus, OnHScroll und OnVScroll-Funktionen von CWnd behandelt werden, werden durch ein CFrameWnd Rahmenfenster der aktuell aktiven Ansicht delegiert.
Das gerade aktive Ansicht (oder aktuell aktiven untergeordneten MDI-Rahmenfenster im - MDI-Frame) kann die Beschriftung des Rahmenfensters bestimmen.Diese Funktion kann deaktiviert werden, indem das FWS_ADDTOTITLE Stilbit des Rahmenfensters veranschaulicht.
Ein CFrameWnd Rahmenfenster verwaltet die Positionierung der Steuerleisten, der Ansichten und anderer untergeordneter Fenster innerhalb des Clientbereichs des Rahmenfensters.Ein Rahmenfenster führt auch das Leerlaufaktualisieren der Symbolleiste und anderer Steuerleistenschaltflächen.Ein CFrameWnd Rahmenfenster hat auch Standardimplementierungen von Befehlen für das Menüelement auf und weg auf der Symbolleiste und der Statusleiste.
Ein CFrameWnd Rahmenfenster verwaltet die Hauptmenüleiste.Wenn ein Popupmenü angezeigt wird, verwendet das Rahmenfenster den UPDATE_COMMAND_UI Mechanismus, um zu bestimmen, welche Menüelemente aktiviert sind, deaktiviert oder überprüft werden sollen.Wenn der Benutzer ein Menüelement auswählt, aktualisiert das Rahmenfenster die Statusleiste mit der Meldungszeichenfolge für diesen Befehl.
Ein CFrameWnd Rahmenfenster verfügt über eine optionale Zugriffstastentabelle, die automatisch Zugriffstasten übersetzt.
Ein CFrameWnd Rahmenfenster verfügt über eine optionale Hilfe ID, die mit LoadFrame festgelegt wird, die für die kontextbezogene Hilfe verwendet wird.Ein Rahmenfenster ist der zentrale Organisator von semimodal Status wie Modi der kontextbezogenen Hilfe (UMSCHALT+F1) und der Seitenansicht.
Ein CFrameWnd Rahmenfenster öffnet eine Datei, die vom Datei-Manager gezogen wird und auf dem Rahmenfenster abgelegt ist.Wenn eine Dateierweiterung bei der Anwendung registriert und zugeordnet wird, reagiert das Rahmenfenster auf den dynamischen Datenaustausch (DDE) öffnen Anforderung, die auftritt, wenn der Benutzer eine Datendatei im Datei-Manager öffnet, oder wenn die ShellExecute Windows-Funktion aufgerufen wird.
Wenn das Rahmenfenster das Hauptanwendungsfenster (das heißt, CWinThread::m_pMainWnd) ist, wenn der Benutzer die Anwendung schließt das Rahmenfenster, fordert den Benutzer auf, alle geänderten Dokumente zu speichern (für OnClose und OnQueryEndSession).
Wenn das Rahmenfenster das Hauptanwendungsfenster ist, ist das Rahmenfenster der Kontext für diese Ausführung WinHelp.Das Rahmenfenster schließt, wechselt WINHELP.EXE ab, wenn es für die Hilfe für diese Anwendung gestartet wurde.
Verwenden Sie den Operator C++ delete, um ein Rahmenfenster zu zerstören.Verwenden Sie stattdessen CWnd::DestroyWindow.Die CFrameWnd Implementierung von PostNcDestroy löscht das C++-Objekt, wenn das Fenster zerstört wird.Wenn der Benutzer das Rahmenfenster enthält, wird der Standardwert OnClose-Handler DestroyWindow auf.
Weitere Informationen zu CFrameWnd, finden Sie unter Rahmenfenster.
Vererbungshierarchie
CFrameWnd
Anforderungen
Header: afxwin.h