CFrameWnd-Klasse

Stellt die Funktionalität eines Windows-SDI-Rahmenfensters (Single Document Interface) bereit, wobei es sich um ein überlappendes oder ein Popupfenster handeln kann. Ebenfalls bereitgestellt werden Member zum Verwalten des Fensters.

Syntax

class CFrameWnd : public CWnd

Member

Öffentliche Konstruktoren

Name Beschreibung
CFrameWnd::CFrameWnd Erstellt ein CFrameWnd-Objekt.

Öffentliche Methoden

Name Beschreibung
CFrameWnd::ActivateFrame Macht den Frame sichtbar und für den Benutzer verfügbar.
CFrameWnd::BeginModalState Legt das Rahmenfenster auf modal fest.
CFrameWnd::Create Aufrufen zum Erstellen und Initialisieren des Windows-Framefensters, das dem CFrameWnd Objekt zugeordnet ist.
CFrameWnd::CreateView Erstellt eine Ansicht innerhalb eines Frames, die nicht von CView.
CFrameWnd::DockControlBar Dockt eine Steuerleiste an.
CFrameWnd::EnableDocking Ermöglicht das Andocken einer Steuerleiste.
CFrameWnd::EndModalState Beendet den modalen Zustand des Rahmenfensters. Aktiviert alle fenster deaktiviert von BeginModalState.
CFrameWnd::FloatControlBar Floats a control bar.
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 Dockstatus eines Framefensters ab.
CFrameWnd::GetMenuBarState Ruft den Anzeigestatus 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 sichtbar ist.
CFrameWnd::GetMessageBar Gibt einen Zeiger auf die Statusleiste zurück, die zum Rahmenfenster gehört.
CFrameWnd::GetMessageString Ruft die Nachricht ab, die einer Befehls-ID entspricht.
CFrameWnd::GetTitle Ruft den Titel der zugehörigen Steuerelementleiste ab.
CFrameWnd::InitialUpdateFrame Bewirkt, dass die OnInitialUpdate Memberfunktion zu allen Ansichten im Framefenster aufgerufen wird.
CFrameWnd::InModalState Gibt einen Wert zurück, der angibt, ob sich ein Rahmenfenster in einem modalen Zustand befindet.
CFrameWnd::IsTracking Bestimmt, ob die Teilerleiste zurzeit verschoben wird.
CFrameWnd::LoadAccelTable Aufrufen, um eine Zugriffstastentabelle zu laden.
CFrameWnd::LoadBarState Aufrufen zum Wiederherstellen von Einstellungen für die Steuerleiste.
CFrameWnd::LoadFrame Aufrufen, um ein Framefenster dynamisch aus Ressourceninformationen zu erstellen.
CFrameWnd::NegotiateBorderSpace Verhandelt den Rahmenbereich im Rahmenfenster.
CFrameWnd::OnBarCheck Wird immer aufgerufen, wenn eine Aktion auf der angegebenen Steuerelementleiste ausgeführt wird.
CFrameWnd::OnContextHelp Behandelt die UMSCHALT+F1-Hilfe für direkte Elemente.
CFrameWnd::OnSetPreviewMode Legt das Standard Framefenster der Anwendung im Druckvorschaumodus fest.
CFrameWnd::OnUpdateControlBarMenu Wird vom Framework aufgerufen, wenn das zugeordnete Menü aktualisiert wird.
CFrameWnd::RecalcLayout Positioniert die Steuerleisten des CFrameWnd Objekts neu.
CFrameWnd::SaveBarState Aufrufen zum Speichern von Einstellungen für die Steuerleiste.
CFrameWnd::SetActivePreviewView Legt die angegebene Ansicht als aktive Ansicht für Rich Preview fest.
CFrameWnd::SetActiveView Legt das aktive CView Objekt fest.
CFrameWnd::SetDockState Rufen Sie auf, um das Framefenster im fenster Standard anzudocken.
CFrameWnd::SetMenuBarState Legt den Anzeigezustand des Menüs in der aktuellen MFC-Anwendung auf ausgeblendet oder angezeigt fest.
CFrameWnd::SetMenuBarVisibility Legt das Standardverhalten des Menüs in der aktuellen MFC-Anwendung fest, um entweder ausgeblendet oder sichtbar zu sein.
CFrameWnd::SetMessageText Legt den Text einer Standardstatusleiste fest.
CFrameWnd::SetProgressBarPosition Legt die aktuelle Position für die Statusanzeige von Windows 7 fest, die auf der Taskleiste angezeigt wird.
CFrameWnd::SetProgressBarRange Legt den Bereich für die Statusanzeige von Windows 7 fest, die auf der Taskleiste angezeigt wird.
CFrameWnd::SetProgressBarState Legt den Typ und den Status der Statusanzeige fest, die auf einer Taskleistenschaltfläche angezeigt wird.
CFrameWnd::SetTaskbarOverlayIcon Überladen. Wendet eine Überlagerung auf eine Taskleistenschaltfläche an, um den Anwendungsstatus oder eine Benachrichtigung für den Benutzer anzugeben.
CFrameWnd::SetTitle Legt den Titel der zugehörigen Steuerelementleiste fest.
CFrameWnd::ShowControlBar Rufen Sie auf, um die Steuerleiste anzuzeigen.
CFrameWnd::ShowOwnedWindows Zeigt alle Fenster an, die Nachfolger des CFrameWnd Objekts sind.

Geschützte Methoden

Name Beschreibung
CFrameWnd::OnCreateClient Erstellt ein Clientfenster für den Frame.
CFrameWnd::OnHideMenuBar Wird aufgerufen, bevor das Menü in der aktuellen MFC-Anwendung ausgeblendet ist.
CFrameWnd::OnShowMenuBar Wird aufgerufen, bevor das Menü in der aktuellen MFC-Anwendung angezeigt wird.

Öffentliche Datenmember

Name Beschreibung
CFrameWnd::m_bAutoMenuEnable Steuert die automatische Aktivierung und Deaktivieren von Funktionen für Menüelemente.
CFrameWnd::rectDefault Übergeben Sie diese statisch CRect als Parameter, wenn Sie ein CFrameWnd Objekt erstellen, damit Windows die Anfangsgröße und Position des Fensters auswählen kann.

Hinweise

Um ein nützliches Rahmenfenster für Ihre Anwendung zu erstellen, leiten Sie eine Klasse von CFrameWnd. Fügen Sie der abgeleiteten Klasse Membervariablen hinzu, um datenspezifisch für Ihre Anwendung zu speichern. Implementieren Sie Meldungshandler-Memberfunktionen und eine Meldungszuordnung in der abgeleiteten Klasse, um anzugeben, was passiert, wenn Meldungen an das Fenster weitergeleitet werden.

Es gibt drei Möglichkeiten zum Erstellen eines Rahmenfensters:

  • Erstellen Sie es direkt mithilfe von Create.

  • Erstellen Sie es direkt mithilfe von LoadFrame.

  • Erstellen Sie sie indirekt mithilfe einer Dokumentvorlage.

Bevor Sie eine oder LoadFramemehrere Create Aufrufe ausführen, müssen Sie das Framefensterobjekt im Heap mithilfe des C++new-Operators erstellen. Vor dem Aufrufen Createkönnen Sie auch eine Fensterklasse mit der AfxRegisterWndClass globalen Funktion registrieren, um die Symbol- und Klassenformatvorlagen für den Frame festzulegen.

Verwenden Sie die Create Memberfunktion, um die Erstellungsparameter des Frames als direkte Argumente zu übergeben.

LoadFrameerfordert weniger Argumente als Createund ruft stattdessen die meisten Standardwerte aus Ressourcen ab, einschließlich der Untertitel, des Symbols, der Zugriffstastentabelle und des Menüs des Frames. Um auf LoadFramediese Ressourcen zugreifen zu können, müssen alle diese Ressourcen über dieselbe Ressourcen-ID verfügen (z. B IDR_MAINFRAME. ).

Wenn ein CFrameWnd Objekt Ansichten und Dokumente enthält, werden sie indirekt vom Framework statt direkt vom Programmierer erstellt. Das CDocTemplate Objekt koordiniert die Erstellung des Frames, die Erstellung der enthaltenden Ansichten und die Verbindung der Ansichten mit dem entsprechenden Dokument. Die Parameter des CDocTemplate Konstruktors geben die CRuntimeClass drei beteiligten Klassen an (Dokument, Frame und Ansicht). Ein CRuntimeClass Objekt wird vom Framework verwendet, um dynamisch neue Frames zu erstellen, wenn er vom Benutzer angegeben wird (z. B. mithilfe des Befehls "Datei neu" oder des Befehls "MDI-Fenster (Multiple Document Interface) Window New").

Eine von CFrameWnd frame-window abgeleitete Klasse muss deklariert DECLARE_DYNCREATE werden, damit der oben genannte RUNTIME_CLASS Mechanismus ordnungsgemäß funktioniert.

A CFrameWnd enthält Standardimplementierungen zum Ausführen der folgenden Funktionen eines Standard Fensters in einer typischen Anwendung für Windows:

  • Ein CFrameWnd Framefenster verfolgt eine aktuell aktive Ansicht, die unabhängig vom aktiven Windows-Fenster oder dem aktuellen Eingabefokus ist. Wenn der Frame reaktiviert wird, wird die aktive Ansicht durch Aufrufen CView::OnActivateViewbenachrichtigt.

  • Befehlsnachrichten und viele allgemeine Framebenachrichtigungen, einschließlich derjenigen, die von den OnSetFocusFunktionen von , OnHScrollund OnVScroll von CWnddenen behandelt werden, werden von einem CFrameWnd Framefenster an die aktuell aktive Ansicht delegiert.

  • Die derzeit aktive Ansicht (oder derzeit aktive untergeordnete MDI-Framefenster im Fall eines MDI-Frames) kann die Untertitel des Framefensters bestimmen. Dieses Feature kann durch Deaktivieren des FWS_ADDTOTITLE Formatvorlagenbits des Framefensters deaktiviert werden.

  • Ein CFrameWnd Rahmenfenster verwaltet die Positionierung der Steuerleisten, Ansichten und anderen untergeordneten Fenster innerhalb des Clientbereichs des Rahmenfensters. Ein Framefenster führt auch eine Leerlaufzeitaktualisierung von Symbolleisten- und anderen Steuerelementleistenschaltflächen durch. Ein CFrameWnd Framefenster verfügt außerdem über Standardimplementierungen von Befehlen zum Ein- und Ausschalten der Symbolleiste und Statusleiste.

  • Ein CFrameWnd Rahmenfenster verwaltet die Standard Menüleiste. Wenn ein Popupmenü angezeigt wird, verwendet das Framefenster den UPDATE_COMMAND_UI Mechanismus, um zu bestimmen, welche Menüelemente aktiviert, deaktiviert oder aktiviert werden sollen. Wenn der Benutzer ein Menüelement auswählt, aktualisiert das Framefenster die Statusleiste mit der Meldungszeichenfolge für diesen Befehl.

  • Ein CFrameWnd Rahmenfenster verfügt über eine optionale Zugriffstastentabelle, die Automatisch Zugriffstasten übersetzt.

  • Ein CFrameWnd Framefenster verfügt über eine optionale Hilfe-ID, die LoadFrame für kontextbezogene Hilfe verwendet wird. Ein Framefenster ist der Standard Orchestrator von semimodalen Zuständen wie kontextsensitiver Hilfe (UMSCHALT+F1) und Druckvorschaumodi.

  • In einem CFrameWnd Framefenster wird eine datei geöffnet, die aus dem Datei-Manager gezogen und im Framefenster abgelegt wird. Wenn eine Dateierweiterung registriert und der Anwendung zugeordnet ist, antwortet das Framefenster auf die geöffnete DDE-Anforderung (Dynamic Data Exchange), die auftritt, wenn der Benutzer eine Datendatei im Datei-Manager öffnet oder wenn die ShellExecute Windows-Funktion aufgerufen wird.

  • Wenn es sich bei dem Framefenster um das Standard Anwendungsfenster handelt (dCWinThread::m_pMainWnd. b. ), wenn der Benutzer die Anwendung schließt, fordert das Framefenster den Benutzer auf, geänderte Dokumente (für OnClose undOnQueryEndSession) zu speichern.

  • Wenn das Framefenster das Standard Anwendungsfensters ist, ist das Framefenster der Kontext für die Ausführung von WinHelp. Wenn Sie das Framefenster schließen, wird heruntergefahren WINHELP.EXE , wenn es für diese Anwendung gestartet wurde.

Verwenden Sie nicht den C++ delete -Operator, um ein Framefenster zu zerstören. Verwenden Sie stattdessen CWnd::DestroyWindow. Durch die CFrameWnd Implementierung PostNcDestroy wird das C++-Objekt gelöscht, wenn das Fenster zerstört wird. Wenn der Benutzer das Framefenster schließt, wird der Standardhandler OnClose aufgerufen DestroyWindow.

Weitere Informationen finden CFrameWndSie unter Frame Windows.

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CFrameWnd

Anforderungen

Headerafxwin.h:

CFrameWnd::ActivateFrame

Rufen Sie diese Memberfunktion auf, um das Framefenster zu aktivieren und wiederherzustellen, damit es für den Benutzer sichtbar und verfügbar ist.

virtual void ActivateFrame(int nCmdShow = -1);

Parameter

nCmdShow
Gibt den Parameter an, an den übergeben werden CWnd::ShowWindowsoll. Standardmäßig wird der Frame angezeigt und ordnungsgemäß wiederhergestellt.

Hinweise

Diese Memberfunktion wird in der Regel nach einem Ereignis ohne Benutzeroberfläche aufgerufen, z. B. einem DDE-, OLE- oder anderen Ereignis, das dem Benutzer das Framefenster oder dessen Inhalt anzeigen kann.

Die Standardimplementierung aktiviert den Frame und bringt ihn an den Anfang der Z-Reihenfolge und führt bei Bedarf dieselben Schritte für das Standard Framefenster der Anwendung aus.

Überschreiben Sie diese Memberfunktion, um zu ändern, wie ein Frame aktiviert wird. Sie können beispielsweise erzwingen, dass untergeordnete MDI-Fenster maximiert werden. Fügen Sie die entsprechende Funktionalität hinzu, und rufen Sie dann die Basisklassenversion mit einer expliziten nCmdShowAufschrift auf.

Beispiel

void CChildFrame::ActivateFrame(int nCmdShow)
{
   // Create the child frame window maximized
   nCmdShow = SW_MAXIMIZE;

   CMDIChildWnd::ActivateFrame(nCmdShow);
}

CFrameWnd::BeginModalState

Rufen Sie diese Memberfunktion auf, um ein Framefenster modal zu machen.

virtual void BeginModalState();

CFrameWnd::CFrameWnd

Erstellt ein CFrameWnd Objekt, erstellt aber nicht das sichtbare Rahmenfenster.

CFrameWnd();

Hinweise

Rufen Sie Create auf, um das sichtbare Fenster zu erstellen.

CFrameWnd::Create

Aufrufen zum Erstellen und Initialisieren des Windows-Framefensters, das dem CFrameWnd Objekt zugeordnet ist.

virtual BOOL Create(
    LPCTSTR lpszClassName,
    LPCTSTR lpszWindowName,
    DWORD dwStyle = WS_OVERLAPPEDWINDOW,
    const RECT& rect = rectDefault,
    CWnd* pParentWnd = NULL,
    LPCTSTR lpszMenuName = NULL,
    DWORD dwExStyle = 0,
    CCreateContext* pContext = NULL);

Parameter

lpszClassName
Verweist auf eine mit Null beendete Zeichenfolge, die die Windows-Klasse benennt. Der Klassenname kann ein beliebiger Name sein, der mit der AfxRegisterWndClass globalen Funktion oder der RegisterClass Windows-Funktion registriert ist. Wenn NULL, verwendet die vordefinierten Standardattribute CFrameWnd .

lpszWindowName
Verweist auf eine mit Null beendete Zeichenfolge, die den Fensternamen darstellt. Wird als Text für die Titelleiste verwendet.

dwStyle
Gibt die Attribute der Fensterformatvorlage an. Fügen Sie die FWS_ADDTOTITLE Formatvorlage hinzu, wenn die Titelleiste automatisch den Namen des im Fenster dargestellten Dokuments anzeigen soll.

rect
Gibt die Größe und Position des Fensters an. Mit rectDefault dem Wert kann Windows die Größe und Position des neuen Fensters angeben.

pParentWnd
Gibt das übergeordnete Fenster dieses Rahmenfensters an. Dieser Parameter sollte für Framefenster der obersten Ebene verwendet werden NULL .

lpszMenuName
Gibt den Namen der Menüressource an, die mit dem Fenster verwendet werden soll. Verwenden Sie diese Eigenschaft MAKEINTRESOURCE , wenn das Menü eine ganzzahlige ID anstelle einer Zeichenfolge aufweist. Dieser Parameter kann NULL sein.

dwExStyle
Gibt die Attribute des erweiterten Fensterstils an.

pContext
Gibt einen Zeiger auf eine CCreateContext Struktur an. Dieser Parameter kann NULL sein.

Rückgabewert

Nonzero, wenn die Initialisierung erfolgreich ist; andernfalls 0.

Hinweise

Erstellen Sie ein CFrameWnd Objekt in zwei Schritten. Rufen Sie zuerst den Konstruktor auf, der das CFrameWnd Objekt konstruiert, und rufen Sie dann auf Create, wodurch das Windows-Framefenster erstellt und an das CFrameWnd Objekt angefügt wird. Create initialisiert den Klassennamen und den Fensternamen des Fensters und registriert Standardwerte für die Formatvorlage, das übergeordnete und das zugeordnete Menü.

Verwenden Sie LoadFrame anstelle Create der Angabe ihrer Argumente das Framefenster aus einer Ressource.

CFrameWnd::CreateView

Rufen Sie CreateView auf, um eine Ansicht innerhalb eines Frames zu erstellen.

CWnd* CreateView(
    CCreateContext* pContext,
    UINT nID = AFX_IDW_PANE_FIRST);

Parameter

pContext
Gibt den Typ der Ansicht und des Dokuments an.

nID
Die ID-Nummer einer Ansicht.

Rückgabewert

Zeigen Sie bei erfolgreicher Ausführung auf ein CWnd Objekt. Andernfalls NULL.

Hinweise

Verwenden Sie diese Memberfunktion, um "Ansichten" zu erstellen, die nicht CViewinnerhalb eines Frames abgeleitet sind. Nach dem Aufrufen CreateViewmüssen Sie die Ansicht manuell auf "aktiv" festlegen und festlegen, dass sie sichtbar ist. Diese Aufgaben werden nicht automatisch ausgeführt von CreateView.

CFrameWnd::DockControlBar

Bewirkt, dass eine Steuerelementleiste an das Rahmenfenster angedockt wird.

void DockControlBar(
    CControlBar* pBar,
    UINT nDockBarID = 0,
    LPCRECT lpRect = NULL);

Parameter

pBar
Zeigt auf die zu andockende Steuerleiste.

nDockBarID
Bestimmt, welche Seiten des Rahmenfensters zum Andocken berücksichtigt werden sollen. Dies kann 0 oder mindestens eine der folgenden Werte sein:

  • AFX_IDW_DOCKBAR_TOP An der oberen Seite des Rahmenfensters andocken.

  • AFX_IDW_DOCKBAR_BOTTOM Docken Sie an der unteren Seite des Rahmenfensters an.

  • AFX_IDW_DOCKBAR_LEFT An der linken Seite des Rahmenfensters andocken.

  • AFX_IDW_DOCKBAR_RIGHT An der rechten Seite des Rahmenfensters andocken.

Wenn 0, kann die Steuerleiste an eine beliebige Seite angedockt werden, die für das Andocken im Zielframefenster aktiviert ist.

lpRect
Bestimmt in Bildschirmkoordinaten, wo die Steuerelementleiste im Nichtclientbereich des Zielframefensters angedockt wird.

Hinweise

Die Steuerleiste wird an einer der Seiten des Rahmenfensters angedockt, das in den Aufrufen von beiden CControlBar::EnableDocking und CFrameWnd::EnableDocking. Die ausgewählte Seite wird durch nDockBarIDbestimmt.

CFrameWnd::EnableDocking

Rufen Sie diese Funktion auf, um andockbare Steuerleisten in einem Framefenster zu aktivieren.

void EnableDocking(DWORD dwDockStyle);

Parameter

dwDockStyle
Gibt an, welche Seiten des Rahmenfensters als Docking-Sites für Steuerleisten dienen können. Dies kann eine oder mehrere der folgenden Aktionen sein:

  • CBRS_ALIGN_TOP Ermöglicht das Andocken am oberen Rand des Clientbereichs.

  • CBRS_ALIGN_BOTTOM Ermöglicht das Andocken am unteren Rand des Clientbereichs.

  • CBRS_ALIGN_LEFT Ermöglicht das Andocken auf der linken Seite des Clientbereichs.

  • CBRS_ALIGN_RIGHT Ermöglicht das Andocken auf der rechten Seite des Clientbereichs.

  • CBRS_ALIGN_ANY Ermöglicht das Andocken auf einer beliebigen Seite des Clientbereichs.

Hinweise

Standardmäßig werden Steuerleisten an eine Seite des Rahmenfensters in der folgenden Reihenfolge angedockt: oben, unten, links, rechts.

Beispiel

Sehen Sie sich das Beispiel für CToolBar::Create.

CFrameWnd::EndModalState

Rufen Sie diese Memberfunktion auf, um ein Framefenster von einem modalen in einen Status ohne Modus zu ändern.

virtual void EndModalState();

Hinweise

EndModalState aktiviert alle fenster deaktiviert von BeginModalState.

CFrameWnd::FloatControlBar

Rufen Sie diese Funktion auf, damit eine Steuerelementleiste nicht an das Framefenster angedockt wird.

void FloatControlBar(
    CControlBar* pBar,
    CPoint point,
    DWORD dwStyle = CBRS_ALIGN_TOP);

Parameter

pBar
Zeigt auf die zu schwebenden Steuerleiste.

point
Die Position in Bildschirmkoordinaten, an der die obere linke Ecke der Steuerelementleiste platziert wird.

dwStyle
Gibt an, ob die Steuerleiste horizontal oder vertikal innerhalb des neuen Rahmenfensters ausgerichtet werden soll. Dies kann eine der folgenden Aktionen sein:

  • CBRS_ALIGN_TOP Richtet die Steuerleiste vertikal aus.

  • CBRS_ALIGN_BOTTOM Richtet die Steuerleiste vertikal aus.

  • CBRS_ALIGN_LEFT Richtet die Steuerleiste horizontal aus.

  • CBRS_ALIGN_RIGHT Richtet die Steuerleiste horizontal aus.

Wenn Formatvorlagen übergeben werden, die sowohl horizontale als auch vertikale Ausrichtung angeben, wird die Symbolleiste horizontal ausgerichtet.

Hinweise

Dies erfolgt in der Regel beim Starten der Anwendung, wenn das Programm Einstellungen aus der vorherigen Ausführung wiederherstellen.

Diese Funktion wird vom Framework aufgerufen, wenn der Benutzer einen Drop-Vorgang verursacht, indem die linke Maustaste losgelassen wird, während die Steuerleiste über eine Position gezogen wird, die nicht zum Andocken verfügbar ist.

CFrameWnd::GetActiveDocument

Rufen Sie diese Memberfunktion auf, um einen Zeiger auf den aktuellen CDocument , der der aktuellen aktiven Ansicht zugeordnet ist, abzurufen.

virtual CDocument* GetActiveDocument();

Rückgabewert

Ein Zeiger auf den aktuellen CDocument. Wenn kein aktuelles Dokument vorhanden ist, wird zurückgegeben NULL.

CFrameWnd::GetActiveFrame

Rufen Sie diese Memberfunktion auf, um einen Zeiger auf das aktive untergeordnete MDI-Fenster (Multiple Document Interface) eines MDI-Framefensters abzurufen.

virtual CFrameWnd* GetActiveFrame();

Rückgabewert

Ein Zeiger auf das aktive untergeordnete MDI-Fenster. Wenn es sich bei der Anwendung um eine SDI-Anwendung handelt oder das MDI-Framefenster kein aktives Dokument aufweist, wird der implizite this Zeiger zurückgegeben.

Hinweise

Wenn kein aktives untergeordnetes MDI-Element vorhanden ist oder die Anwendung eine einzelne Dokumentschnittstelle (SDI) ist, wird der implizite Zeiger this zurückgegeben.

CFrameWnd::GetActiveView

Rufen Sie diese Memberfunktion auf, um einen Zeiger auf die aktive Ansicht (falls vorhanden) abzurufen, die an ein Framefenster ( CFrameWnd) angefügt ist.

CView* GetActiveView() const;

Rückgabewert

Ein Zeiger auf den aktuellen CView. Wenn keine aktuelle Ansicht vorhanden ist, wird zurückgegeben NULL.

Hinweise

Diese Funktion gibt zurückNULL, wenn für ein MDI-Standard Rahmenfenster ( CMDIFrameWnd) aufgerufen wird. In einer MDI-Anwendung ist dem MDI-Standard Framefenster keine Ansicht zugeordnet. Stattdessen verfügt jedes einzelne untergeordnete Fenster ( CMDIChildWnd) über eine oder mehrere zugeordnete Ansichten. Die aktive Ansicht in einer MDI-Anwendung kann abgerufen werden, indem zuerst das aktive untergeordnete MDI-Fenster gesucht und dann die aktive Ansicht für dieses untergeordnete Fenster gefunden wird. Das aktive untergeordnete MDI-Fenster kann durch Aufrufen der Funktion MDIGetActive oder GetActiveFrame wie in den folgenden Beispielen veranschaulicht werden:

CMDIFrameWnd *pFrame = (CMDIFrameWnd*)AfxGetApp()->GetMainWnd();

// Get the active MDI child window.
CMDIChildWnd *pChild = (CMDIChildWnd*)pFrame->GetActiveFrame();

// or CMDIChildWnd *pChild = pFrame->MDIGetActive();

// Get the active view attached to the active MDI child window.
CMyView *pView = (CMyView*)pChild->GetActiveView();

CFrameWnd::GetControlBar

Rufen Sie GetControlBar auf, um Zugriff auf die Steuerelementleiste zu erhalten, die der ID zugeordnet ist.

CControlBar* GetControlBar(UINT nID);

Parameter

nID
Die ID-Nummer einer Steuerelementleiste.

Rückgabewert

Ein Zeiger auf die Steuerelementleiste, die der ID zugeordnet ist.

Hinweise

Der nID Parameter bezieht sich auf den eindeutigen Bezeichner, der an die Create Methode der Steuerelementleiste übergeben wird. Weitere Informationen zu Steuerleisten finden Sie im Thema " Steuerleisten".

GetControlBar gibt die Steuerleiste auch dann zurück, wenn sie unverankert ist und somit derzeit kein untergeordnetes Fenster des Frames ist.

CFrameWnd::GetDockState

Rufen Sie diese Memberfunktion auf, um Zustandsinformationen zu den Steuerleisten des Framefensters in einem CDockState Objekt zu speichern.

void GetDockState(CDockState& state) const;

Parameter

state
Enthält den aktuellen Zustand der Steuerleisten des Rahmenfensters, sobald sie zurückgegeben werden.

Hinweise

Anschließend können Sie den Inhalt des CDockState Speichers mit CDockState::SaveState oder Serialize. Wenn Sie die Steuerleisten später in einen vorherigen Zustand wiederherstellen möchten, laden Sie den Zustand mit CDockState::LoadState oder Serialize, und rufen Sie SetDockState dann auf, um den vorherigen Zustand auf die Steuerleisten des Rahmenfensters anzuwenden.

CFrameWnd::GetMenuBarState

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

virtual DWORD GetMenuBarState();

Rückgabewert

Der Rückgabewert kann die folgenden Werte aufweisen:

  • AFX_MBS_VISIBLE (0x01) – Das Menü ist sichtbar.

  • AFX_MBS_HIDDEN (0x02) – Das Menü ist ausgeblendet.

Hinweise

Wenn ein Laufzeitfehler auftritt, bestätigt diese Methode im Debugmodus und löst eine Ausnahme aus, die von der CException Klasse abgeleitet wurde.

CFrameWnd::GetMenuBarVisibility

Gibt an, ob der Standardzustand des Menüs in der aktuellen MFC-Anwendung ausgeblendet oder sichtbar ist.

virtual DWORD CFrameWnd::GetMenuBarVisibility();

Rückgabewert

Diese Methode gibt einen der folgenden Werte zurück:

  • AFX_MBV_KEEPVISIBLE (0x01) – Das Menü wird immer angezeigt, und standardmäßig ist der Fokus nicht vorhanden.

  • AFX_MBV_DISPLAYONFOCUS (0x02) – Das Menü ist standardmäßig ausgeblendet. Wenn das Menü ausgeblendet ist, drücken Sie die ALT-TASTE, um das Menü anzuzeigen, und geben Sie ihm den Fokus. Wenn das Menü angezeigt wird, drücken Sie ALT oder ESC, um es auszublenden.

  • AFX_MBV_ DISPLAYONFOCUS | AFX_MBV_DISPLAYONF10 (0x06) – Das Menü ist standardmäßig ausgeblendet. Wenn das Menü ausgeblendet ist, drücken Sie F10, um das Menü anzuzeigen, und geben Sie ihm den Fokus. Wenn das Menü angezeigt wird, drücken Sie F10, um den Fokus auf oder aus dem Menü zu setzen. Das Menü wird angezeigt, bis Sie alt oder ESC drücken, um es auszublenden.

Hinweise

Wenn ein Laufzeitfehler auftritt, bestätigt diese Methode im Debugmodus und löst eine Ausnahme aus, die von der CException Klasse abgeleitet wurde.

CFrameWnd::GetMessageBar

Rufen Sie diese Memberfunktion auf, um einen Zeiger auf die Statusleiste abzurufen.

virtual CWnd* GetMessageBar();

Rückgabewert

Zeigen Sie auf das Statusleistenfenster.

CFrameWnd::GetMessageString

Überschreiben Sie diese Funktion, um benutzerdefinierte Zeichenfolgen für Befehls-IDs bereitzustellen.

virtual void GetMessageString(
    UINT nID,
    CString& rMessage) const;

Parameter

nID
Ressourcen-ID der gewünschten Nachricht.

rMessage
CString -Objekt, in das die Nachricht platziert werden soll.

Hinweise

Die Standardimplementierung lädt einfach die aus nID der Ressourcendatei angegebene Zeichenfolge. Diese Funktion wird vom Framework aufgerufen, wenn die Nachrichtenzeichenfolge in der Statusleiste aktualisiert werden muss.

CFrameWnd::GetTitle

Ruft den Titel des Fensterobjekts ab.

CString GetTitle() const;

Rückgabewert

Ein CString Objekt, das den aktuellen Titel des Fensterobjekts enthält.

CFrameWnd::InitialUpdateFrame

Rufen Sie IntitialUpdateFrame nach dem Erstellen eines neuen Frames mit Create.

void InitialUpdateFrame(
    CDocument* pDoc,
    BOOL bMakeVisible);

Parameter

pDoc
Verweist auf das Dokument, dem das Rahmenfenster zugeordnet ist. Kann NULL sein.

bMakeVisible
Wenn TRUE, gibt an, dass der Frame sichtbar und aktiv werden soll. Wenn FALSE, werden keine Nachfolger sichtbar gemacht.

Hinweise

Dies bewirkt, dass alle Ansichten in diesem Framefenster ihre OnInitialUpdate Anrufe empfangen.

Wenn zuvor keine aktive Ansicht vorhanden war, wird auch die primäre Ansicht des Framefensters aktiviert. Die primäre Ansicht ist eine Ansicht mit einer untergeordneten ID von AFX_IDW_PANE_FIRST. Schließlich wird das Rahmenfenster sichtbar gemacht, wenn bMakeVisible es sich nicht um Einenzero handelt. Wenn bMakeVisible 0 ist, wird der aktuelle Fokus und der sichtbare Zustand des Framefensters unverändert Standard. Es ist nicht erforderlich, diese Funktion bei Verwendung der Implementierung von File New und File Open des Frameworks aufzurufen.

CFrameWnd::InModalState

Rufen Sie diese Memberfunktion auf, um zu überprüfen, ob ein Framefenster modal oder moduslos ist.

BOOL InModalState() const;

Rückgabewert

Nonzero wenn ja; andernfalls 0.

CFrameWnd::IsTracking

Rufen Sie diese Memberfunktion auf, um zu ermitteln, ob die Teilerleiste im Fenster zurzeit verschoben wird.

BOOL IsTracking() const;

Rückgabewert

Nonzero, wenn ein Splittervorgang ausgeführt wird; andernfalls 0.

CFrameWnd::LoadAccelTable

Aufrufen, um die angegebene Zugriffstastentabelle zu laden.

BOOL LoadAccelTable(LPCTSTR lpszResourceName);

Parameter

lpszResourceName
Gibt den Namen der Zugriffstastenressource an. Verwenden Sie MAKEINTRESOURCE diese Eigenschaft, wenn die Ressource mit einer ganzzahligen ID identifiziert wird.

Rückgabewert

Nonzero, wenn die Zugriffstastentabelle erfolgreich geladen wurde; andernfalls 0.

Hinweise

Es kann jeweils nur eine Tabelle geladen werden.

Zugriffstastentabellen, die aus Ressourcen geladen werden, werden automatisch freigegeben, wenn die Anwendung beendet wird.

Wenn Sie zum Erstellen des Framefensters aufrufen LoadFrame , lädt das Framework eine Zugriffstastentabelle zusammen mit den Menü- und Symbolressourcen, und ein anschließender Aufruf dieser Memberfunktion ist dann unnötig.

CFrameWnd::LoadBarState

Rufen Sie diese Funktion auf, um die Einstellungen der einzelnen Steuerelementleisten im Besitz des Framefensters wiederherzustellen.

void LoadBarState(LPCTSTR lpszProfileName);

Parameter

lpszProfileName
Name eines Abschnitts in der Initialisierungsdatei (INI) oder eines Schlüssels in der Windows-Registrierung, in dem Statusinformationen gespeichert werden.

Hinweise

Wiederhergestellte Informationen umfassen Sichtbarkeit, horizontale/vertikale Ausrichtung, Andockzustand und Steuerleistenposition.

Die Einstellungen, die Sie wiederherstellen möchten, müssen vor dem Aufrufen LoadBarStatein die Registrierung geschrieben werden. Schreiben Sie die Informationen durch Aufrufen CWinApp::SetRegistryKeyder Informationen in die Registrierung. Schreiben Sie die Informationen durch Aufrufen SaveBarStateder INI-Datei in die INI-Datei.

CFrameWnd::LoadFrame

Aufrufen, um ein Framefenster dynamisch aus Ressourceninformationen zu erstellen.

virtual BOOL LoadFrame(
    UINT nIDResource,
    DWORD dwDefaultStyle = WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE,
    CWnd* pParentWnd = NULL,
    CCreateContext* pContext = NULL);

Parameter

nIDResource
Die ID der freigegebenen Ressourcen, die dem Framefenster zugeordnet sind.

dwDefaultStyle
Formatvorlage des Rahmens. Fügen Sie die FWS_ADDTOTITLE Formatvorlage hinzu, wenn die Titelleiste automatisch den Namen des im Fenster dargestellten Dokuments anzeigen soll.

pParentWnd
Ein Zeiger auf das übergeordnete Element des Frames.

pContext
Ein Zeiger auf eine CCreateContext Struktur. Dieser Parameter kann NULL sein.

Hinweise

Erstellen Sie ein CFrameWnd Objekt in zwei Schritten. Rufen Sie zuerst den Konstruktor auf, der das CFrameWnd Objekt erstellt, und rufen Sie dann auf LoadFrame, wodurch das Windows-Framefenster und die zugehörigen Ressourcen geladen und das Framefenster an das CFrameWnd Objekt angefügt wird. Der nIDResource Parameter gibt das Menü, die Zugriffstastentabelle, das Symbol und die Zeichenfolgenressource des Titels für das Framefenster an.

Verwenden Sie die Create Memberfunktion, anstatt LoadFrame alle Erstellungsparameter des Framefensters anzugeben.

Das Framework ruft LoadFrame auf, wenn ein Framefenster mithilfe eines Dokumentvorlagenobjekts erstellt wird.

Das Framework verwendet das pContext Argument, um die Objekte anzugeben, die mit dem Rahmenfenster verbunden werden sollen, einschließlich aller enthaltenen Ansichtsobjekte. Sie können das pContext Argument NULL festlegen, wenn Sie aufrufen LoadFrame.

CFrameWnd::m_bAutoMenuEnable

Wenn dieses Datenelement aktiviert ist (dies ist die Standardeinstellung), werden Menüelemente, die nicht über ON_UPDATE_COMMAND_UION_COMMAND oder Handler verfügen, automatisch deaktiviert, wenn der Benutzer ein Menü herunterzieht.

BOOL m_bAutoMenuEnable;

Hinweise

Menüelemente mit einem ON_COMMAND Handler, aber kein ON_UPDATE_COMMAND_UI Handler wird automatisch aktiviert.

Wenn dieses Datenelement festgelegt ist, werden Menüelemente automatisch auf die gleiche Weise aktiviert wie Symbolleistenschaltflächen.

Hinweis

m_bAutoMenuEnable hat keine Auswirkung auf Menüelemente der obersten Ebene.

Dieses Datenelement vereinfacht die Implementierung optionaler Befehle basierend auf der aktuellen Auswahl und reduziert die Notwendigkeit, Handler zum Aktivieren und Deaktivieren von Menüelementen zu schreiben ON_UPDATE_COMMAND_UI .

Beispiel

// CMainFrame is application-defined object of type CFrameWnd
CMainFrame::CMainFrame()
    : m_hDrawMenu(NULL), m_hDrawAccel(NULL), m_bCheck(false), m_nWindowTimer(0), m_nCallbackTimer(0)
{
   // Set to FALSE so no ON_UPDATE_COMMAND_UI
   // or ON_COMMAND handlers are needed, and
   // CMenu::EnableMenuItem() will work as expected.
   m_bAutoMenuEnable = FALSE;
}

CFrameWnd::NegotiateBorderSpace

Rufen Sie diese Memberfunktion auf, um den Rahmenbereich in einem Rahmenfenster während der OLE-Inplaceaktivierung auszuhandeln.

virtual BOOL NegotiateBorderSpace(
    UINT nBorderCmd,
    LPRECT lpRectBorder);

Parameter

nBorderCmd
Enthält einen der folgenden Werte aus dem enum BorderCmd:

  • borderGet = 1

  • borderRequest = 2

  • borderSet = 3

lpRectBorder
Zeigen Sie auf eine RECT Struktur oder ein CRect Objekt, das die Koordinaten des Rahmens angibt.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Diese Memberfunktion ist die CFrameWnd Implementierung der OLE-Rahmenabstandsverhandlung.

CFrameWnd::OnBarCheck

Wird immer aufgerufen, wenn eine Aktion auf der angegebenen Steuerelementleiste ausgeführt wird.

afx_msg BOOL OnBarCheck(UINT nID);

Parameter

nID
Die ID der angezeigten Steuerelementleiste.

Rückgabewert

Nonzero, wenn die Steuerleiste vorhanden ist; andernfalls 0.

CFrameWnd::OnContextHelp

Behandelt die UMSCHALT+F1-Hilfe für direkte Elemente.

afx_msg void OnContextHelp();

Hinweise

Um kontextbezogene Hilfe zu aktivieren, müssen Sie eine

ON_COMMAND(ID_CONTEXT_HELP, &CMainFrame::OnContextHelp)

-Anweisung zu Ihrer CFrameWnd Klassennachrichtenzuordnung und fügen sie außerdem einen Zugriffstastentabelleneintrag hinzu, in der Regel UMSCHALT+F1, um diese Memberfunktion zu aktivieren.

Wenn Ihre Anwendung ein OLE-Container ist, OnContextHelp werden alle im Framefensterobjekt enthaltenen Elemente in den Hilfemodus versetzt. Der Cursor wechselt zu einem Pfeil und einem Fragezeichen, und der Benutzer kann dann den Mauszeiger bewegen und die linke Maustaste drücken, um ein Dialogfeld, ein Fenster, ein Menü oder eine Befehlsschaltfläche auszuwählen. Diese Memberfunktion ruft die Windows-Funktion WinHelp mit dem Hilfekontext des Objekts unter dem Cursor auf.

CFrameWnd::OnCreateClient

Aufgerufen durch das Framework während der Ausführung von OnCreate.

virtual BOOL OnCreateClient(
    LPCREATESTRUCT lpcs,
    CCreateContext* pContext);

Parameter

lpcs
Ein Zeiger auf eine Windows-Struktur CREATESTRUCT .

pContext
Ein Zeiger auf eine CCreateContext Struktur.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Rufen Sie diese Funktion niemals auf.

Die Standardimplementierung dieser Funktion erstellt ein CView Objekt aus den informationen, die in pContext, sofern möglich, bereitgestellt werden.

Überschreiben Sie diese Funktion, um werte zu überschreiben, die CCreateContext im Objekt übergeben werden, oder um die Art und Weise zu ändern, wie Steuerelemente im Standard Clientbereich des Framefensters erstellt werden. Die CCreateContext Member, die Sie außer Kraft setzen können, werden in der CCreateContext Klasse beschrieben.

Hinweis

Ersetzen Sie die in der CREATESTRUCT Struktur übergebenen Werte nicht. Sie dienen nur zur Informationsverwendung. Wenn Sie das anfängliche Fensterrechteck überschreiben möchten, z. B. überschreiben Sie die CWnd Memberfunktion PreCreateWindow.

CFrameWnd::OnHideMenuBar

Diese Funktion wird aufgerufen, wenn das System die Menüleiste in der aktuellen MFC-Anwendung ausblenden soll.

virtual void OnHideMenuBar();

Hinweise

Mit diesem Ereignishandler kann Ihre Anwendung benutzerdefinierte Aktionen ausführen, wenn das System das Menü ausblenden soll. Sie können nicht verhindern, dass das Menü ausgeblendet wird, sie können jedoch beispielsweise andere Methoden aufrufen, um das Menüformat oder den Zustand abzurufen.

CFrameWnd::OnSetPreviewMode

Rufen Sie diese Memberfunktion auf, um für das Hauptrahmenfenster den Seitenansichtmodus zu aktivieren oder zu deaktivieren.

virtual void OnSetPreviewMode(
    BOOL bPreview,
    CPrintPreviewState* pState);

Parameter

bPreview
Gibt an, ob die Anwendung im Druckvorschaumodus platziert werden soll. Legen Sie fest, dass TRUE sie in der Seitenansicht platziert werden soll, FALSE um den Vorschaumodus abzubrechen.

pState
Ein Zeiger auf eine CPrintPreviewState Struktur.

Hinweise

Die Standardimplementierung deaktiviert alle Standardsymbolleisten und blendet das menü Standard und das Standard Clientfenster aus. Dadurch werden MDI-Framefenster in temporäre SDI-Framefenster umgewandelt.

Überschreiben Sie diese Memberfunktion, um das Ausblenden und Anzeigen von Steuerleisten und anderen Rahmenfensterteilen während der Seitenansicht anzupassen. Rufen Sie die Basisklassenimplementierung innerhalb der überschriebenen Version auf.

CFrameWnd::OnShowMenuBar

Diese Funktion wird aufgerufen, wenn das System die Menüleiste in der aktuellen MFC-Anwendung anzeigt.

virtual void OnShowMenuBar();

Hinweise

Mit diesem Ereignishandler kann Ihre Anwendung benutzerdefinierte Aktionen ausführen, wenn das Menü angezeigt werden soll. Sie können nicht verhindern, dass das Menü angezeigt wird, sie können jedoch beispielsweise andere Methoden aufrufen, um das Menüformat oder den Zustand abzurufen.

CFrameWnd::OnUpdateControlBarMenu

Wird vom Framework aufgerufen, wenn das zugeordnete Menü aktualisiert wird.

afx_msg void OnUpdateControlBarMenu(CCmdUI* pCmdUI);

Parameter

pCmdUI
Ein Zeiger auf ein CCmdUI Objekt, das das Menü darstellt, das den Aktualisierungsbefehl generiert hat. Der Updatehandler ruft die Enable Memberfunktion des CCmdUI Objekts auf pCmdUI , um die Benutzeroberfläche zu aktualisieren.

CFrameWnd::RecalcLayout

Wird vom Framework aufgerufen, wenn die Standardsteuerelementleisten ein- oder ausgeschaltet werden oder wenn die Größe des Rahmenfensters geändert wird.

virtual void RecalcLayout(BOOL bNotify = TRUE);

Parameter

bNotify
Bestimmt, ob das aktive direkte Element für das Framefenster eine Benachrichtigung über die Layoutänderung erhält. Wenn TRUEdas Element benachrichtigt wird; andernfalls FALSE.

Hinweise

Die Standardimplementierung dieser Memberfunktion ruft die CWnd Memberfunktion RepositionBars auf, um alle Steuerleisten im Frame sowie im Standard Clientfenster (in der Regel a CView oder MDICLIENT) neu zu positionieren.

Überschreiben Sie diese Memberfunktion, um die Darstellung und das Verhalten von Steuerleisten zu steuern, nachdem sich das Layout des Rahmenfensters geändert hat. Rufen Sie sie beispielsweise auf, wenn Sie die Steuerleisten ein- oder ausschalten oder eine weitere Steuerelementleiste hinzufügen.

CFrameWnd::rectDefault

Übergeben Sie diese Statische CRect als Parameter, wenn Sie ein Fenster erstellen, damit Windows die anfängliche Größe und Position des Fensters auswählen kann.

static AFX_DATA const CRect rectDefault;

CFrameWnd::SaveBarState

Rufen Sie diese Funktion auf, um Informationen zu den einzelnen Steuerelementleisten im Besitz des Framefensters zu speichern.

void SaveBarState(LPCTSTR lpszProfileName) const;

Parameter

lpszProfileName
Name eines Abschnitts in der Initialisierungsdatei oder eines Schlüssels in der Windows-Registrierung, in dem Statusinformationen gespeichert sind.

Hinweise

Diese Informationen können mithilfe der Initialisierungsdatei LoadBarStategelesen werden. Gespeicherte Informationen umfassen Sichtbarkeit, horizontale/vertikale Ausrichtung, Andockzustand und Steuerungsleistenposition.

CFrameWnd::SetActivePreviewView

Legt die angegebene Ansicht als aktive Ansicht für Rich Preview fest.

void SetActivePreviewView(CView* pViewNew);

Parameter

pViewNew
Ein Zeiger auf eine zu aktivierende Ansicht.

Hinweise

CFrameWnd::SetActiveView

Rufen Sie diese Memberfunktion auf, um die aktive Ansicht festzulegen.

void SetActiveView(
    CView* pViewNew,
    BOOL bNotify = TRUE);

Parameter

pViewNew
Gibt einen Zeiger auf ein CView Objekt oder NULL für keine aktive Ansicht an.

bNotify
Gibt an, ob die Ansicht über die Aktivierung benachrichtigt werden soll. Wenn TRUE, OnActivateView wird für die neue Ansicht aufgerufen; wenn FALSE, ist dies nicht.

Hinweise

Das Framework ruft diese Funktion automatisch auf, wenn der Benutzer den Fokus in eine Ansicht innerhalb des Framefensters ändert. Sie können explizit aufrufen SetActiveView , um den Fokus in die angegebene Ansicht zu ändern.

CFrameWnd::SetDockState

Rufen Sie diese Memberfunktion auf, um Zustandsinformationen anzuwenden, die in einem CDockState Objekt auf die Steuerleisten des Framefensters gespeichert sind.

void SetDockState(const CDockState& state);

Parameter

state
Wenden Sie den gespeicherten Zustand auf die Steuerleisten des Rahmenfensters an.

Hinweise

Um einen vorherigen Zustand der Steuerleisten wiederherzustellen, können Sie den gespeicherten Zustand mit CDockState::LoadState oder Serializeverwenden SetDockState , um ihn auf die Steuerleisten des Rahmenfensters anzuwenden. Der vorherige Zustand wird im CDockState Objekt gespeichert mit GetDockState

CFrameWnd::SetMenuBarState

Legt den Anzeigezustand des Menüs in der aktuellen MFC-Anwendung auf ausgeblendet oder angezeigt fest.

virtual BOOL SetMenuBarState(DWORD nState);

Parameter

nState
[in] Gibt an, ob das Menü angezeigt oder ausgeblendet werden soll. Der nState Parameter kann die folgenden Werte haben:

  • AFX_MBS_VISIBLE (0x01) – Zeigt das Menü an, wenn es ausgeblendet ist, hat aber keine Auswirkung, wenn es sichtbar ist.
  • AFX_MBS_HIDDEN (0x02) – Blendet das Menü aus, wenn es sichtbar ist, hat aber keine Auswirkung, wenn es ausgeblendet ist.

Rückgabewert

TRUEwenn diese Methode erfolgreich den Menüzustand ändert; andernfalls . FALSE

Hinweise

Wenn ein Laufzeitfehler auftritt, bestätigt diese Methode im Debugmodus und löst eine Ausnahme aus, die von der CException Klasse abgeleitet wurde.

CFrameWnd::SetMenuBarVisibility

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

virtual void SetMenuBarVisibility(DWORD nStyle);

Parameter

nStyle
[in] Gibt an, ob das Menü standardmäßig ausgeblendet ist oder sichtbar ist und den Fokus hat. Der nStyle Parameter kann die folgenden Werte haben:

  • AFX_MBV_KEEPVISIBLE (0x01) – Das Menü wird immer angezeigt, und standardmäßig ist der Fokus nicht vorhanden.

  • AFX_MBV_DISPLAYONFOCUS (0x02) – Das Menü ist standardmäßig ausgeblendet. Wenn das Menü ausgeblendet ist, drücken Sie die ALT-TASTE, um das Menü anzuzeigen, und geben Sie ihm den Fokus. Wenn das Menü angezeigt wird, drücken Sie ALT oder ESC, um das Menü auszublenden.

  • AFX_MBV_DISPLAYONFOCUS | AFX_MBV_DISPLAYONF10 (0x06) – Das Menü ist standardmäßig ausgeblendet. Wenn das Menü ausgeblendet ist, drücken Sie F10, um das Menü anzuzeigen, und geben Sie ihm den Fokus. Wenn das Menü angezeigt wird, drücken Sie F10, um den Fokus auf oder aus dem Menü zu setzen. Das Menü wird angezeigt, bis Sie alt oder ESC drücken, um es auszublenden.

Hinweise

Wenn der Wert des nStyle Parameters ungültig ist, wird diese Methode im Debugmodus bestätigt und im Releasemodus ausgelöst CInvalidArgException . Bei anderen Laufzeitfehlern bestätigt diese Methode den Debugmodus und löst eine ausnahme aus der CException Klasse abgeleitete Ausnahme aus.

Diese Methode wirkt sich auf den Zustand von Menüs in Anwendungen aus, die für Windows Vista und höher geschrieben wurden.

CFrameWnd::SetMessageText

Rufen Sie diese Funktion auf, um eine Zeichenfolge im Statusleistenbereich mit einer ID von 0 zu platzieren.

void SetMessageText(LPCTSTR lpszText);
void SetMessageText(UINT nID);

Parameter

lpszText
Verweist auf die Zeichenfolge, die auf der Statusleiste platziert werden soll.

nID
Zeichenfolgenressourcen-ID der Zeichenfolge, die auf der Statusleiste platziert werden soll.

Hinweise

Dies ist in der Regel der äußerst linke und längste Bereich der Statusleiste.

CFrameWnd::SetProgressBarPosition

Legt die aktuelle Position für die Auf der Taskleiste angezeigte Windows 7-Statusleiste fest.

void SetProgressBarPosition(int nProgressPos);

Parameter

nProgressPos
Gibt die festzulegende Position an. Er muss innerhalb des bereichs liegen, der von SetProgressBarRange.

Hinweise

CFrameWnd::SetProgressBarRange

Legt den Bereich für die Auf der Taskleiste angezeigte Windows 7-Statusleiste fest.

void SetProgressBarRange(
    int nRangeMin,
    int nRangeMax);

Parameter

nRangeMin
Minimaler Wert.

nRangeMax
Maximalwert.

Hinweise

CFrameWnd::SetProgressBarState

Legt den Typ und den Status der Statusanzeige fest, die auf einer Taskleistenschaltfläche angezeigt wird.

void SetProgressBarState(TBPFLAG tbpFlags);

Parameter

tbpFlags
Flags, die den aktuellen Status der Statusschaltfläche steuern. Geben Sie nur eine der folgenden Flags an, da sich alle Zustände gegenseitig ausschließen: TBPF_NOPROGRESS, , TBPF_INDETERMINATE, TBPF_NORMAL, . TBPF_ERRORTBPF_PAUSED.

Hinweise

CFrameWnd::SetTaskbarOverlayIcon

Überladen. Wendet eine Überlagerung auf eine Taskleistenschaltfläche an, um den Anwendungsstatus anzugeben oder den Benutzer zu benachrichtigen.

BOOL SetTaskbarOverlayIcon(
    UINT nIDResource,
    LPCTSTR lpcszDescr);

BOOL SetTaskbarOverlayIcon(
    HICON hIcon,
    LPCTSTR lpcszDescr);

Parameter

nIDResource
Gibt die Ressourcen-ID eines Symbols an, das als Überlagerung verwendet werden soll. Ausführliche Informationen finden Sie in der Beschreibung hIcon .

lpcszDescr
Ein Zeiger auf eine Zeichenfolge, die eine Alternativtextversion der informationen bereitstellt, die von der Überlagerung übermittelt werden, zu Barrierefreiheitszwecken.

hIcon
Das Handle eines Symbols, das als Überlagerung verwendet werden soll. Dies sollte ein kleines Symbol sein, das 16 x 16 Pixel bei 96 Punkten pro Zoll (dpi) misst. Wenn bereits ein Überlagerungssymbol auf die Taskleistenschaltfläche angewendet wird, wird diese vorhandene Überlagerung ersetzt. Dieser Wert kann NULL sein. Wie ein NULL Wert behandelt wird, hängt davon ab, ob die Taskleistenschaltfläche ein einzelnes Fenster oder eine Gruppe von Fenstern darstellt. Es liegt in der Verantwortung der aufrufenden Anwendung, die kostenlos hIcon ist, wenn sie nicht mehr benötigt wird.

Rückgabewert

TRUE wenn erfolgreich; FALSE wenn die Betriebssystemversion kleiner als Windows 7 ist oder ein Fehler auftritt, wird das Symbol festgelegt.

Hinweise

CFrameWnd::SetTitle

Legt den Titel des Fensterobjekts fest.

void SetTitle(LPCTSTR lpszTitle);

Parameter

lpszTitle
Ein Zeiger auf eine Zeichenfolge, die den Titel des Fensterobjekts enthält.

CFrameWnd::ShowControlBar

Rufen Sie diese Memberfunktion auf, um die Steuerleiste ein- oder auszublenden.

void ShowControlBar(
    CControlBar* pBar,
    BOOL bShow,
    BOOL bDelay);

Parameter

pBar
Zeigen Sie auf die Steuerelementleiste, die angezeigt oder ausgeblendet werden soll.

bShow
Gibt TRUEan, dass die Steuerelementleiste angezeigt werden soll. Gibt FALSEan, dass die Steuerelementleiste ausgeblendet werden soll.

bDelay
If TRUE, delay showing the control bar. Wenn FALSE, zeigen Sie die Steuerelementleiste sofort an.

CFrameWnd::ShowOwnedWindows

Rufen Sie diese Memberfunktion auf, um alle Fenster anzuzeigen, die untergeordnete Elemente des CFrameWnd Objekts sind.

void ShowOwnedWindows(BOOL bShow);

Parameter

bShow
Gibt an, ob die fenstereigenen Fenster ein- oder ausgeblendet werden sollen.

Siehe auch

CWnd Klasse
Hierarchiediagramm
CWnd Klasse
CMDIFrameWnd Klasse
CMDIChildWnd Klasse
CView Klasse
CDocTemplate Klasse
CRuntimeClass Struktur