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 Hauptframefenster der Anwendung in den 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 Hauptfenster 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 LoadFrame
mehrere Create
Aufrufe ausführen, müssen Sie das Framefensterobjekt im Heap mithilfe des C++new
-Operators erstellen. Vor dem Aufrufen Create
kö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.
LoadFrame
erfordert weniger Argumente als Create
, und ruft stattdessen die meisten Standardwerte aus Ressourcen ab, einschließlich der Beschriftung, des Symbols, der Zugriffstastentabelle und des Menüs des Frames. Um auf LoadFrame
diese 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, um die folgenden Funktionen eines Hauptfensters in einer typischen Anwendung für Windows auszuführen:
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 AufrufenCView::OnActivateView
benachrichtigt.Befehlsnachrichten und viele allgemeine Framebenachrichtigungen, einschließlich derjenigen, die von den
OnSetFocus
Funktionen von ,OnHScroll
undOnVScroll
vonCWnd
denen behandelt werden, werden von einemCFrameWnd
Framefenster an die aktuell aktive Ansicht delegiert.Die derzeit aktive Ansicht (oder derzeit aktive untergeordnete MDI-Framefenster im Fall eines MDI-Frames) kann die Beschriftung des Rahmenfensters 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. EinCFrameWnd
Framefenster verfügt außerdem über Standardimplementierungen von Befehlen zum Ein- und Ausschalten der Symbolleiste und Statusleiste.Ein
CFrameWnd
Rahmenfenster verwaltet die Hauptmenüleiste. Wenn ein Popupmenü angezeigt wird, verwendet das Framefenster denUPDATE_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, dieLoadFrame
für kontextbezogene Hilfe verwendet wird. Ein Framefenster ist der Haupt-Orchestrator von semimodalen Zuständen wie kontextabhängiger 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 dieShellExecute
Windows-Funktion aufgerufen wird.Wenn das Framefenster das Hauptanwendungsfenster ist (d. r.,
CWinThread::m_pMainWnd
), wenn der Benutzer die Anwendung schließt, fordert das Framefenster den Benutzer auf, alle geänderten Dokumente (fürOnClose
undOnQueryEndSession
) zu speichern.Wenn das Rahmenfenster das Hauptanwendungsfenster 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 CFrameWnd
Sie unter Frame Windows.
Vererbungshierarchie
CFrameWnd
Anforderungen
Header: afxwin.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::ShowWindow
soll. 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 Hauptframefenster 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 nCmdShow
Aufschrift 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 CView
innerhalb eines Frames abgeleitet sind. Nach dem Aufrufen CreateView
mü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 nDockBarID
bestimmt.
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
Ein Beispiel hierfür finden Sie unter 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ück NULL
, wenn für ein MDI-Hauptrahmenfenster ( CMDIFrameWnd
) aufgerufen wird. In einer MDI-Anwendung verfügt das MDI-Hauptframefenster nicht über eine Ansicht, die ihr zugeordnet ist. 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, bleibt der aktuelle Fokus und der sichtbare Zustand des Framefensters unverändert. 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 LoadBarState
in die Registrierung geschrieben werden. Schreiben Sie die Informationen durch Aufrufen CWinApp::SetRegistryKey
der Informationen in die Registrierung. Schreiben Sie die Informationen durch Aufrufen SaveBarState
der 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_UI
ON_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
= 1borderRequest
= 2borderSet
= 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 Hauptclientbereich 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 Hauptmenü und das Hauptclientfenster 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 TRUE
das Element benachrichtigt wird; andernfalls FALSE
.
Hinweise
Die Standardimplementierung dieser Memberfunktion ruft die CWnd
Memberfunktion RepositionBars
auf, um alle Steuerleisten im Frame sowie im Hauptclientfenster (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 LoadBarState
gelesen 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 Serialize
verwenden 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
TRUE
wenn 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_ERROR
TBPF_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 TRUE
an, dass die Steuerelementleiste angezeigt werden soll. Gibt FALSE
an, 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