CMDIFrameWndEx-Klasse

Erweitert die Funktionalität eines CMDIFrameWndWindows Multiple Document Interface (MDI)-Framefensters.

Syntax

class CMDIFrameWndEx : public CMDIFrameWnd

Member

Öffentliche Methoden

Name Beschreibung
CMDIFrameWndEx::ActiveItemRecalcLayout Berechnet das Layout des aktiven Elements neu.
CMDIFrameWndEx::AddDockSite Diese Methode wird nicht verwendet.
CMDIFrameWndEx::AddPane Registriert einen Bereich mit dem Andock-Manager.
CMDIFrameWndEx::AdjustClientArea Reduziert den Clientbereich, um einen Rahmen zu ermöglichen.
CMDIFrameWndEx::AdjustDockingLayout Berechnet das Layout aller angedockten Bereiche neu.
CMDIFrameWndEx::AreMDITabs Bestimmt, ob das Feature "MDI-Registerkarten" oder das Feature "MDI-Registerkartengruppen" aktiviert ist.
CMDIFrameWndEx::CanConvertControlBarToMDIChild Wird vom Framework aufgerufen, um zu bestimmen, ob das Framefenster Andockbereiche in Dokumente im Registerkartenformat konvertieren kann.
CMDIFrameWndEx::ControlBarToTabbedDocument Konvertiert den angegebenen Andockbereich in ein Dokument im Registerkartenformat.
CMDIFrameWndEx::CreateDocumentWindow Erstellt ein untergeordnetes Dokumentfenster.
CMDIFrameWndEx::CreateNewWindow Vom Framework aufgerufen, um ein neues Fenster zu erstellen.
CMDIFrameWndEx::CreateObject Wird vom Framework verwendet, um eine dynamische Instanz dieses Klassentyps zu erstellen.
CMDIFrameWndEx::DockPane Dockt den angegebenen Bereich an das Rahmenfenster an.
CMDIFrameWndEx::DockPaneLeftOf Dockt einen Bereich auf der linken Seite eines anderen Bereichs an.
CMDIFrameWndEx::EnableAutoHidePanes Aktiviert den Modus "Automatisches Ausblenden" für Bereiche, wenn sie an angegebenen Seiten des Standard Rahmenfensters angedockt sind.
CMDIFrameWndEx::EnableDocking Aktiviert das Andocken der Bereiche, die zum MDI-Rahmenfenster gehören.
CMDIFrameWndEx::EnableFullScreenMainMenu Blendet das menü Standard im Vollbildmodus ein oder aus.
CMDIFrameWndEx::EnableFullScreenMode Aktiviert den Vollbildmodus für das Framefenster.
CMDIFrameWndEx::EnableLoadDockState Aktiviert oder deaktiviert das Laden des Andockzustands.
CMDIFrameWndEx::EnableMDITabbedGroups Aktiviert oder deaktiviert das Feature "MDI-Registerkartengruppen".
CMDIFrameWndEx::EnableMDITabs Aktiviert oder deaktiviert das Feature "MDI-Registerkarten". Wenn diese Option aktiviert ist, zeigt das Rahmenfenster für jedes untergeordnete MDI-Fenster eine Registerkarte an.
CMDIFrameWndEx::EnableMDITabsLastActiveActivation Gibt an, ob die letzte aktive Registerkarte aktiviert werden soll, wenn der Benutzer die aktuelle Registerkarte schließt.
CMDIFrameWndEx::EnablePaneMenu Aktiviert oder deaktiviert die automatische Erstellung und Verwaltung des Popupbereichmenüs, das eine Liste von Anwendungsbereichen anzeigt.
CMDIFrameWndEx::EnableWindowsDialog Fügt ein Menüelement ein, dessen Befehls-ID ein CMFCWindowsManagerDialog Dialogfeld aufruft.
CMDIFrameWndEx::GetActivePopup Gibt einen Zeiger auf das aktuell angezeigte Popupmenü zurück.
CMDIFrameWndEx::GetPane Gibt einen Zeiger auf den Bereich zurück, der die angegebene Steuerelement-ID aufweist.
CMDIFrameWndEx::GetDefaultResId Gibt die ID der freigegebenen Ressourcen des MDI-Framefensters zurück.
CMDIFrameWndEx::GetMDITabGroups Gibt eine Liste der MDI-Registerkartenfenster zurück.
CMDIFrameWndEx::GetMDITabs Gibt einen Verweis auf das unterstrichene Registerkartenfenster zurück.
CMDIFrameWndEx::GetMDITabsContextMenuAllowedItems Gibt eine Kombination von Flags zurück, die bestimmt, welche Kontextmenüelemente gültig sind, wenn das Feature "MDI-Registerkartengruppen" aktiviert ist.
CMDIFrameWndEx::GetMenuBar Gibt einen Zeiger auf ein Menüleistenobjekt zurück, das an das Rahmenfenster angefügt ist.
CMDIFrameWndEx::GetRibbonBar Ruft das Menübandleisten-Steuerelement für den Frame ab.
CMDIFrameWndEx::GetTearOffBars Gibt eine Liste von CPaneabgeleiteten Objekten zurück, die sich in einem Abbruchzustand befinden.
CMDIFrameWndEx::GetThisClass Vom Framework aufgerufen, um einen Zeiger auf das CRuntimeClass Objekt abzurufen, das diesem Klassentyp zugeordnet ist.
CMDIFrameWndEx::GetToolbarButtonToolTipText Wird vom Framework aufgerufen, wenn die Anwendung die QuickInfo für eine Symbolleistenschaltfläche anzeigt.
CMDIFrameWndEx::InsertPane Registriert den angegebenen Bereich mit dem Docking-Manager.
CMDIFrameWndEx::IsFullScreen Bestimmt, ob sich das Framefenster im Vollbildmodus befindet.
CMDIFrameWndEx::IsMDITabbedGroup Bestimmt, ob das Feature "MDI-Registerkartengruppen" aktiviert ist.
CMDIFrameWndEx::IsMemberOfMDITabGroup Bestimmt, ob sich das angegebene Fenster im Registerkartenformat in der Liste der Fenster befindet, die sich in MDI-Registerkartengruppen befinden.
CMDIFrameWndEx::IsMenuBarAvailable Bestimmt, ob das Rahmenfenster über eine Menüleiste verfügt.
CMDIFrameWndEx::IsPointNearDockSite Bestimmt, ob sich ein angegebener Punkt in der Nähe des Dockstandorts befindet.
CMDIFrameWndEx::IsPrintPreview Bestimmt, ob sich das Framefenster im Druckvorschaumodus befindet.
CMDIFrameWndEx::LoadFrame Erstellt ein Framefenster aus Ressourceninformationen. (Überschreibt CMDIFrameWnd::LoadFrame.)
CMDIFrameWndEx::LoadMDIState Lädt das angegebene Layout von MDI-Registerkartengruppen und die Liste der zuvor geöffneten Dokumente.
CMDIFrameWndEx::MDITabMoveToNextGroup Verschiebt die aktive Registerkarte aus dem derzeit aktiven Registerkartenfenster in die nächste oder vorherige Registerkartengruppe.
CMDIFrameWndEx::MDITabNewGroup Erstellt eine neue Registerkartengruppe mit einem einzelnen Fenster.
CMDIFrameWndEx::NegotiateBorderSpace Ausgehandelt den Rahmenbereich in einem Rahmenfenster während der DIREKTEN OLE-Aktivierung.
CMDIFrameWndEx::OnCloseDockingPane Wird vom Framework aufgerufen, wenn der Benutzer auf die Schaltfläche "Schließen " in einem andockbaren Bereich klickt.
CMDIFrameWndEx::OnCloseMiniFrame Wird vom Framework aufgerufen, wenn der Benutzer auf die Schaltfläche "Schließen " in einem unverankerten Miniframefenster klickt.
CMDIFrameWndEx::OnClosePopupMenu Wird vom Framework aufgerufen, wenn ein aktives Popupmenü eine WM_DESTROY Nachricht verarbeitet.
CMDIFrameWndEx::OnCmdMsg Wird vom Framework aufgerufen, um Befehlsnachrichten weiterzuleiten und zu verteilen und Befehlsbenutzeroberflächenobjekte zu aktualisieren.
CMDIFrameWndEx::OnDrawMenuImage Wird vom Framework aufgerufen, wenn das einem Menüelement zugeordnete Bild gezeichnet wird.
CMDIFrameWndEx::OnDrawMenuLogo Wird vom Framework aufgerufen, wenn eine CMFCPopupMenuWM_PAINT Nachricht verarbeitet wird.
CMDIFrameWndEx::OnEraseMDIClientBackground Wird vom Framework aufgerufen, wenn das MDI-Framefenster eine WM_ERASEBKGND Nachricht verarbeitet.
CMDIFrameWndEx::OnMenuButtonToolHitTest Wird vom Framework aufgerufen, wenn ein CMFCToolBarButtonObjekt eine WM_NCHITTEST Nachricht verarbeitet.
CMDIFrameWndEx::OnMoveMiniFrame Vom Framework aufgerufen, um ein Miniframefenster zu verschieben.
CMDIFrameWndEx::OnSetPreviewMode Legt den Standard Framefenster-Druckvorschaumodus der Anwendung fest. (Überschreibt CFrameWnd::OnSetPreviewMode.)
CMDIFrameWndEx::OnShowCustomizePane Wird vom Framework aufgerufen, wenn ein Quick Customize-Bereich aktiviert wird.
CMDIFrameWndEx::OnShowMDITabContextMenu Wird vom Framework aufgerufen, wenn ein Kontextmenü auf einer der Registerkarten angezeigt werden soll. (Nur für MDI-Registerkartengruppen gültig.)
CMDIFrameWndEx::OnShowPanes Vom Framework aufgerufen, um Bereiche ein- oder auszublenden.
CMDIFrameWndEx::OnShowPopupMenu Wird vom Framework aufgerufen, wenn ein Popupmenü aktiviert wird.
CMDIFrameWndEx::OnSizeMDIClient Wird vom Framework aufgerufen, wenn sich die Größe des Client-MDI-Fensters ändert.
CMDIFrameWndEx::OnTearOffMenu Wird vom Framework aufgerufen, wenn ein Menü mit abtrennbarer Leiste aktiviert wird.
CMDIFrameWndEx::OnUpdateFrameMenu Wird vom Framework aufgerufen, um das Framemenü zu aktualisieren. (Überschreibt CMDIFrameWnd::OnUpdateFrameMenu.)
CMDIFrameWndEx::PaneFromPoint Gibt den Andockbereich zurück, der den angegebenen Punkt enthält.
CMDIFrameWndEx::PreTranslateMessage Wird von der Klasse CWinApp verwendet, um Fensternachrichten zu übersetzen, bevor sie an die TranslateMessage Und DispatchMessage Windows-Funktionen verteilt werden. (Überschreibt CMDIFrameWnd::PreTranslateMessage.)
CMDIFrameWndEx::RecalcLayout Wird vom Framework aufgerufen, um das Layout des Framefensters neu zu berechnen. (Überschreibt CFrameWnd::RecalcLayout.)
CMDIFrameWndEx::RemovePaneFromDockManager Hebt die Registrierung eines Bereichs auf und entfernt ihn aus dem Docking-Manager.
CMDIFrameWndEx::SaveMDIState Speichert das aktuelle Layout von MDI-Registerkartengruppen und die Liste der zuvor geöffneten Dokumente.
CMDIFrameWndEx::SetPrintPreviewFrame Legt das Fenster für den Seitenvorschaurahmen fest.
CMDIFrameWndEx::SetupToolbarMenu Ändert ein Symbolleistenobjekt durch die Suche nach Dummy-Elementen und durch das anschließende Ersetzen dieser Dummy-Elemente durch die angegebenen benutzerdefinierten Elemente.
CMDIFrameWndEx::ShowFullScreen Schaltet den Standard Frame vom normalen Modus in den Vollbildmodus um.
CMDIFrameWndEx::ShowPane Blendet den angegebenen Bereich ein oder aus.
CMDIFrameWndEx::ShowWindowsDialog Erstellt ein CMFCWindowsManagerDialog Feld und öffnet es.
CMDIFrameWndEx::TabbedDocumentToControlBar Konvertiert das angegebene Dokument im Registerkartenformat in einen Andockbereich.
CMDIFrameWndEx::UpdateCaption Wird vom Framework aufgerufen, um den Fensterrahmen Untertitel zu aktualisieren.
CMDIFrameWndEx::UpdateMDITabbedBarsIcons Legt das Symbol für jeden MDI-Registerkartenbereich fest.
CMDIFrameWndEx::WinHelp Wird vom Framework aufgerufen, um die WinHelp-Anwendung oder die Kontexthilfe zu initiieren. (Überschreibt CWnd::WinHelp.)

Datenmember

Name Beschreibung
CMDIFrameWndEx::m_bCanConvertControlBarToMDIChild Bestimmt, ob Andockbereiche in untergeordnete MDI-Fenster konvertiert werden können.
CMDIFrameWndEx::m_bDisableSetRedraw Aktiviert oder deaktiviert die Neuzeichnenoptimierung für untergeordnete MDI-Fenster.

Hinweise

Um die Vorteile erweiterter Anpassungsfeatures in Ihrer MDI-Anwendung zu nutzen, leiten Sie die MDI-Framefensterklasse der Anwendung von CMDIFrameWndEx anstelle von CMDIFrameWnd.

Beispiel

Das folgende Beispiel leitet eine Klasse von CMDIFrameWndEx. Dieser Codeausschnitt stammt aus dem DrawClient-Beispiel: MFC Ribbon-based OLE Object Drawing Application.

class CMainFrame : public CMDIFrameWndEx
{
   DECLARE_DYNAMIC(CMainFrame)
public:
   struct XStyle
   {
      COLORREF clrFill;
      COLORREF clrLine;
   };

public:
   CMainFrame();

   // Attributes
public:
   CMFCRibbonBar *GetRibbonBar() { return &m_wndRibbonBar; }

   // Operations
public:
   void UpdateUI(CDrawView *pCurrView);
   void UpdateContextTab(CDrawView *pCurrView);
   void UpdateContextTabFromObject(CDrawObjList &list);

   COLORREF GetColorFromColorButton(int nButtonID);
   int GetWeightFromLineWeight(int nButtonID);
   BOOL GetStyleFromStyles(XStyle &style);

   void SetRibbonContextCategory(UINT uiCategoryID);
   void ActivateRibbonContextCategory(UINT uiCategoryID);

   // Implementation
public:
   virtual ~CMainFrame();
#ifdef _DEBUG
   virtual void AssertValid() const;
   virtual void Dump(CDumpContext &dc) const;
#endif

protected:
   // control bar embedded members
   CMFCRibbonStatusBar m_wndStatusBar;
   CMFCRibbonBar m_wndRibbonBar;

   CMFCRibbonApplicationButton m_MainButton;

   // panel images
   CMFCToolBarImages m_PanelImages;

   // Document colors for demo:
   CList<COLORREF, COLORREF> m_lstMainColors;
   CList<COLORREF, COLORREF> m_lstAdditionalColors;
   CList<COLORREF, COLORREF> m_lstStandardColors;

   // Generated message map functions
protected:
   //{{AFX_MSG(CMainFrame)
   afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
   afx_msg void OnAppLook(UINT id);
   afx_msg void OnUpdateAppLook(CCmdUI *pCmdUI);
   afx_msg void OnWindowManager();
   afx_msg void OnMdiMoveToNextGroup();
   afx_msg void OnMdiMoveToPrevGroup();
   afx_msg void OnMdiNewHorzTabGroup();
   afx_msg void OnMdiNewVertGroup();
   afx_msg void OnMdiCancel();
   afx_msg LRESULT OnRibbonCustomize(WPARAM wp, LPARAM lp);
   afx_msg LRESULT OnHighlightRibbonListItem(WPARAM wp, LPARAM lp);
   afx_msg void OnToolsOptions();
   afx_msg void OnDummy();
   afx_msg void OnSysColorChange();
   //}}AFX_MSG

   DECLARE_MESSAGE_MAP()

   virtual BOOL OnShowMDITabContextMenu(CPoint point, DWORD dwAllowedItems, BOOL bDrop);
   virtual BOOL OnShowPopupMenu(CMFCPopupMenu *pMenuPopup);

   void ShowOptions(int nPage);
   void CreateDocumentColors();

private:
   BOOL CreateRibbonBar();
   BOOL CreateStatusBar();

   void InitMainButton();
   void InitHomeCategory();
   void InitViewCategory();
   void InitTabButtons();

   void AddContextTab_Format();

   void AdjustObjectSubmenu(CMFCPopupMenu *pMenuPopup);
   void UpdateStatusBarCountPane(int nID, CString strText, int nCount);

   UINT m_nAppLook;
};

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CFrameWnd

CMDIFrameWnd

CMDIFrameWndEx

Anforderungen

HeaderafxMDIFrameWndEx.h:

CMDIFrameWndEx::ActiveItemRecalcLayout

Berechnet das Layout des aktiven Elements neu.

void ActiveItemRecalcLayout();

CMDIFrameWndEx::AddPane

Registriert einen Bereich mit dem Andock-Manager.

BOOL AddPane(
    CBasePane* pControlBar,
    BOOL bTail=TRUE);

Parameter

pControlBar
[in] Zeigen Sie auf den Bereich, der registriert werden soll.

bTail
[in] Gibt an, ob dieser Bereich am Ende der Liste hinzugefügt werden soll.

Rückgabewert

Gibt einen Wert ungleich Null zurück, wenn der Bereich erfolgreich registriert wurde. Gibt 0 zurück, wenn der Bereich bereits beim Docking-Manager registriert ist.

Hinweise

Jeder Bereich muss bei der CDockingManager Klasse registriert werden, bevor er an dem Andocklayout teilnehmen kann. Verwenden Sie diese Methode, um den Docking-Manager zu benachrichtigen, dass Sie einen bestimmten Bereich andocken möchten. Nachdem dieser Bereich registriert wurde, richtet der Andock-Manager ihn basierend auf seiner Ausrichtungseinstellung und -position in der Liste der Bereiche aus, die vom Andock-Manager Standard enthalten sind.

CMDIFrameWndEx::AdjustClientArea

Reduziert den Clientbereich, um einen Rahmen zu ermöglichen.

virtual void AdjustClientArea();

CMDIFrameWndEx::AdjustDockingLayout

Berechnet das Layout aller angedockten Bereiche neu.

virtual void AdjustDockingLayout(HDWP hdwp=NULL);

Parameter

hdwp
[in] Identifiziert die Struktur mit mehreren Fenstern. Sie können diesen Wert durch Aufrufen abrufen BeginDeferWindowPos.

Hinweise

Rufen Sie diese Memberfunktion auf, um das Layout aller Bereiche neu zu berechnen, die an das Framefenster angedockt sind.

CMDIFrameWndEx::AreMDITabs

Bestimmt, ob das Feature "MDI-Registerkarten" oder das Feature "MDI-Registerkartengruppen" aktiviert ist.

BOOL AreMDITabs(int* pnMDITabsType=NULL) const;

Parameter

pnMDITabsType
[out] Ein Zeiger auf eine ganzzahlige Variable, die angibt, welche Features aktiviert sind:

  • 0: Alle Features sind deaktiviert.
  • 1: MDI-Registerkarten sind aktiviert.
  • 2: MDI-Registerkartengruppen sind aktiviert.

Rückgabewert

Gibt zurück TRUE , wenn MDI-Registerkarten oder MDI-Registerkartengruppen aktiviert sind.

Gibt zurück FALSE , wenn keine der oben genannten Features aktiviert ist.

Hinweise

Verwenden Sie diese Funktion, um zu bestimmen, ob MDI-Registerkarten oder MDI-Registerkartengruppen für das Rahmenfenster aktiviert sind. Wird verwendet CMDIFrameWndEx::EnableMDITabs , um das Feature für MDI-Registerkarten zu aktivieren oder zu deaktivieren.

Wird verwendet CMDIFrameWndEx::EnableMDITabbedGroups , um das Feature "MDI-Registerkartengruppen" zu aktivieren oder zu deaktivieren.

CMDIFrameWndEx::CanConvertControlBarToMDIChild

Vom Framework aufgerufen, um zu bestimmen, ob das Framefenster Andockbereiche in Dokumente mit Registerkarten konvertieren kann

virtual BOOL CanConvertControlBarToMDIChild();

Rückgabewert

Gibt zurück TRUE , wenn das Framefenster Andockbereiche in Dokumente im Registerformat konvertieren kann; andernfalls wird zurückgegeben FALSE.

Hinweise

Überschreiben Sie diese Methode in einer abgeleiteten Klasse, und kehren Sie zurück TRUE , um die Konvertierung von Andockbereichen in Dokumente mit Registerkarten zu aktivieren. Alternativ können Sie auf CMDIFrameWndEx::m_bCanConvertControlBarToMDIChildTRUE.

CMDIFrameWndEx::ControlBarToTabbedDocument

Konvertiert den angegebenen Andockbereich in ein Dokument im Registerkartenformat.

virtual CMDIChildWndEx* ControlBarToTabbedDocument(CDockablePane* pBar);

Parameter

pBar
Ein Zeiger auf den Dockingbereich, der konvertiert werden soll.

Rückgabewert

Gibt einen Zeiger auf das neue untergeordnete MDI-Fenster zurück, das den Andockbereich enthält.

Hinweise

Mit dieser Methode wird ein Andockbereich in ein Dokument mit Registerkarten konvertiert. Wenn Sie diese Methode aufrufen, erstellt das Framework ein CMDIChildWndEx Klassenobjekt , entfernt den Andockbereich aus dem Docking-Manager und fügt den Andockbereich zum neuen untergeordneten MDI-Fenster hinzu. Das untergeordnete MDI-Fenster ändert die Größe des Andockbereichs, um den gesamten Clientbereich abzudecken.

CMDIFrameWndEx::CreateDocumentWindow

Erstellt ein untergeordnetes Dokumentfenster.

virtual CMDIChildWndEx* CreateDocumentWindow(
    LPCTSTR lpcszDocName,
    CObject* pObj);

Parameter

lpcszDocName
[in] Eine Textzeichenfolge, die einen Dokumentbezeichner enthält. In der Regel ist es der vollständige Pfad einer Dokumentdatei.

pObj
[in] Ein Zeiger auf ein benutzerdefiniertes Objekt. Beispielsweise kann ein Entwickler eine anwendungsspezifische Datenstruktur erstellen, die das Dokument beschreibt und angibt, wie das Dokument beim Start initialisiert werden soll.

Rückgabewert

Ein Zeiger auf CMDIChildWndEx.

Hinweise

Das Framework ruft diese Methode auf, wenn sie die Liste der Dokumente lädt, die zuvor in der Registrierung gespeichert wurden.

Überschreiben Sie diese Methode, um Dokumente zu erstellen, wenn sie aus der Registrierung geladen werden.

Beispiel

Das folgende Beispiel zeigt die CreateDocumentWindow Verwendung im VisualStudioDemo-Beispiel: MFC Visual Studio Application.

In diesem Beispiel könnte der Name eines "virtuellen Dokuments" (z. B. "Startseite") sein, g_strStartViewName das nicht aus einer Datenträgerdatei geladen wird. Daher benötigen wir eine spezielle Verarbeitung, um diesen Fall zu verarbeiten.

CMainFrame::CMainFrame()
{
   CMFCPopupMenu::SetForceShadow(TRUE);
   m_bCanConvertControlBarToMDIChild = TRUE;
}

CMDIFrameWndEx::CreateNewWindow

Vom Framework aufgerufen, um ein neues Fenster zu erstellen.

virtual CMDIChildWndEx* CreateNewWindow(
    LPCTSTR lpcszDocName,
    CObject* pObj);

Parameter

lpcszDocName
[in] Der Dokumentname.

pObj
[in] Reserviert für zukünftige Verwendung.

Rückgabewert

Ein Zeiger auf das neue Fenster.

CMDIFrameWndEx::DockPane

Dockt den angegebenen Bereich an das Rahmenfenster an.

void DockPane(
    CBasePane* pBar,
    UINT nDockBarID=0,
    LPCRECT lpRect=NULL);

Parameter

pBar
[in] Zeigen Sie auf den Bereich, der angedockt werden soll.

nDockBarID
[in] Gibt an, an welchen Seiten des Rahmenfensters angedockt werden soll.

lpRect
[in] Wird nicht verwendet.

Hinweise

Mit dieser Methode wird der angegebene Bereich an einer der Seiten des Rahmenfensters angedockt, das beim CBasePane::EnableDockingCMDIFrameWndEx::EnableDocking Aufrufen angegeben wurde.

Beispiel

Im folgenden Beispiel wird die Verwendung der DockPane-Methode gezeigt. Dieser Codeausschnitt stammt aus dem VisualStudioDemo-Beispiel: MFC Visual Studio-Anwendung.

DockPane(&m_wndMenuBar);
DockPane(&m_wndToolBar);
DockPane(&m_wndPropertiesBar);

DockPane(&m_wndToolbarBuild);

CMDIFrameWndEx::DockPaneLeftOf

Dockt einen Bereich auf der linken Seite eines anderen Bereichs an.

BOOL DockPaneLeftOf(
    CPane* pBar,
    CPane* pLeftOf);

Parameter

pBar
[in] Ein Zeiger auf den Andockbereich.

pLeftOf
[in] Ein Zeiger auf den Bereich, der als Dockwebsite dient.

Rückgabewert

Gibt zurück TRUE , wenn der Vorgang erfolgreich ist. Andernfalls wird FALSE zurückgegeben.

Hinweise

Rufen Sie diese Methode auf, um mehrere Bereichsobjekte in einer vordefinierten Reihenfolge anzudocken. Mit dieser Methode wird der bereich angedockt, der links neben dem durch den Bereich angegebenen Bereich angegeben pBar wird pLeftOf.

Beispiel

Das folgende Beispiel zeigt, wie die DockPaneLeftOf Methode im VisualStudioDemo-Beispiel verwendet wird: MFC Visual Studio Application.

DockPane(&m_wndToolbarBuild);
DockPaneLeftOf(&m_wndToolbarEdit, &m_wndToolbarBuild);

CMDIFrameWndEx::EnableAutoHidePanes

Aktiviert den Modus "Automatisches Ausblenden" für Bereiche, wenn sie an den angegebenen Seiten des Standard Rahmenfensters angedockt sind.

BOOL EnableAutoHidePanes(DWORD dwDockStyle);

Parameter

dwDockStyle
[in] Gibt die Seiten des Standard Rahmenfensters an, das aktiviert wird. Verwenden Sie eine oder mehrere der folgenden Flags.

  • CBRS_ALIGN_LEFT
  • CBRS_ALIGN_RIGHT
  • CBRS_ALIGN_TOP
  • CBRS_ALIGN_BOTTOM

Rückgabewert

Rufen Sie diese Funktion auf, um den Modus für das automatische Ausblenden für Bereiche zu aktivieren, wenn sie an den angegebenen Seiten des Standard Rahmenfensters angedockt sind.

Beispiel

Das folgende Beispiel zeigt, wie die EnableAutoHidePanes Methode im VisualStudioDemo-Beispiel verwendet wird: MFC Visual Studio Application.

EnableAutoHidePanes(CBRS_ALIGN_ANY);

Hinweise

CMDIFrameWndEx::EnableDocking

Aktiviert das Andocken der Bereiche, die zum MDI-Rahmenfenster gehören.

BOOL EnableDocking(DWORD dwDockStyle);

Parameter

dwDockStyle
[in] Gibt den Andockstil an, den Sie anwenden möchten.

Rückgabewert

Bemerkungen

Rufen Sie diese Funktion auf, um das Andocken von Bereichen zu aktivieren, die zum CMDIFrameWndEx Objekt gehören.

Beispiel

Das folgende Beispiel zeigt, wie die EnableDocking Methode im VisualStudioDemo-Beispiel verwendet wird: MFC Visual Studio Application.

EnableDocking(CBRS_ALIGN_ANY);

CMDIFrameWndEx::EnableFullScreenMainMenu

Blendet das menü Standard im Vollbildmodus ein oder aus.

void EnableFullScreenMainMenu(BOOL bEnableMenu);

Parameter

bEnableMenu
[in] TRUE um das menü Standard im Vollbildmodus anzuzeigen oder FALSE auszublenden.

Hinweise

CMDIFrameWndEx::EnableFullScreenMode

Aktiviert den Vollbildmodus für das Framefenster.

void EnableFullScreenMode(UINT uiFullScreenCmd);

Parameter

uiFullScreenCmd
[in] Die ID eines Befehls, der den Vollbildmodus aktiviert oder deaktiviert.

Hinweise

Im Vollbildmodus werden alle Andocksteuerungsleisten, Symbolleisten und Menüs ausgeblendet, und die aktive Ansicht wird so geändert, dass sie den Vollbildmodus belegt. Wenn Sie den Vollbildmodus aktivieren, müssen Sie eine ID des Befehls angeben, der ihn aktiviert oder deaktiviert. Sie können die Funktion des Standard Frames OnCreate aufrufenEnableFullScreenMode. Wenn ein Rahmenfenster in den Vollbildmodus gewechselt wird, erstellt das Framework eine unverankerte Symbolleiste mit einer Schaltfläche mit der angegebenen Befehls-ID. Wenn Sie das Standard Menü auf dem Bildschirm beibehalten möchten, rufen Sie CMDIFrameWndEx::EnableFullScreenMainMenuauf.

CMDIFrameWndEx::EnableLoadDockState

Aktiviert oder deaktiviert das Laden des Andockzustands.

void EnableLoadDockState(BOOL bEnable = TRUE);

Parameter

bEnable
[in] TRUE um das Laden des Dockingzustands zu aktivieren, FALSE um das Laden des Dockingzustands zu deaktivieren.

Hinweise

CMDIFrameWndEx::EnableMDITabbedGroups

Aktiviert oder deaktiviert das Feature "MDI-Registerkartengruppen" für das Framefenster.

void EnableMDITabbedGroups(
    BOOL bEnable,
    const CMDITabInfo& params);

Parameter

bEnable
[in] Wenn TRUEdas Feature "MDI-Registerkartengruppen" aktiviert ist, FALSEist die Funktion "MDI-Registerkartengruppen" deaktiviert.

params
[in] Gibt Parameter an, die das Framework auf untergeordnete Fenster anwendet, die im MDI-Clientbereich erstellt werden.

Hinweise

Verwenden Sie diese Methode, um das Feature "MDI-Registerkartengruppen" zu aktivieren oder zu deaktivieren. Mit diesem Feature können MDI-Anwendungen untergeordnete Fenster als Tabulatorfenster anzeigen, die vertikal oder horizontal innerhalb des MDI-Clientbereichs ausgerichtet sind. Gruppen von Fenstern mit Registerkarten werden durch Splitter getrennt. Der Benutzer kann die Größe von Registerkartengruppen mithilfe eines Splitters ändern.

Der Benutzer kann:

  • Ziehen Sie einzelne Registerkarten zwischen Gruppen.
  • Ziehen Sie einzelne Registerkarten an den Rand des Fensters, um neue Gruppen zu erstellen.
  • Verschieben von Registerkarten oder Erstellen neuer Gruppen mithilfe eines Kontextmenüs
  • Ihre Anwendung kann das aktuelle Layout von Registerkartenfenstern und die Liste der aktuell geöffneten Dokumente speichern.

Wenn Sie diese Methode mit bEnable "set to FALSE" aufrufen, params wird ignoriert.

Selbst wenn MDI-Registerkartengruppen bereits aktiviert sind, können Sie diese Methode erneut aufrufen, um die Einstellungen für untergeordnete Fenster zu ändern. Rufen Sie die Methode mit bEnable Set auf, TRUE und ändern Sie die Elemente des CMDITabInfo Objekts, die durch den params Parameter angegeben werden.

Weitere Informationen zur Verwendung von MDI-Registerkartengruppen finden Sie unter MDI-Registerkartengruppen.

Beispiel

Das folgende Beispiel zeigt die EnableMDITabbedGroups Verwendung im VisualStudioDemo-Beispiel: MFC Visual Studio Application.

CMDITabInfo mdiTabParams;
mdiTabParams.m_bTabCustomTooltips = TRUE;

if (bMDITabsVS2005Look)
{
   mdiTabParams.m_style = CMFCTabCtrl::STYLE_3D_VS2005;
   mdiTabParams.m_bDocumentMenu = TRUE;
}
else if (bOneNoteTabs)
{
   mdiTabParams.m_style = CMFCTabCtrl::STYLE_3D_ONENOTE;
   mdiTabParams.m_bAutoColor = bMDITabColors;
}

if (bActiveTabCloseButton)
{
   mdiTabParams.m_bTabCloseButton = FALSE;
   mdiTabParams.m_bActiveTabCloseButton = TRUE;
}

EnableMDITabbedGroups(TRUE, mdiTabParams);

CMDIFrameWndEx::EnableMDITabs

Aktiviert oder deaktiviert das Feature "MDI-Registerkarten" für das MDI-Framefenster. Wenn diese Option aktiviert ist, zeigt das Rahmenfenster für jedes untergeordnete MDI-Fenster eine Registerkarte an.

void EnableMDITabs(
    BOOL bEnable=TRUE,
    BOOL bIcons=TRUE,
    CMFCTabCtrl::Location tabLocation=CMFCTabCtrl::LOCATION_BOTTOM,
    BOOL bTabCloseButton=FALSE,
    CMFCTabCtrl::Style style=CMFCTabCtrl::STYLE_3D_SCROLLED,
    BOOL bTabCustomTooltips=FALSE,
    BOOL bActiveTabCloseButton=FALSE);

Parameter

bEnable
Gibt an, ob Registerkarten aktiviert sind.

bIcons
Gibt an, ob Symbole auf den Registerkarten angezeigt werden sollen.

tabLocation
Gibt die Position der Registerkartenbeschriftungen an.

bTabCloseButton
Gibt an, ob Schaltflächen zum Schließen von Registerkarten angezeigt werden sollen.

style
Gibt das Format der Registerkarten an. Wird STYLE_3D_SCROLLED für normale Registerkarten oder STYLE_3D_ONENOTE für Microsoft OneNote-Registerkarten verwendet.

bTabCustomTooltips
Gibt an, ob benutzerdefinierte QuickInfos aktiviert sind.

bActiveTabCloseButton
Wenn TRUE, wird eine Schaltfläche "Schließen " auf der aktiven Registerkarte statt in der rechten Ecke des Registerkartenbereichs angezeigt.

Hinweise

Rufen Sie diese Methode auf, um das MDI-Registerkartenfeature für das MDI-Framefenster zu aktivieren oder zu deaktivieren. Wenn diese Option aktiviert ist, werden alle untergeordneten Fenster als Registerkarten angezeigt.

Die Registerkartenbeschriftungen können sich je nach Einstellung des Parameters tabLocationam oberen oder unteren Rand des Frames befinden. Sie können entweder CMFCTabCtrl::LOCATION_BOTTOM (die Standardeinstellung) oder CMFCTabCtrl::LOCATION_TOP.

Wenn bTabCustomTooltips jaTRUE, wird eine AFX_WM_ON_GET_TAB_TOOLTIP Nachricht an das Standard Framefenster gesendet. Ihr Code kann diese Meldung behandeln und das Framework mit benutzerdefinierten QuickInfos für MDI-Registerkarten bereitstellen.

Beispiel

Das folgende Beispiel zeigt die EnableMDITabs Verwendung im MDITabsDemo-Beispiel: MFC Tabbed MDI Application.

void CMainFrame::UpdateMDITabs(BOOL bResetMDIChild)
{
   CMDITabInfo params;
   HWND hwndActive = NULL;

   switch (theApp.m_Options.m_nMDITabsType)
   {
   case CMDITabOptions::None:
   {
      BOOL bCascadeMDIChild = FALSE;

      if (IsMDITabbedGroup())
      {
         EnableMDITabbedGroups(FALSE, params);
         bCascadeMDIChild = TRUE;
      }
      else if (AreMDITabs())
      {
         EnableMDITabs(FALSE);
         bCascadeMDIChild = TRUE;
      }

      if (bCascadeMDIChild)
      {
         // CMDIClientAreaWnd m_wndClientArea
         hwndActive = (HWND)m_wndClientArea.SendMessage(WM_MDIGETACTIVE);
         m_wndClientArea.PostMessage(WM_MDICASCADE);
         m_wndClientArea.UpdateTabs(false);
         m_wndClientArea.SetActiveTab(hwndActive);
         ::BringWindowToTop(hwndActive);
      }
   }
   break;

   case CMDITabOptions::MDITabsStandard:
      hwndActive = (HWND)m_wndClientArea.SendMessage(WM_MDIGETACTIVE);
      m_wndClientArea.PostMessage(WM_MDIMAXIMIZE, LPARAM(hwndActive), 0L);
      ::BringWindowToTop(hwndActive);

      EnableMDITabs(TRUE, theApp.m_Options.m_bMDITabsIcons, theApp.m_Options.m_bTabsOnTop ? CMFCTabCtrl::LOCATION_TOP : CMFCTabCtrl::LOCATION_BOTTOM, theApp.m_Options.m_nTabsStyle);

      GetMDITabs().EnableAutoColor(theApp.m_Options.m_bTabsAutoColor);
      GetMDITabs().EnableTabDocumentsMenu(theApp.m_Options.m_bMDITabsDocMenu);
      GetMDITabs().EnableTabSwap(theApp.m_Options.m_bDragMDITabs);
      GetMDITabs().SetTabBorderSize(theApp.m_Options.m_nMDITabsBorderSize);
      GetMDITabs().SetFlatFrame(theApp.m_Options.m_bFlatFrame);
      GetMDITabs().EnableCustomToolTips(theApp.m_Options.m_bCustomTooltips);
      GetMDITabs().EnableCustomToolTips(theApp.m_Options.m_bCustomTooltips);
      GetMDITabs().EnableActiveTabCloseButton(theApp.m_Options.m_bActiveTabCloseButton);
      break;

CMDIFrameWndEx::EnableMDITabsLastActiveActivation

Gibt an, ob die letzte aktive Registerkarte geöffnet werden soll, wenn der Benutzer die aktuelle Registerkarte schließt.

void EnableMDITabsLastActiveActivation(BOOL bLastActiveTab=TRUE);

Parameter

bLastActiveTab
[in] Wenn TRUE, aktivieren Sie die Aktivierung der letzten aktiven Registerkarte. Wenn FALSE, deaktivieren Sie die Aktivierung der letzten aktiven Registerkarte.

Hinweise

Es gibt zwei Möglichkeiten, eine Registerkarte zu öffnen, wenn die aktive Registerkarte geschlossen wird:

  • Aktivieren Sie die nächste Registerkarte.
  • Aktivieren Sie die zuvor aktive Registerkarte.

Die Standardimplementierung verwendet die erste Methode.

Wird verwendet EnableMDITabsLastActiveActivation , um die zweite Art der Tabaktivierung zu aktivieren. Es emuliert die Art und Weise, wie Windows untergeordnete MDI-Fenster öffnet.

CMDIFrameWndEx::EnablePaneMenu

Aktiviert oder deaktiviert die automatische Erstellung und Verwaltung des Popupbereichmenüs, das eine Liste von Anwendungsbereichen anzeigt.

void EnablePaneMenu(
    BOOL bEnable,
    UINT uiCustomizeCmd,
    const CString& strCustomizeLabel,
    UINT uiViewToolbarsMenuEntryID,
    BOOL bContextMenuShowsToolbarsOnly=FALSE,
    BOOL bViewMenuShowsToolbarsOnly=FALSE);

Parameter

bEnable
[in] Wenn TRUEdie automatische Behandlung des Bereichsmenüs aktiviert ist; wenn FALSEdie automatische Behandlung deaktiviert ist.

uiCustomizeCmd
[in] Befehls-ID des Menüelements anpassen . Dieses Menüelement wird normalerweise am Ende der Liste der Bereiche hinzugefügt.

strCustomizeLabel
[in] Der Text, der für das Menüelement "Anpassen" (für die Lokalisierung) angezeigt werden soll.

uiViewToolbarsMenuEntryID
[in] Gibt die ID eines Symbolleistenmenüelements an, mit dem das Bereichsmenü geöffnet wird. In der Regel ist dies das Untermenü "Symbolleisten" des Menüs "Ansicht".

bContextMenuShowsToolbarsOnly
[in] Wenn TRUE, zeigt das Bereichsmenü nur eine Liste von Symbolleisten an. Wenn FALSE, zeigt das Menü eine Liste der Symbolleisten und Andockleisten an.

bViewMenuShowsToolbarsOnly
[in] Wenn TRUE, zeigt das Bereichsmenü nur eine Liste von Symbolleisten an. Wenn FALSE, zeigt das Menü eine Liste der Symbolleisten und Andockleisten an.

Hinweise

Das Popupmenü zeigt die Liste der Bereiche der Anwendung an und ermöglicht dem Benutzer das Ein- oder Ausblenden einzelner Bereiche.

Beispiel

Das folgende Beispiel zeigt die EnablePaneMenu Verwendung im VisualStudioDemo-Beispiel: MFC Visual Studio Application.

// Enable pane context menu(list of bars + customize command):
EnablePaneMenu(TRUE, ID_VIEW_CUSTOMIZE, _T("Customize..."), ID_VIEW_TOOLBARS, FALSE, TRUE);

CMDIFrameWndEx::EnableWindowsDialog

Fügt ein Menüelement ein, dessen Befehls-ID ein CMFCWindowsManagerDialog Dialogfeld aufruft.

void EnableWindowsDialog(
    UINT uiMenuId,
    LPCTSTR lpszMenuText,
    BOOL bShowAllways=FALSE,
    BOOL bShowHelpButton=FALSE);

void EnableWindowsDialog(
    UINT uiMenuId,
    UINT uiMenuTextResId,
    BOOL bShowAllways=FALSE,
    BOOL bShowHelpButton=FALSE);

Parameter

uiMenuId
[in] Gibt die Ressourcen-ID eines Menüs an.

lpszMenuText
[in] Gibt den Text des Elements an.

bShowHelpButton
[in] Gibt an, ob im Windows-Verwaltungsdialogfeld eine Hilfeschaltfläche angezeigt werden soll.

uiMenuTextResId
[in] Der Zeichenfolgenressourcenbezeichner, der die Textzeichenfolge des Elements enthält.

Hinweise

Verwenden Sie diese Methode, um ein Menüelement einzufügen, dessen Befehl ein untergeordnetes MDI-Fensterverwaltungsdialogfeld ( CMFCWindowsManagerDialog Klasse) aufruft. Das neue Element wird in das durch uiMenuId. Rufen Sie auf EnableWindowsDialog , wenn Sie die WM_CREATE Nachricht verarbeiten.

Beispiel

Das folgende Beispiel zeigt die EnableWindowsDialog Verwendung im VisualStudioDemo-Beispiel: MFC Visual Studio Application.

// Enable windows manager:
EnableWindowsDialog(ID_WINDOW_MANAGER, _T("Windows..."), TRUE);

CMDIFrameWndEx::GetActivePopup

Gibt einen Zeiger auf das aktuell angezeigte Popupmenü zurück.

CMFCPopupMenu* GetActivePopup() const;

Rückgabewert

Ein Zeiger auf das aktive Popupmenü; NULL wenn kein Popupmenü aktiv ist.

Hinweise

Verwenden Sie diese Funktion, um einen Zeiger auf das CMFCPopupMenu derzeit angezeigte Klassenobjekt abzurufen.

CMDIFrameWndEx::GetDefaultResId

Gibt die ID der freigegebenen Ressourcen des MDI-Framefensters zurück.

UINT GetDefaultResId() const;

Rückgabewert

Ein Ressourcen-ID-Wert. 0, wenn das Rahmenfenster keine Menüleiste aufweist.

Hinweise

Diese Methode gibt die Ressourcen-ID zurück, die beim Laden CFrameWnd::LoadFramedes MDI-Framefensters angegeben wurde.

CMDIFrameWndEx::GetMDITabGroups

Gibt eine Liste der MDI-Registerkartenfenster zurück.

const CObList& GetMDITabGroups() const;

Rückgabewert

Ein Verweis auf ein CObList Klassenobjekt , das eine Liste von Registerkartenfenstern enthält. Speichern oder ändern Sie die Liste nicht.

Hinweise

Verwenden Sie diese Methode, um auf die Liste der Registerkartenfenster zuzugreifen. Es kann hilfreich sein, wenn Sie einige Parameter einzelner Registerkartenfenster ändern oder abfragen möchten.

CMDIFrameWndEx::GetMDITabs

Gibt einen Verweis auf das unterstrichene Registerkartenfenster zurück.

CMFCTabCtrl& GetMDITabs();

Rückgabewert

Ein Verweis auf das unterstrichene Registerkartenfenster.

CMDIFrameWndEx::GetMDITabsContextMenuAllowedItems

Gibt eine Kombination von Flags zurück, die bestimmt, welche Vorgänge gültig sind, wenn das Feature "MDI-Registerkartengruppen" aktiviert ist.

DWORD GetMDITabsContextMenuAllowedItems();

Rückgabewert

Eine bitweise "oder" (|) Kombination der folgenden Flags:

  • AFX_MDI_CREATE_VERT_GROUP - kann eine vertikale Registerkartengruppe erstellen.
  • AFX_MDI_CREATE_HORZ_GROUP - kann eine horizontale Registerkartengruppe erstellen.
  • AFX_MDI_CAN_MOVE_PREV - kann eine Registerkarte in die vorherige Registerkartengruppe verschieben.
  • AFX_MDI_CAN_MOVE_NEXT - kann eine Registerkarte zur nächsten Registerkartengruppe verschieben.

Hinweise

Wenn das Feature "MDI-Registerkartengruppen" aktiviert ist, müssen Sie wissen, welche Vorgänge auf den Registerkarten eines bestimmten Fensters zulässig sind. Diese Methode analysiert das aktuelle Layout von Registerkartenfenstern und gibt eine Kombination von Flags zurück, die zum Erstellen eines Kontextmenüs verwendet werden können.

Sie können eine neue vertikale Registerkartengruppe erstellen, wenn alle Fenster im Registerkartenformat vertikal ausgerichtet sind oder wenn nur ein Fenster mit Registerkartenformat vorhanden ist.

Sie können eine neue horizontale Registerkartengruppe erstellen, wenn alle Fenster im Registerkartenformat horizontal ausgerichtet sind oder wenn nur ein Registerkartenfenster vorhanden ist.

Sie können eine Registerkarte nur dann zur vorherigen Gruppe verschieben, wenn in einem Registerkartenfenster mehrere Registerkarten vorhanden sind.

Sie können eine Registerkarte nur dann zur nächsten Gruppe verschieben, wenn in einem Registerkartenfenster mehrere Registerkarten vorhanden sind.

CMDIFrameWndEx::GetMenuBar

Gibt einen Zeiger auf ein Menüleistenobjekt zurück, das an das Rahmenfenster angefügt ist.

const CMFCMenuBar* GetMenuBar() const;

Rückgabewert

Ein Zeiger auf ein Menüleistenobjekt.

CMDIFrameWndEx::GetPane

Gibt einen Zeiger auf den Bereich zurück, der die angegebene Steuerelement-ID aufweist.

CBasePane* GetPane(UINT nID);

Parameter

nID
[in] Die Steuerelement-ID.

Rückgabewert

Ein Zeiger auf den Bereich mit der angegebenen Steuerelement-ID, sofern vorhanden. Andernfalls NULL.

CMDIFrameWndEx::GetRibbonBar

Ruft das Menübandleisten-Steuerelement für den Frame ab.

CMFCRibbonBar* GetRibbonBar();

Rückgabewert

Zeigen Sie auf die CMFCRibbonBar Klasse für den Frame.

Hinweise

CMDIFrameWndEx::GetTearOffBars

Gibt eine Liste der Abrissmenüs zurück.

const CObList& GetTearOffBars() const;

Rückgabewert

Ein Verweis auf ein CObList Klassenobjekt , das eine Auflistung von Zeigern auf CPaneabgeleitete Objekte enthält, die sich in einem Abbruchzustand befinden.

Hinweise

CMDIFrameWndExStandard enthält eine Sammlung von Abrissmenüs. Verwenden Sie diese Methode, um einen Verweis auf diese Liste abzurufen.

CMDIFrameWndEx::GetToolbarButtonToolTipText

Wird vom Framework aufgerufen, wenn die Anwendung die QuickInfo für eine Symbolleistenschaltfläche anzeigt.

virtual BOOL GetToolbarButtonToolTipText(
    CMFCToolBarButton* pButton,
    CString& strTTText);

Parameter

pButton
[in] Ein Zeiger auf eine Symbolleistenschaltfläche.

strTTText
[in] Der QuickInfo-Text, der für die Schaltfläche angezeigt werden soll.

Rückgabewert

TRUE wenn die QuickInfo angezeigt wurde. Andernfalls FALSE.

Hinweise

CMDIFrameWndEx::InsertPane

Registriert den angegebenen Bereich mit dem Docking-Manager.

BOOL InsertPane(
    CBasePane* pControlBar,
    CBasePane* pTarget,
    BOOL bAfter=TRUE);

Parameter

pControlBar
[in] Ein Zeiger auf den bereich, der eingefügt werden soll.

pTarget
[in] Ein Zeiger auf den Bereich vor oder nach dem der Bereich eingefügt werden soll.

bAfter
[in] If TRUE, pControlBar is inserted after pTarget. Wenn FALSE, pControlBar wird vor pTarget.

Rückgabewert

TRUE wenn die Methode den Bereich erfolgreich registriert, FALSE wenn der Bereich bereits beim Docking-Manager registriert wurde.

Hinweise

Verwenden Sie diese Methode, um den Andock-Manager über einen bereich zu informieren, der durch pControlBar. Der Docking-Manager richtet diesen Bereich entsprechend der Ausrichtung und Position des Bereichs in der internen Liste des Docking-Managers aus.

CMDIFrameWndEx::IsFullScreen

Bestimmt, ob sich das Framefenster im Vollbildmodus befindet.

BOOL IsFullScreen() const;

Rückgabewert

TRUE wenn sich das Rahmenfenster im Vollbildmodus befindet; andernfalls FALSE.

Hinweise

Sie können den Vollbildmodus festlegen, indem Sie die CMDIFrameWndEx::EnableFullScreenMode Methode aufrufen.

CMDIFrameWndEx::IsMDITabbedGroup

Gibt an, ob das Feature "MDI-Registerkartengruppen" aktiviert ist.

BOOL IsMDITabbedGroup() const;

Rückgabewert

TRUE wenn das Feature "MDI-Registerkartengruppen" aktiviert ist; andernfalls FALSE.

Hinweise

Um zu ermitteln, ob normale MDI-Registerkarten oder das Feature "MDI-Registerkartengruppen" aktiviert ist, verwenden Sie CMDIFrameWndEx::AreMDITabs.

CMDIFrameWndEx::IsMemberOfMDITabGroup

Bestimmt, ob sich das angegebene Fenster im Registerkartenformat in der Liste der Fenster befindet, die sich in MDI-Registerkartengruppen befinden.

BOOL IsMemberOfMDITabGroup(CWnd* pWnd);

Parameter

pWnd
[in] Ein Zeiger auf ein Tabstoppfenster.

Rückgabewert

TRUE wenn sich das angegebene Registerkartenfenster in der Liste der Registerkartenfenster befindet, die MDI-Registerkartengruppen bilden. Andernfalls FALSE.

CMDIFrameWndEx::IsMenuBarAvailable

Bestimmt, ob das Rahmenfenster über eine Menüleiste verfügt.

BOOL IsMenuBarAvailable() const;

Rückgabewert

TRUE wenn der Zeiger auf das Menüleistenobjekt nicht NULList; andernfalls FALSE.

CMDIFrameWndEx::IsPointNearDockSite

Bestimmt, ob sich ein angegebener Punkt in der Nähe des Dockstandorts befindet.

BOOL IsPointNearDockSite(
    CPoint point,
    DWORD& dwBarAlignment,
    BOOL& bOuterEdge) const;

Parameter

point
[in] Der angegebene Punkt in Bildschirmkoordinaten.

dwBarAlignment
[in] Gibt an, welcher Rand sich der Punkt in der Nähe befindet. Mögliche Werte sind CBRS_ALIGN_LEFT, CBRS_ALIGN_RIGHT, CBRS_ALIGN_TOP, und CBRS_ALIGN_BOTTOM

bOuterEdge
[in] TRUE wenn sich der Punkt in der Nähe des äußeren Rands des Dockstandorts befindet; FALSE Andernfalls.

Rückgabewert

TRUE wenn sich der Punkt in der Nähe des Dockstandorts befindet; andernfalls FALSE.

Hinweise

Der Punkt befindet sich in der Nähe des Dockstandorts, wenn er sich in der Vertraulichkeit befindet, die im Docking-Manager festgelegt ist. Die Standardempfindlichkeit beträgt 15 Pixel.

CMDIFrameWndEx::IsPrintPreview

Bestimmt, ob sich das Framefenster im Druckvorschaumodus befindet.

BOOL IsPrintPreview();

Rückgabewert

TRUEwenn sich das Rahmenfenster im Druckvorschaumodus befindet; andernfalls . FALSE

Hinweise

CMDIFrameWndEx::LoadFrame

Erstellt ein Framefenster aus Ressourceninformationen.

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

Parameter

nIDResource
[in] Die ID einer freigegebenen Ressource, die dem Framefenster zugeordnet ist.

dwDefaultStyle
[in] Die Formatvorlage des Rahmenfensters.

pParentWnd
[in] Ein Zeiger auf das übergeordnete Element des Frames.

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

Rückgabewert

TRUE wenn die Methode erfolgreich ist, andernfalls FALSE.

CMDIFrameWndEx::LoadMDIState

Lädt das angegebene Layout von MDI-Registerkartengruppen und die Liste der zuvor geöffneten Dokumente.

virtual BOOL LoadMDIState(LPCTSTR lpszProfileName);

Parameter

lpszProfileName
[in] Gibt den Profilnamen an.

Rückgabewert

TRUE wenn die Last erfolgreich war; FALSE wenn das Laden fehlgeschlagen ist oder keine Daten geladen werden sollen.

Hinweise

Gehen Sie wie folgt vor, um den Status von MDI-Registerkarten und -Gruppen und die Liste der geöffneten Dokumente zu laden oder zu speichern:

  • AnrufCMDIFrameWndEx::SaveMDIState, wenn der Standard Frame geschlossen wird
  • Rufen Sie aufCMDIFrameWndEx::LoadMDIState, wenn der Standard Frame erstellt wird. Der empfohlene Ort für diesen Aufruf ist, bevor der Standard Frame zum ersten Mal angezeigt wird. Fügen Sie CWinAppEx::EnableLoadWindowPlacementvor dem CWinAppEx::ReloadWindowPlacementpMainFrame->LoadFrame (IDR_MAINFRAME);.(pMainFrame); Aufruf hinzu, um LoadMDIState den Standard Frame an der Position anzuzeigen, die in der Registrierung gespeichert wurde.(FALSE);
  • Überschreiben GetDocumentName Sie die CMDIChildWndExabgeleitete Klasse, wenn Ihre Anwendung Dokumente anzeigt, die nicht als Dateien gespeichert sind. Die zurückgegebene Zeichenfolge wird in der Registrierung als Dokumentbezeichner gespeichert. Die Basisimplementierung der Rückgabe eines CMDIChildWndEx::GetDocumentName von CDocument::GetPathName.
  • Überschreiben CMDIFrameWndEx::CreateDocumentWindow , um Dokumente ordnungsgemäß zu erstellen, wenn sie aus der Registrierung geladen werden. Der erste Parameter ist die zurückgegebene Zeichenfolge GetDocumentName .

Beispiel

Das folgende Beispiel zeigt die LoadMDIState Verwendung im VisualStudioDemo-Beispiel: MFC Visual Studio Application.

// Parse command line for standard shell commands, DDE, file open
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);

if (cmdInfo.m_nShellCommand == CCommandLineInfo::FileNew)
{
   if (!pMainFrame->LoadMDIState(GetRegSectionPath()))
   {
      m_pStartDocTemplate->OpenDocumentFile(NULL);
   }
}
else
{
   // Dispatch commands specified on the command line
   if (!ProcessShellCommand(cmdInfo))
   {
      return FALSE;
   }
}

CMDIFrameWndEx::MDITabMoveToNextGroup

Verschiebt die aktive Registerkarte aus dem derzeit aktiven Registerkartenfenster in die nächste oder vorherige Registerkartengruppe.

void MDITabMoveToNextGroup(BOOL bNext=TRUE);

Parameter

bNext
[in] Wenn TRUE, verschieben Sie die Registerkarte zur nächsten Gruppe mit Registerkarten. Wenn FALSE, verschieben Sie sie in die vorherige Registerkartengruppe.

CMDIFrameWndEx::MDITabNewGroup

Erstellt eine neue Registerkartengruppe mit einem einzelnen Fenster.

void MDITabNewGroup(BOOL bVert=TRUE);

Parameter

bVert
[in] Gibt die neue Gruppenausrichtung an. Wenn TRUEdie neue Gruppe vertikal ausgerichtet ist. Wenn FALSEdie neue Gruppe horizontal ausgerichtet ist.

Hinweise

Verwenden Sie diese Funktion, um ein neues Registerkartenfenster (neue Registerkartengruppe) zu erstellen und die erste Registerkarte hinzuzufügen.

Beispiel

Das folgende Beispiel zeigt die MDITabNewGroup Verwendung im VisualStudioDemo-Beispiel: MFC Visual Studio Application.

void CMainFrame::OnMdiNewHorzTabGroup()
{
   MDITabNewGroup(FALSE);
}

CMDIFrameWndEx::m_bCanConvertControlBarToMDIChild

Gibt an, ob Andockbereiche in untergeordnete MDI-Fenster konvertiert werden können.

BOOL m_bCanConvertControlBarToMDIChild;

Hinweise

Gibt an, ob Docking-Steuerleisten in untergeordnete MDI-Fenster konvertiert werden können. Wenn dieses Kennzeichen lautet TRUE, behandelt das Framework die Konvertierung automatisch, wenn der Benutzer den Befehl "Dokument im Registerkartenformat" auswählt. Das Flag ist geschützt, und Sie müssen diese Option explizit aktivieren, indem m_bCanConvertControlBarToMDIChild Sie in einem Konstruktor einer CMDIFrameWndExabgeleiteten Klasse oder durch Überschreiben CanConvertControlBarToMDIChildfestlegen.

Der Standardwert ist FALSE.

Beispiel

Das folgende Beispiel zeigt die m_bCanConvertControlBarToMDIChild Verwendung im VisualStudioDemo-Beispiel: MFC Visual Studio Application.

CMainFrame::CMainFrame()
{
   CMFCPopupMenu::SetForceShadow(TRUE);
   m_bCanConvertControlBarToMDIChild = TRUE;
}

CMDIFrameWndEx::m_bDisableSetRedraw

Aktiviert oder deaktiviert die Neuzeichnenoptimierung für untergeordnete MDI-Fenster.

AFX_IMPORT_DATA static BOOL m_bDisableSetRedraw;

Hinweise

Der Standardwert ist TRUE.

Legen Sie dieses Kennzeichen fest, FALSE wenn Sie die Neuauszeichnung von MDI-untergeordneten Elementen optimieren möchten. In diesem Fall ruft SetRedraw (FALSE) das Framework den Standard Frame auf, wenn die Anwendung die aktive Registerkarte ändert.

Dieses Kennzeichen kann unerwünschte Effekte verursachen (z. B. Hintergrundanwendungen, die sichtbar werden). Daher wird empfohlen, die Standardeinstellung nur zu ändern, wenn während der MDI-Tabaktivierung merkliche Flimmern auftreten.

CMDIFrameWndEx::NegotiateBorderSpace

Ausgehandelt den Rahmenbereich in einem Rahmenfenster während der DIREKTEN OLE-Aktivierung.

virtual BOOL NegotiateBorderSpace(
    UINT nBorderCmd,
    LPRECT lpRectBorder);

Parameter

nBorderCmd
[in] Enthält einen der folgenden Werte aus der Enumeration CFrameWnd::BorderCmd:

  • borderGet = 1
  • borderRequest = 2
  • borderSet = 3

lpRectBorder
[in, out] Zeigen Sie auf eine RECT Struktur oder ein CRect Klassenobjekt , das die Koordinaten des Rahmens angibt.

Rückgabewert

Nonzero, wenn die Methode erfolgreich war; andernfalls 0.

Hinweise

Diese Methode ist eine Implementierung der OLE-Rahmenraumverhandlung.

CMDIFrameWndEx::OnCloseDockingPane

Wird vom Framework aufgerufen, wenn der Benutzer auf die Schaltfläche "Schließen " in einem andockbaren Bereich klickt.

virtual BOOL OnCloseDockingPane(CDockablePane* pWnd);

Parameter

pWnd
[in] Zeiger auf den bereich, der geschlossen wird.

Rückgabewert

TRUE wenn der Andockbereich geschlossen werden kann. Andernfalls FALSE.

Hinweise

Überschreiben Sie diese Methode, um das Ausblenden von Andockbereichen zu behandeln. Kehren Sie zurück FALSE , wenn Sie verhindern möchten, dass ein Andockbereich ausgeblendet wird.

Die Standardimplementierung führt nichts aus und gibt zurück TRUE.

CMDIFrameWndEx::OnCloseMiniFrame

Wird vom Framework aufgerufen, wenn der Benutzer auf die Schaltfläche "Schließen " in einem unverankerten Miniframefenster klickt.

virtual BOOL OnCloseMiniFrame(CPaneFrameWnd*);

Parameter

pWnd
[in] Zeigen Sie auf das Minirahmenfenster, das geschlossen wird.

Rückgabewert

TRUE wenn das unverankerte Miniframefenster geschlossen werden kann. Andernfalls FALSE.

Hinweise

Überschreiben Sie diese Methode, um das Ausblenden von unverankerten Miniframefenstern zu behandeln. Kehren Sie zurück FALSE , wenn Sie verhindern möchten, dass ein unverankerte Miniframefenster ausgeblendet wird.

Die Standardimplementierung führt nichts aus und gibt zurück TRUE.

CMDIFrameWndEx::OnClosePopupMenu

Wird vom Framework aufgerufen, wenn ein aktives Popupmenü eine WM_DESTROY Nachricht verarbeitet.

virtual void OnClosePopupMenu(CMFCPopupMenu* pMenuPopup);

Parameter

pMenuPopup
[in] Zeigen Sie auf ein Popupmenü.

Hinweise

Überschreiben Sie diese Methode, wenn Sie Benachrichtigungen von CMFCPopupMenu Klassenobjekten verarbeiten möchten, die zum MDI-Framefenster gehören, wenn diese Objekte Nachrichten verarbeiten WM_DESTROY .

CMDIFrameWndEx::OnCmdMsg

Wird vom Framework aufgerufen, um Befehlsnachrichten weiterzuleiten und zu verteilen und Befehlsbenutzeroberflächenobjekte zu aktualisieren.

virtual BOOL OnCmdMsg(
    UINT nID,
    int nCode,
    void* pExtra,
    AFX_CMDHANDLERINFO* pHandlerInfo);

Parameter

nID
[in] Die Befehls-ID.

nCode
[in] Identifiziert den Befehlsbenachrichtigungscode. Weitere Informationen zu Werten finden nCodeSie unter CCmdTarget::OnCmdMsg.

pExtra
[in] Wird gemäß dem Wert von nCode. Weitere Informationen zu pExtra finden Sie unter CCmdTarget::OnCmdMsg.

pHandlerInfo
[in, out] In der Regel sollte dieser Parameter sein NULL. Andernfalls NULLOnCmdMsg füllt er die pTarget Struktur und pmf die Member der pHandlerInfo Struktur aus, anstatt den Befehl zu verteilen.

Rückgabewert

Nonzero, wenn die Nachricht behandelt wird; andernfalls 0.

CMDIFrameWndEx::OnDrawMenuImage

Wird vom Framework aufgerufen, wenn das einem Menüelement zugeordnete Bild gezeichnet wird.

virtual BOOL OnDrawMenuImage(
    CDC* pDC,
    const CMFCToolBarMenuButton* pMenuButton,
    const CRect& rectImage);

Parameter

pDC
[in] Zeiger auf einen Gerätekontext.

pMenuButton
[in] Zeigen Sie auf die Menüschaltfläche.

rectImage
[in] Umgebendes Rechteck des Bilds.

Rückgabewert

TRUE wenn die Methode das Bild zeichnet. Die Standardimplementierung gibt FALSE zurück.

Hinweise

Überschreiben Sie diese Methode, wenn Sie das Bildrendering für die Menüelemente anpassen möchten, die zur Menüleiste gehören, die dem CMDIFrameWndExabgeleiteten Objekt gehört. Bei der Standardimplementierung wird keine Aktion ausgeführt.

Wird vom Framework aufgerufen, wenn eine CMFCPopupMenuWM_PAINT Nachricht verarbeitet wird.

virtual void OnDrawMenuLogo(
    CDC*,
    CMFCPopupMenu*,
    const CRect&);

Hinweise

Überschreiben Sie diese Funktion, um ein Logo im Popupmenü anzuzeigen, das zur Menüleiste gehört, die dem CMDIFrameWndExabgeleiteten Objekt gehört. Bei der Standardimplementierung wird keine Aktion ausgeführt.

CMDIFrameWndEx::OnEraseMDIClientBackground

Wird vom Framework aufgerufen, wenn das MDI-Framefenster eine WM_ERASEBKGND Nachricht verarbeitet.

virtual BOOL OnEraseMDIClientBackground(CDC*);

Rückgabewert

TRUE wenn die Anwendung die Nachricht verarbeitet und den Hintergrund löscht.

Hinweise

Überschreiben Sie diese Memberfunktion, wenn Sie die WM_ERASEBKGND Nachricht in einer CMDIFrameWndExabgeleiteten Klasse verarbeiten möchten.

CMDIFrameWndEx::OnMenuButtonToolHitTest

Wird vom Framework aufgerufen, wenn ein CMFCToolBarButtonObjekt eine WM_NCHITTEST Nachricht verarbeitet.

virtual BOOL OnMenuButtonToolHitTest(
    CMFCToolBarButton* pButton,
    TOOLINFO* pTI);

Parameter

pButton
[in] Die Symbolleistenschaltfläche.

pTI
[out] Zeiger auf eine TOOLINFO Struktur.

Rückgabewert

TRUE wenn die Anwendung den pTI Parameter ausfüllt. Die Standardimplementierung gibt FALSE zurück.

Hinweise

Überschreiben Sie diese Methode, wenn Sie Informationen zu bestimmten Menüelementen für eine QuickInfo bereitstellen möchten. Bei der Standardimplementierung wird keine Aktion ausgeführt.

CMDIFrameWndEx::OnMoveMiniFrame

Vom Framework aufgerufen, um ein Miniframefenster zu verschieben.

virtual BOOL OnMoveMiniFrame(CWnd* pFrame);

Parameter

pFrame
[in] Ein Zeiger auf ein Miniframefenster.

Rückgabewert

TRUE wenn die Methode erfolgreich ist, andernfalls FALSE.

CMDIFrameWndEx::OnSetPreviewMode

Legt den Standard Framefenster-Druckvorschaumodus der Anwendung fest.

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

Parameter

bPreview
[in] Wenn TRUE, legt den Druckvorschaumodus fest. Wenn FALSE, wird der Vorschaumodus abgebrochen.

pState
[in] Ein Zeiger auf eine CPrintPreviewState Struktur.

Hinweise

Diese Methode überschreibt CFrameWnd::OnSetPreviewMode.

CMDIFrameWndEx::OnShowCustomizePane

Wird vom Framework aufgerufen, wenn ein Quick Customize-Bereich aktiviert wird.

virtual BOOL OnShowCustomizePane(
    CMFCPopupMenu* pMenuPane,
    UINT uiToolbarID);

Parameter

pMenuPane
[in] Ein Zeiger auf den Bereich "Schnell anpassen".

uiToolbarID
[in] Steuerelement-ID der Symbolleiste, die angepasst werden soll.

Rückgabewert

Diese Methode gibt immer TRUE zurück.

Hinweise

Der Bereich "Schnell anpassen" ist ein Menü, das geöffnet wird, wenn der Benutzer auf einer Symbolleiste auf "Anpassen" klickt.

Überschreiben Sie diese Methode in einer abgeleiteten Klasse, um Änderungen im Quick Customize-Bereich vorzunehmen.

CMDIFrameWndEx::OnShowMDITabContextMenu

Wird vom Framework aufgerufen, bevor ein Kontextmenü auf einer der Registerkarten angezeigt wird. Nur für MDI-Registerkartengruppen gültig.

virtual BOOL OnShowMDITabContextMenu(
    CPoint point,
    DWORD dwAllowedItems,
    BOOL bTabDrop);

Parameter

point
[in] Die Position des Menüs in Bildschirmkoordinaten.

dwAllowedItems
[in] Eine bitweise "oder" (|) Kombination von Flags, die angibt, welche Aktionen für die aktuelle Registerkarte zulässig sind:

  • AFX_MDI_CREATE_VERT_GROUP - kann eine vertikale Registerkartengruppe erstellen.
  • AFX_MDI_CREATE_HORZ_GROUP - kann eine horizontale Registerkartengruppe erstellen.
  • AFX_MDI_CAN_MOVE_PREV - kann eine Registerkarte in die vorherige Registerkartengruppe verschieben.
  • AFX_MDI_CAN_MOVE_NEXT - kann eine Registerkarte zur nächsten Registerkartengruppe verschieben.
  • AFX_MDI_CAN_BE_DOCKED - Ein Dokument im Registerkartenformat in den angedockten Zustand (nur für Dokumente im Registerkartenformat relevant) ändern.

bTabDrop
[in] TRUE um das Menü als Ergebnis des Ziehens der Registerkarte auf eine andere Registerkartengruppe anzuzeigen. FALSE um das Menü als Kontextmenü auf der derzeit aktiven Registerkarte anzuzeigen.

Rückgabewert

Überschreiben Sie diese Methode in einer CMDIFrameWndExabgeleiteten Klasse.

Hinweise

Wenn Sie die Verarbeitung nicht ausführen OnShowMDITabContextMenu, wird das Kontextmenü nicht angezeigt. Diese Funktion wird vom MFC-Anwendungs-Assistenten generiert, wenn Sie das Feature "MDI-Registerkartengruppen" aktivieren.

Beispiel

Das folgende Beispiel zeigt die OnShowMDITabContextMenu Verwendung im VisualStudioDemo-Beispiel: MFC Visual Studio Application.

BOOL CMainFrame::OnShowMDITabContextMenu(CPoint point, DWORD dwAllowedItems, BOOL bDrop)
{
   CMenu menu;
   VERIFY(menu.LoadMenu(bDrop ? IDR_POPUP_DROP_MDITABS : IDR_POPUP_MDITABS));

   CMenu* pPopup = menu.GetSubMenu(0);
   ASSERT(pPopup != NULL);

   if ((dwAllowedItems & AFX_MDI_CREATE_HORZ_GROUP) == 0)
   {
      pPopup->DeleteMenu(ID_MDI_NEW_HORZ_TAB_GROUP, MF_BYCOMMAND);
   }

   if ((dwAllowedItems & AFX_MDI_CREATE_VERT_GROUP) == 0)
   {
      pPopup->DeleteMenu(ID_MDI_NEW_VERT_GROUP, MF_BYCOMMAND);
   }

   if ((dwAllowedItems & AFX_MDI_CAN_MOVE_NEXT) == 0)
   {
      pPopup->DeleteMenu(ID_MDI_MOVE_TO_NEXT_GROUP, MF_BYCOMMAND);
   }

   if ((dwAllowedItems & AFX_MDI_CAN_MOVE_PREV) == 0)
   {
      pPopup->DeleteMenu(ID_MDI_MOVE_TO_PREV_GROUP, MF_BYCOMMAND);
   }

   if ((dwAllowedItems & AFX_MDI_CAN_BE_DOCKED) == 0)
   {
      pPopup->DeleteMenu(ID_MDI_TABBED_DOCUMENT, MF_BYCOMMAND);
   }

   CMFCPopupMenu* pPopupMenu = new CMFCPopupMenu;
   pPopupMenu->SetAutoDestroy(FALSE);
   pPopupMenu->Create(this, point.x, point.y, pPopup->GetSafeHmenu());

   return TRUE;
}

CMDIFrameWndEx::OnShowPanes

Vom Framework aufgerufen, um Bereiche ein- oder auszublenden.

virtual BOOL OnShowPanes(BOOL bShow);

Parameter

bShow
[in] TRUE um Bereiche anzuzeigen, FALSE um Bereiche auszublenden.

Rückgabewert

TRUE wenn sich der Zustand der Bereiche infolge des Aufrufens dieser Methode ändert, FALSE wenn sich die Bereiche bereits im durch bShowdie Eigenschaft angegebenen Zustand befinden. Wenn z. B. die Bereiche ausgeblendet sind und bShow ist, lautet FALSEFALSEder Rückgabewert .

Hinweise

Die Standardimplementierung entfernt die Symbolleiste aus dem Framefenster der obersten Ebene.

Wenn CDockingManager::m_bHideDockingBarsInContainerMode dies der Fall ist TRUE (standard), werden alle Andockbereiche ausgeblendet.

CMDIFrameWndEx::OnShowPopupMenu

Wird vom Framework aufgerufen, wenn es ein Popupmenü öffnet.

virtual BOOL OnShowPopupMenu(CMFCPopupMenu*);

Rückgabewert

TRUE wenn das Popupmenü angezeigt werden soll. Andernfalls FALSE. Die Standardimplementierung gibt TRUE zurück.

Hinweise

Überschreiben Sie diese Methode, wenn Sie bei der Aktivierung des Popupmenüs eine spezielle Verarbeitung implementieren möchten. Wenn Sie beispielsweise normale Menüelemente in Farbmenüschaltflächen ändern möchten, richten Sie Reißleisten ein usw.

Bei der Standardimplementierung wird keine Aktion ausgeführt.

CMDIFrameWndEx::OnSizeMDIClient

Wird vom Framework aufgerufen, wenn sich die Größe des Client-MDI-Fensters ändert.

virtual void OnSizeMDIClient(
    const CRect& rectOld,
    const CRect& rectNew);

Parameter

rectOld
[in] Die aktuelle Größe des MDI-Clientfensters.

rectNew
[in] Die neue Größe des MDI-Clientfensters.

Hinweise

CMDIFrameWndEx::OnTearOffMenu

Wird vom Framework aufgerufen, wenn ein Menü mit abtrennbarer Leiste aktiviert wird.

virtual BOOL OnTearOffMenu(
    CMFCPopupMenu* pMenuPopup,
    CPane* pBar);

Parameter

pMenuPopup
[in] Ein Zeiger auf das Popupmenü.

pBar
[in] Ein Zeiger auf den Abrissbalken.

Rückgabewert

TRUE damit das Popupmenü mit der Abreißleiste aktiviert werden kann; andernfalls FALSE. Der Standardwert ist TRUE.

Hinweise

Überschreiben Sie diese Funktion, wenn Sie ein spezielles Setup für den Reißbalken implementieren möchten. Bei der Standardimplementierung wird keine Aktion ausgeführt.

CMDIFrameWndEx::OnUpdateFrameMenu

Wird vom Framework aufgerufen, um das Framemenü zu aktualisieren.

virtual void OnUpdateFrameMenu(HMENU hMenuAlt);

Parameter

hMenuAlt
[in] Ein Handle zu einem Menü.

CMDIFrameWndEx::PaneFromPoint

Gibt den Andockbereich zurück, der den angegebenen Punkt enthält.

CBasePane* PaneFromPoint(
    CPoint point,
    int nSensitivity,
    bool bExactBar,
    CRuntimeClass* pRTCBarType) const;

CBasePane* PaneFromPoint(
    CPoint point,
    int nSensitivity,
    DWORD& dwAlignment,
    CRuntimeClass* pRTCBarType) const;

Parameter

point
[in] Der Punkt (in Bildschirmkoordinaten).

nSensitivity
[in] Das Fensterrechteck jedes eingecheckten Bereichs wird um diesen Wert in alle Richtungen vergrößert.

bExactBar
[in] Wenn TRUEder nSensitivity Parameter ignoriert wird.

pRTCBarType
[in] Wenn nicht, NULLdurchläuft die Methode nur die Bereiche des angegebenen Typs.

dwAlignment
[out] Wenn ein Bereich gefunden wird, gibt dieser Parameter an, welche Seite des Bereichs dem angegebenen Punkt am nächsten kommt.

Rückgabewert

Ein Zeiger auf einen Andockbereich oder NULL wenn kein Steuerelement den durch point.

Hinweise

Der Aufruf wird an die CDockingManager Klasse umgeleitet. Weitere Informationen finden Sie unter CDockingManager::ControlBarFromPoint.

CMDIFrameWndEx::RecalcLayout

Wird vom Framework aufgerufen, um das Layout des Framefensters neu zu berechnen.

virtual void RecalcLayout(BOOL bNotify = TRUE);

Parameter

bNotify
[in] 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

Diese Methode setzt CFrameWnd::RecalcLayout außer Kraft.

CMDIFrameWndEx::RemovePaneFromDockManager

Hebt die Registrierung eines Bereichs auf und entfernt ihn aus dem Docking-Manager.

void RemovePaneFromDockManager(
    CBasePane* pControlBar,
    BOOL bDestroy,
    BOOL bAdjustLayout,
    BOOL bAutoHide,
    CBasePane* pBarReplacement);

Parameter

pControlBar
[in] Ein Zeiger auf einen zu entfernenden Bereich.

bDestroy
[in] TRUE um den entfernten Bereich zu zerstören. FALSE sie nicht zu zerstören.

bAdjustLayout
[in] TRUE um das Andocklayout sofort anzupassen. Wenn FALSEdie Anpassung nur auftritt, wenn ein Neuzeichnen-Ereignis aus anderen Gründen auftritt (der Benutzer ändert die Größe des Fensters, zieht den Standard Frame usw.).

bAutoHide
[in] TRUE um den Bereich aus der Liste der Autohide-Bereiche zu entfernen. FALSE um den Bereich aus der Liste der regulären Bereiche zu entfernen.

pBarReplacement
[in] Ein Zeiger auf einen Bereich, der den entfernten Bereich ersetzt.

Hinweise

Sie müssen jeden Bereich beim Docking-Manager registrieren, um am Dockinglayout teilzunehmen. Verwenden CMDIFrameWndEx::AddPane oder CMDIFrameWndEx::InsertPane registrieren Sie Bereiche.

Verwenden Sie diese Methode, wenn ein Bereich nicht mehr Teil des Andocklayouts des Rahmenfensters ist.

CMDIFrameWndEx::SaveMDIState

Speichert das aktuelle Layout von MDI-Registerkartengruppen und die Liste der zuvor geöffneten Dokumente.

virtual BOOL SaveMDIState(LPCTSTR lpszProfileName);

Parameter

lpszProfileName
[in] Gibt den Profilnamen an.

Rückgabewert

TRUE wenn der Speichervorgang erfolgreich war; FALSE wenn beim Speichern ein Fehler aufgetreten ist.

Hinweise

Gehen Sie wie folgt vor, um den Status von MDI-Registerkarten und -Gruppen und die Liste der geöffneten Dokumente zu laden oder zu speichern:

  • AnrufSaveMDIState, wenn der Standard Frame geschlossen wird
  • Rufen Sie aufCMDIFrameWndEx::LoadMDIState, wenn der Standard Frame erstellt wird. Der empfohlene Ort für diesen Anruf ist, bevor der Standard Frame zum ersten Mal angezeigt wird.
  • Anrufen CWinAppEx::EnableLoadWindowPlacement(FALSE); vor pMainFrame->LoadFrame (IDR_MAINFRAME);
  • Rufen Sie nachLoadMDIState, CWinAppEx::ReloadWindowPlacement(pMainFrame) um den Standard Frame an der Position anzuzeigen, die in der Registrierung gespeichert wurde.
  • Überschreiben GetDocumentName Sie die CMDIChildWndExabgeleitete Klasse, wenn Ihre Anwendung Dokumente anzeigt, die nicht als Dateien gespeichert sind. Die zurückgegebene Zeichenfolge wird in der Registrierung als Dokumentbezeichner gespeichert. Weitere Informationen finden Sie unter CMDIChildWndEx::GetDocumentName.
  • Überschreiben CMDIFrameWndEx::CreateDocumentWindow , um Dokumente ordnungsgemäß zu erstellen, wenn sie aus der Registrierung geladen werden. Der Parameter ist CreateDocumentWindow die Zeichenfolge, die GetDocumentName zuvor zurückgegeben wurde.

Beispiel

Das folgende Beispiel zeigt die SaveMDIState Verwendung im VisualStudioDemo-Beispiel: MFC Visual Studio Application.

void CMainFrame::OnClose()
{
   SaveMDIState(theApp.GetRegSectionPath());
   CMDIFrameWndEx::OnClose();
}

CMDIFrameWndEx::SetPrintPreviewFrame

Legt das Fenster für den Seitenvorschaurahmen fest.

void SetPrintPreviewFrame(CFrameWnd* pWnd);

Parameter

pWnd
[in] Zeigen Sie auf ein Seitenansichtsrahmenfenster.

Hinweise

CMDIFrameWndEx::SetupToolbarMenu

Ändert ein Symbolleistenobjekt, indem Dummyelemente durch benutzerdefinierte Elemente ersetzt werden.

void SetupToolbarMenu(
    CMenu& menu,
    const UINT uiViewUserToolbarCmdFirst,
    const UINT uiViewUserToolbarCmdLast);

Parameter

menu
[in] Ein Verweis auf ein CMenu zu ändernde Klassenobjekt .

uiViewUserToolbarCmdFirst
[in] Gibt den ersten benutzerdefinierten Befehl an.

uiViewUserToolbarCmdLast
[in] Gibt den letzten benutzerdefinierten Befehl an.

CMDIFrameWndEx::ShowFullScreen

Schaltet den Standard Frame vom normalen Modus in den Vollbildmodus um.

void ShowFullScreen();

Hinweise

CMDIFrameWndEx::ShowPane

Blendet den angegebenen Bereich ein oder aus.

void ShowPane(
    CBasePane* pBar,
    BOOL bShow,
    BOOL bDelay,
    BOOL bActivate);

Parameter

pBar
[in] Zeigen Sie auf den Bereich, der angezeigt oder ausgeblendet werden soll.

bShow
[in] TRUE um den Bereich anzuzeigen. FALSE um den Bereich auszublenden.

bDelay
[in] TRUE um die Neuberechnung des Andocklayouts zu verzögern. FALSE um das Andocklayout sofort neu zu berechnen.

bActivate
[in] TRUE um den Bereich als aktiv anzuzeigen. FALSE um den Bereich als inaktiv anzuzeigen.

Hinweise

Rufen Sie diese Methode auf, um den Bereich ein- oder auszublenden. Verwenden Sie nicht ShowWindow für Andockbereiche.

Beispiel

Das folgende Beispiel zeigt die ShowPane Verwendung im VisualStudioDemo-Beispiel: MFC Visual Studio Application.

void COutputList1::OnViewOutput()
{
   CBasePane* pParentBar = DYNAMIC_DOWNCAST(CBasePane, GetOwner());
   CFrameWndEx* pMainFrame = DYNAMIC_DOWNCAST(CFrameWndEx, GetTopLevelFrame());

   if (pMainFrame != NULL && pParentBar != NULL)
   {
      pMainFrame->SetFocus();
      pMainFrame->ShowPane(pParentBar, FALSE, FALSE, FALSE);
   }
}

CMDIFrameWndEx::ShowWindowsDialog

Erstellt ein CMFCWindowsManagerDialog Feld und öffnet es.

void ShowWindowsDialog();

Beispiel

Das folgende Beispiel zeigt die ShowWindowsDialog Verwendung im VisualStudioDemo-Beispiel: MFC Visual Studio Application.

void CMainFrame::OnWindowManager()
{
   ShowWindowsDialog();
}

CMDIFrameWndEx::TabbedDocumentToControlBar

Konvertiert das angegebene Dokument im Registerkartenformat in einen Andockbereich.

virtual BOOL TabbedDocumentToControlBar(CMDIChildWndEx* pMDIChildWnd);

Parameter

pMDIChildWnd
Ein Zeiger auf das untergeordnete MDI-Fenster, das einen Andockbereich enthält.

Rückgabewert

TRUE wenn die Methode erfolgreich war, FALSE bei Einem Fehler.

Hinweise

Verwenden Sie diese Methode, um ein Dokument mit Registerkarten in einen Andockbereich zu konvertieren. Das Dokument mit Registerkarten muss mithilfe CMDIFrameWndEx::ControlBarToTabbedDocumentvon .

Beispiel

Das folgende Beispiel zeigt die TabbedDocumentToControlBar Verwendung im VisualStudioDemo-Beispiel: MFC Visual Studio Application.

void CMainFrame::OnMdiTabbedDocument()
{
   CMDIChildWndEx* pMDIChild = DYNAMIC_DOWNCAST(CMDIChildWndEx, MDIGetActive());
   if (pMDIChild == NULL)
   {
      ASSERT(FALSE);
      return;
   }

   TabbedDocumentToControlBar(pMDIChild);
}

CMDIFrameWndEx::UpdateCaption

Wird vom Framework aufgerufen, um den Fensterrahmen Untertitel zu aktualisieren.

void UpdateCaption();

Hinweise

CMDIFrameWndEx::UpdateMDITabbedBarsIcons

Legt das Symbol für jeden MDI-Registerkartenbereich fest.

void UpdateMDITabbedBarsIcons();

CMDIFrameWndEx::WinHelp

Wird vom Framework aufgerufen, um die WinHelp-Anwendung oder die Kontexthilfe zu initiieren.

virtual void WinHelp(
    DWORD dwData,
    UINT nCmd = HELP_CONTEXT);

Parameter

dwData
[in] Gibt Daten an, die für den von ihnen angegebenen nCmdHilfetyp erforderlich sind.

nCmd
[in] Gibt den Typ der angeforderten Hilfe an. Weitere Informationen zu den möglichen Werten und deren Auswirkungen auf den dwData Parameter finden Sie unter WinHelp.

Hinweise

Diese Methode überschreibt CWnd::WinHelp.

Siehe auch

Hierarchiediagramm
Klassen
CMDIFrameWnd-Klasse
CMDIChildWndEx-Klasse