Freigeben über


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

za93adby.collapse_all(de-de,VS.110).gifÖffentliche Konstruktoren

Name

Description

CFrameWnd::CFrameWnd

Erstellt ein CFrameWnd-Objekt.

za93adby.collapse_all(de-de,VS.110).gifÖffentliche Methoden

Name

Description

CFrameWnd::ActivateFrame

Macht die Rahmen sichtbar und werden für den Benutzer.

CFrameWnd::BeginModalState

Legt das Rahmenfenster zu modalem fest.

CFrameWnd::Create

Rufen Sie auf, um das Windows-Rahmenfenster zu erstellen und zu initialisieren, das mit dem CFrameWnd-Objekt zugeordnet ist.

CFrameWnd::CreateView

Erstellt eine Ansicht in Frame, die nicht von CView abgeleitet wird.

CFrameWnd::DockControlBar

Dockt eine Steuerleiste an.

CFrameWnd::EnableDocking

Bietet eine Steuerleiste, angedockt werden.

CFrameWnd::EndModalState

Beendet den modalen Zustand des Rahmenfensters.Aktiviert alle Fenster, die von BeginModalState deaktiviert werden.

CFrameWnd::FloatControlBar

Schwimmt eine Steuerleiste.

CFrameWnd::GetActiveDocument

Gibt das aktive CDocument-Objekt zurück.

CFrameWnd::GetActiveFrame

Gibt das aktive CFrameWnd-Objekt zurück.

CFrameWnd::GetActiveView

Gibt das aktive CView-Objekt zurück.

CFrameWnd::GetControlBar

Ruft die Steuerleiste ab.

CFrameWnd::GetDockState

Ruft den Dockzustand eines Rahmenfensters ab.

CFrameWnd::GetMenuBarState

Ruft den Anzeigenzustand des Menüs in der aktuellen MFC-Anwendung ab.

CFrameWnd::GetMenuBarVisibility

Gibt an, ob das Standardverhalten des Menüs in der aktuellen MFC-Anwendung entweder ausgeblendet oder angezeigt wird.

CFrameWnd::GetMessageBar

Gibt einen Zeiger auf die Statusleiste zurück, die dem Rahmenfenster gehört.

CFrameWnd::GetMessageString

Ruft Meldung entsprechend einer Befehl ID ab

CFrameWnd::GetTitle

Ruft den Titel der zugehörigen Steuerleiste ab.

CFrameWnd::InitialUpdateFrame

Bewirkt die OnInitialUpdate-Memberfunktion, die allen Ansichten im aufgerufen werden Rahmenfenster, gehört.

CFrameWnd::InModalState

Gibt einen Wert zurück, ob ein Rahmenfenster in einem modalen Zustand ist.

CFrameWnd::IsTracking

Bestimmt, ob gerade Splitterleiste bewegt wird.

CFrameWnd::LoadAccelTable

aufrufen, um einer Zugriffstastentabelle zu laden.

CFrameWnd::LoadBarState

aufrufen, um von Steuerleisteneinstellungen wiederherzustellen.

CFrameWnd::LoadFrame

aufrufen, um eines Rahmenfensters von den Ressourceninformationen dynamisch zu erstellen.

CFrameWnd::NegotiateBorderSpace

Verhandelt über Rahmenleerzeichen im Rahmenfenster.

CFrameWnd::OnBarCheck

Aufgerufen, wenn eine Aktion auf der angegebenen Steuerleiste ausgeführt wird.

CFrameWnd::OnContextHelp

Handles UMSCHALT+F1-Hilfe für direkte Elemente.

CFrameWnd::OnSetPreviewMode

Legt das Hauptrahmenfenster der Anwendung in und aus der Seitenansicht out fest.

CFrameWnd::OnUpdateControlBarMenu

Aufgerufen vom Framework, wenn das zugeordnete Menü aktualisiert wird.

CFrameWnd::RecalcLayout

Ordnet die Steuerleisten des Objekts CFrameWnd neu.

CFrameWnd::SaveBarState

aufrufen, um von Steuerleisteneinstellungen zu speichern.

CFrameWnd::SetActivePreviewView

Legt die angegebene Ansicht fest, um die aktive Ansicht für Reich-Vorschau zu sein.

CFrameWnd::SetActiveView

Legt das aktive CView-Objekt fest.

CFrameWnd::SetDockState

aufrufen, um des Rahmenfensters im Hauptfenster anzudocken.

CFrameWnd::SetMenuBarState

Legt den Anzeigenzustand des Menüs in der aktuellen MFC-Anwendung zu ausgeblendetem angezeigt oder fest.

CFrameWnd::SetMenuBarVisibility

Legt das Standardverhalten des Menüs in der aktuellen MFC-Anwendung, ausgeblendet oder sichtbar ist entweder fest.

CFrameWnd::SetMessageText

Legt den Text einer Standardstatusleiste fest.

CFrameWnd::SetProgressBarPosition

Legt aktuelle Position für Windows 7-Statusanzeige angezeigt Taskleiste auf fest.

CFrameWnd::SetProgressBarRange

Sätze reichen für Windows 7-Statusanzeige, die auf Taskleiste angezeigt wird.

CFrameWnd::SetProgressBarState

Legt den Typ und den Zustand der Statusanzeige fest, die auf einer Schaltfläche der Taskleiste angezeigt wird.

CFrameWnd::SetTaskbarOverlayIcon

Überladen.Gilt ein Overlay auf eine Schaltfläche der Taskleiste verwenden, um Anwendungsstatus oder eine Benachrichtigung dem hinzuweisen.

CFrameWnd::SetTitle

Legt den Titel der zugehörigen Steuerleiste fest.

CFrameWnd::ShowControlBar

aufrufen, um die Steuerleiste anzuzeigen.

CFrameWnd::ShowOwnedWindows

Zeigt alle Fenster, die Nachfolger des CFrameWnd-Objekts sind.

za93adby.collapse_all(de-de,VS.110).gifGeschützte Methoden

Name

Description

CFrameWnd::OnCreateClient

Stellt ein Clientfenster für den Frame erstellt.

CFrameWnd::OnHideMenuBar

Aufgerufen vor dem Menü in der aktuellen MFC-Anwendung werden ausgeblendet.

CFrameWnd::OnShowMenuBar

Aufgerufen vor dem Menü in der aktuellen MFC-Anwendung wird angezeigt.

za93adby.collapse_all(de-de,VS.110).gifÖffentliche Datenmember

Name

Description

CFrameWnd::m_bAutoMenuEnable

Die automatischen Steuerelemente aktivieren und deaktivieren Funktionalität für Menüelemente.

CFrameWnd::rectDefault

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

CObject

CCmdTarget

CWnd

CFrameWnd

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CWnd-Klasse

Hierarchien-Diagramm

CWnd-Klasse

CMDIFrameWnd-Klasse

CMDIChildWnd-Klasse

CView-Klasse

CDocTemplate-Klasse

CRuntimeClass-Struktur