Udostępnij za pośrednictwem


Klasa CMDIFrameWndEx

Rozszerza funkcjonalność okna ramowego interfejsu CMDIFrameWndMDI (Windows Multiple Document Interface).

Składnia

class CMDIFrameWndEx : public CMDIFrameWnd

Elementy członkowskie

Metody publiczne

Nazwa/nazwisko opis
CMDIFrameWndEx::ActiveItemRecalcLayout Oblicza ponownie układ aktywnego elementu.
CMDIFrameWndEx::AddDockSite Ta metoda nie jest używana.
CMDIFrameWndEx::AddPane Rejestruje okienko za pomocą menedżera dokowania.
CMDIFrameWndEx::AdjustClientArea Zmniejsza obszar klienta, aby umożliwić obramowanie.
CMDIFrameWndEx::AdjustDockingLayout Oblicza ponownie układ wszystkich zadokowanych okienek.
CMDIFrameWndEx::AreMDITabs Określa, czy funkcja kart MDI czy funkcja grup kart MDI jest włączona.
CMDIFrameWndEx::CanConvertControlBarToMDIChild Wywoływana przez platformę w celu określenia, czy okno ramki może konwertować okienka dockowania na dokumenty z kartami.
CMDIFrameWndEx::ControlBarToTabbedDocument Konwertuje określone okienko dockowania na dokument z kartami.
CMDIFrameWndEx::CreateDocumentWindow Tworzy okno dokumentu podrzędnego.
CMDIFrameWndEx::CreateNewWindow Wywoływana przez platformę w celu utworzenia nowego okna.
CMDIFrameWndEx::CreateObject Używana przez platformę do tworzenia wystąpienia dynamicznego tego typu klasy.
CMDIFrameWndEx::DockPane Zadokuje określone okienko do okna ramki.
CMDIFrameWndEx::DockPaneLeftOf Zadokuje jedno okienko po lewej stronie innego okienka.
CMDIFrameWndEx::EnableAutoHidePanes Włącza tryb automatycznego ukrywania okienek, gdy są one zadokowane po określonych stronach okna głównej ramki.
CMDIFrameWndEx::EnableDocking Umożliwia zadokowanie okienek należących do okna ramki MDI.
CMDIFrameWndEx::EnableFullScreenMainMenu Wyświetla lub ukrywa menu główne w trybie pełnoekranowym.
CMDIFrameWndEx::EnableFullScreenMode Włącza tryb pełnoekranowy dla okna ramki.
CMDIFrameWndEx::EnableLoadDockState Włącza lub wyłącza ładowanie stanu dokowania.
CMDIFrameWndEx::EnableMDITabbedGroups Włącza lub wyłącza funkcję grup kart interfejsu MDI.
CMDIFrameWndEx::EnableMDITabs Włącza lub wyłącza funkcję kart MDI. Po włączeniu okna ramki zostanie wyświetlona karta dla każdego okna podrzędnego MDI.
CMDIFrameWndEx::EnableMDITabsLastActiveActivation Określa, czy ostatnią aktywną kartę należy aktywować, gdy użytkownik zamknie bieżącą kartę.
CMDIFrameWndEx::EnablePaneMenu Włącza lub wyłącza automatyczne tworzenie i zarządzanie wyskakującym menu okienka, w którym jest wyświetlana lista okienk aplikacji.
CMDIFrameWndEx::EnableWindowsDialog Wstawia element menu, którego identyfikator polecenia wywołuje CMFCWindowsManagerDialog okno dialogowe.
CMDIFrameWndEx::GetActivePopup Zwraca wskaźnik do aktualnie wyświetlanego menu podręcznego.
CMDIFrameWndEx::GetPane Zwraca wskaźnik do okienka z określonym identyfikatorem kontrolki.
CMDIFrameWndEx::GetDefaultResId Zwraca identyfikator udostępnionych zasobów okna ramki MDI.
CMDIFrameWndEx::GetMDITabGroups Zwraca listę okien z kartami MDI.
CMDIFrameWndEx::GetMDITabs Zwraca odwołanie do podkreślonego okna z kartami.
CMDIFrameWndEx::GetMDITabsContextMenuAllowedItems Zwraca kombinację flag, które określają, jakie elementy menu kontekstowego są prawidłowe po włączeniu funkcji Grupy z kartami MDI.
CMDIFrameWndEx::GetMenuBar Zwraca wskaźnik do obiektu paska menu dołączonego do okna ramki.
CMDIFrameWndEx::GetRibbonBar Pobiera kontrolkę paska wstążki dla ramki.
CMDIFrameWndEx::GetTearOffBars Zwraca listę CPaneobiektów pochodnych, które znajdują się w stanie odrywania.
CMDIFrameWndEx::GetThisClass Wywoływana przez platformę w celu uzyskania wskaźnika do obiektu skojarzonego CRuntimeClass z tym typem klasy.
CMDIFrameWndEx::GetToolbarButtonToolTipText Wywoływana przez platformę, gdy aplikacja wyświetla etykietkę narzędzia dla przycisku paska narzędzi.
CMDIFrameWndEx::InsertPane Rejestruje określone okienko za pomocą menedżera dokowania.
CMDIFrameWndEx::IsFullScreen Określa, czy okno ramki jest w trybie pełnoekranowym.
CMDIFrameWndEx::IsMDITabbedGroup Określa, czy funkcja grupy kart mdI jest włączona.
CMDIFrameWndEx::IsMemberOfMDITabGroup Określa, czy określone okno z kartami znajduje się na liście okien, które znajdują się w grupach z kartami MDI.
CMDIFrameWndEx::IsMenuBarAvailable Określa, czy okno ramki ma pasek menu.
CMDIFrameWndEx::IsPointNearDockSite Określa, czy określony punkt znajduje się w pobliżu lokacji docku.
CMDIFrameWndEx::IsPrintPreview Określa, czy okno ramki jest w trybie podglądu wydruku.
CMDIFrameWndEx::LoadFrame Tworzy okno ramki na podstawie informacji o zasobie. (Przesłania CMDIFrameWnd::LoadFrame).
CMDIFrameWndEx::LoadMDIState Ładuje określony układ grup kart mdI i listę wcześniej otwartych dokumentów.
CMDIFrameWndEx::MDITabMoveToNextGroup Przenosi aktywną kartę z aktualnie aktywnego okna z kartami do następnej lub poprzedniej grupy z kartami.
CMDIFrameWndEx::MDITabNewGroup Tworzy nową grupę z kartami z pojedynczym oknem.
CMDIFrameWndEx::NegotiateBorderSpace Negocjuje przestrzeń graniczną w oknie ramowym podczas aktywacji w miejscu OLE.
CMDIFrameWndEx::OnCloseDockingPane Wywoływana przez platformę, gdy użytkownik kliknie przycisk Zamknij w okienku z możliwością dokowania.
CMDIFrameWndEx::OnCloseMiniFrame Wywoływana przez platformę, gdy użytkownik kliknie przycisk Zamknij w przestawnym oknie miniramki.
CMDIFrameWndEx::OnClosePopupMenu Wywoływana przez platformę, gdy aktywne menu podręczne przetwarza WM_DESTROY komunikat.
CMDIFrameWndEx::OnCmdMsg Wywoływana przez strukturę do kierowania i wysyłania komunikatów poleceń oraz aktualizowania obiektów interfejsu użytkownika polecenia.
CMDIFrameWndEx::OnDrawMenuImage Wywoływana przez platformę, gdy obraz skojarzony z elementem menu jest rysowany.
CMDIFrameWndEx::OnDrawMenuLogo Wywoływana przez platformę, gdy komunikat CMFCPopupMenujest przetwarzany WM_PAINT .
CMDIFrameWndEx::OnEraseMDIClientBackground Wywoływana przez platformę, gdy okno ramki MDI przetwarza WM_ERASEBKGND komunikat.
CMDIFrameWndEx::OnMenuButtonToolHitTest Wywoływana przez platformę, gdy CMFCToolBarButtonobiekt przetwarza WM_NCHITTEST komunikat.
CMDIFrameWndEx::OnMoveMiniFrame Wywoływana przez platformę w celu przeniesienia okna mini-ramka.
CMDIFrameWndEx::OnSetPreviewMode Ustawia tryb podglądu okna ramki głównej aplikacji. (Przesłania CFrameWnd::OnSetPreviewMode).
CMDIFrameWndEx::OnShowCustomizePane Wywoływana przez platformę po aktywowaniu okienka Szybkie dostosowywanie.
CMDIFrameWndEx::OnShowMDITabContextMenu Wywoływana przez platformę, gdy menu kontekstowe powinno być wyświetlane na jednej z kart. (Prawidłowe tylko dla grup z kartami MDI).
CMDIFrameWndEx::OnShowPanes Wywoływana przez platformę w celu wyświetlania lub ukrywania okienek.
CMDIFrameWndEx::OnShowPopupMenu Wywoływana przez strukturę po aktywowaniu menu podręcznego.
CMDIFrameWndEx::OnSizeMDIClient Wywoływana przez platformę, gdy zmienia się rozmiar okna MDI klienta.
CMDIFrameWndEx::OnTearOffMenu Wywoływana przez platformę po aktywowaniu menu z paskiem odrywania.
CMDIFrameWndEx::OnUpdateFrameMenu Wywoływana przez platformę w celu zaktualizowania menu ramki. (Przesłania CMDIFrameWnd::OnUpdateFrameMenu).
CMDIFrameWndEx::PaneFromPoint Zwraca okienko dockowania zawierające określony punkt.
CMDIFrameWndEx::PreTranslateMessage Używany przez klasę CWinApp do tłumaczenia komunikatów okien przed ich wysłaniem do TranslateMessage funkcji systemu i DispatchMessage Windows. (Przesłania CMDIFrameWnd::PreTranslateMessage).
CMDIFrameWndEx::RecalcLayout Wywoływana przez strukturę w celu ponownego obliczenia układu okna ramki. (Przesłania CFrameWnd::RecalcLayout).
CMDIFrameWndEx::RemovePaneFromDockManager Wyrejestrowuje okienko i usuwa je z menedżera dokowania.
CMDIFrameWndEx::SaveMDIState Zapisuje bieżący układ grup kart mdI i listę wcześniej otwartych dokumentów.
CMDIFrameWndEx::SetPrintPreviewFrame Ustawia okno ramki podglądu wydruku.
CMDIFrameWndEx::SetupToolbarMenu Modyfikuje obiekt paska narzędzi, wyszukując fikcyjne elementy i zastępując je określonymi elementami zdefiniowanymi przez użytkownika.
CMDIFrameWndEx::ShowFullScreen Przełącza ramkę główną z trybu regularnego na tryb pełnoekranowy.
CMDIFrameWndEx::ShowPane Wyświetla lub ukrywa określone okienko.
CMDIFrameWndEx::ShowWindowsDialog Tworzy CMFCWindowsManagerDialog pole i otwiera je.
CMDIFrameWndEx::TabbedDocumentToControlBar Konwertuje określony dokument z kartą na okienko dokowania.
CMDIFrameWndEx::UpdateCaption Wywoływana przez platformę w celu zaktualizowania podpisu ramki okna.
CMDIFrameWndEx::UpdateMDITabbedBarsIcons Ustawia ikonę dla każdego okienka z kartami MDI.
CMDIFrameWndEx::WinHelp Wywoływana przez platformę w celu zainicjowania pomocy dotyczącej aplikacji WinHelp lub kontekstu. (Przesłania CWnd::WinHelp).

Elementy członkowskie danych

Nazwa/nazwisko opis
CMDIFrameWndEx::m_bCanConvertControlBarToMDIChild Określa, czy okienka dockowania można przekonwertować na okna podrzędne MDI.
CMDIFrameWndEx::m_bDisableSetRedraw Włącza lub wyłącza optymalizację ponownego rysowania dla okien podrzędnych MDI.

Uwagi

Aby skorzystać z rozszerzonych funkcji dostosowywania w aplikacji MDI, utwórz klasę okien ramowych MDI aplikacji CMDIFrameWndEx zamiast CMDIFrameWnd.

Przykład

W poniższym przykładzie utworzono klasę z klasy CMDIFrameWndEx. Ten fragment kodu pochodzi z przykładu DrawClient: aplikacja do rysowania obiektów OLE opartych na wstążce MFC.

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;
};

Hierarchia dziedziczenia

CObject

CCmdTarget

CWnd

CFrameWnd

CMDIFrameWnd

CMDIFrameWndEx

Wymagania

Nagłówek: afxMDIFrameWndEx.h

CMDIFrameWndEx::ActiveItemRecalcLayout

Oblicza ponownie układ aktywnego elementu.

void ActiveItemRecalcLayout();

CMDIFrameWndEx::AddPane

Rejestruje okienko za pomocą menedżera dokowania.

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

Parametry

pControlBar
[in] Wskaźnik do okienka w celu zarejestrowania.

bTail
[in] Określa, czy należy dodać to okienko na końcu listy.

Wartość zwracana

Zwraca wartość inną niż zero, jeśli okienko zostało pomyślnie zarejestrowane. Zwraca wartość 0, jeśli okienko jest już zarejestrowane w menedżerze dokowania.

Uwagi

Każde okienko musi być zarejestrowane w CDockingManager klasie , zanim będzie można wziąć udział w układzie dokowania. Użyj tej metody, aby powiadomić menedżera dokowania, że chcesz zadokować określone okienko. Po zarejestrowaniu tego okienka menedżer dokowania wyrównuje go na podstawie ustawienia wyrównania i pozycji na liście okienek obsługiwanych przez menedżera dokowania.

CMDIFrameWndEx::AdjustClientArea

Zmniejsza obszar klienta, aby umożliwić obramowanie.

virtual void AdjustClientArea();

CMDIFrameWndEx::AdjustDockingLayout

Oblicza ponownie układ wszystkich zadokowanych okienek.

virtual void AdjustDockingLayout(HDWP hdwp=NULL);

Parametry

hdwp
[in] Identyfikuje strukturę położenia wielu okien. Tę wartość można uzyskać, wywołując polecenie BeginDeferWindowPos.

Uwagi

Wywołaj tę funkcję składową, aby ponownie obliczyć układ wszystkich okienek zadokowanych do okna ramki.

CMDIFrameWndEx::AreMDITabs

Określa, czy funkcja kart MDI czy funkcja grup z kartami MDI jest włączona.

BOOL AreMDITabs(int* pnMDITabsType=NULL) const;

Parametry

pnMDITabsType
[out] Wskaźnik do zmiennej całkowitej, która wskazuje, które funkcje są włączone:

  • 0: Wszystkie funkcje są wyłączone.
  • 1. Karty MDI są włączone.
  • 2. Grupy z kartami MDI są włączone.

Wartość zwracana

Zwraca wartość TRUE , jeśli są włączone karty MDI lub grupy z kartami MDI.

Zwraca wartość FALSE , jeśli żadna z powyższych funkcji nie jest włączona.

Uwagi

Ta funkcja służy do określania, czy karty MDI czy grupy kart MDI są włączone dla okna ramki. Służy CMDIFrameWndEx::EnableMDITabs do włączania lub wyłączania funkcji kart MDI.

Służy CMDIFrameWndEx::EnableMDITabbedGroups do włączania lub wyłączania funkcji grup z kartami MDI.

CMDIFrameWndEx::CanConvertControlBarToMDIChild

Wywoływana przez strukturę w celu określenia, czy okno ramki może konwertować okienka dockowania na dokumenty z kartami

virtual BOOL CanConvertControlBarToMDIChild();

Wartość zwracana

Zwraca TRUE wartość , jeśli okno ramki może przekonwertować okienka dockowania na dokumenty z kartami; w przeciwnym razie zwraca wartość FALSE.

Uwagi

Zastąp tę metodę w klasie pochodnej i wróć TRUE do włączenia konwersji okienek dokowania do dokumentów z kartami. Alternatywnie możesz ustawić wartość CMDIFrameWndEx::m_bCanConvertControlBarToMDIChild TRUE.

CMDIFrameWndEx::ControlBarToTabbedDocument

Konwertuje określone okienko dockowania na dokument z kartami.

virtual CMDIChildWndEx* ControlBarToTabbedDocument(CDockablePane* pBar);

Parametry

pBar
Wskaźnik do okienka dokowania do konwersji.

Wartość zwracana

Zwraca wskaźnik do nowego okna podrzędnego MDI zawierającego okienko dokowania.

Uwagi

Ta metoda konwertuje okienko dokowania do dokumentu z kartami. Po wywołaniu tej metody struktura tworzy CMDIChildWndEx obiekt klasy , usuwa okienko dockowania z menedżera dokowania i dodaje okienko dockowania do nowego okna podrzędnego MDI. Okno podrzędne MDI zmienia rozmiar okienka dokowania w celu pokrycia całego obszaru klienta

CMDIFrameWndEx::CreateDocumentWindow

Tworzy okno dokumentu podrzędnego.

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

Parametry

lpcszDocName
[in] Ciąg tekstowy zawierający identyfikator dokumentu. Zazwyczaj jest to pełna ścieżka pliku dokumentu.

pObj
[in] Wskaźnik do obiektu zdefiniowanego przez użytkownika. Na przykład deweloper może utworzyć strukturę danych specyficzną dla aplikacji opisującą dokument i informującą o tym, jak dokument powinien zostać zainicjowany podczas uruchamiania.

Wartość zwracana

Wskaźnik do CMDIChildWndEx.

Uwagi

Struktura wywołuje tę metodę, gdy ładuje listę dokumentów wcześniej zapisanych w rejestrze.

Zastąpij tę metodę w celu utworzenia dokumentów podczas ich ładowania z rejestru.

Przykład

W poniższym przykładzie pokazano, jak CreateDocumentWindow jest używany w przykładzie VisualStudioDemo: aplikacja MFC Visual Studio.

W tym przykładzie g_strStartViewName może to być nazwa "wirtualnego dokumentu" (na przykład "Strona początkowa"), która nie jest ładowana z pliku dysku. W związku z tym potrzebujemy specjalnego przetwarzania, aby obsłużyć ten przypadek.

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

CMDIFrameWndEx::CreateNewWindow

Wywoływana przez platformę w celu utworzenia nowego okna.

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

Parametry

lpcszDocName
[in] Nazwa dokumentu.

pObj
[in] Zarezerwowane do użytku w przyszłości.

Wartość zwracana

Wskaźnik do nowego okna.

CMDIFrameWndEx::DockPane

Zadokuje określone okienko do okna ramki.

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

Parametry

pBar
[in] Wskaźnik do okienka, aby zadokować.

nDockBarID
[in] Określa boki okna ramowego do zadokowania.

lpRect
[in] Nieużytne.

Uwagi

Ta metoda zadokuje określone okienko do jednej ze stron okna ramowego, które zostało określone, kiedy CBasePane::EnableDocking i CMDIFrameWndEx::EnableDocking zostały wywołane.

Przykład

W poniższym przykładzie pokazano użycie DockPane metody . Ten fragment kodu pochodzi z przykładu VisualStudioDemo: aplikacja MFC Visual Studio.

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

DockPane(&m_wndToolbarBuild);

CMDIFrameWndEx::DockPaneLeftOf

Zadokuje jedno okienko po lewej stronie innego okienka.

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

Parametry

pBar
[in] Wskaźnik do okienka dokowania.

pLeftOf
[in] Wskaźnik do okienka, który służy jako lokacja docku.

Wartość zwracana

Zwraca wartość TRUE , jeśli operacja zakończyła się pomyślnie. W przeciwnym razie zwraca wartość FALSE.

Uwagi

Wywołaj tę metodę, aby zadokować kilka obiektów okienka w wstępnie zdefiniowanej kolejności. Ta metoda dokuje okienko określone przez pBar do lewej strony okienka określonego przez pLeftOf.

Przykład

W poniższym przykładzie pokazano, jak DockPaneLeftOf metoda jest używana w przykładzie VisualStudioDemo: aplikacja MFC Visual Studio.

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

CMDIFrameWndEx::EnableAutoHidePanes

Włącza tryb automatycznego ukrywania okienek, gdy są one zadokowane po określonych stronach okna głównej ramki.

BOOL EnableAutoHidePanes(DWORD dwDockStyle);

Parametry

dwDockStyle
[in] Określa boki głównego okna ramowego, które zostanie włączone. Użyj co najmniej jednej z następujących flag.

  • CBRS_ALIGN_LEFT
  • CBRS_ALIGN_RIGHT
  • CBRS_ALIGN_TOP
  • CBRS_ALIGN_BOTTOM

Wartość zwracana

Wywołaj tę funkcję, aby włączyć tryb automatycznego ukrywania dla okienek, gdy są one zadokowane po określonych stronach okna głównej ramki.

Przykład

W poniższym przykładzie pokazano, jak EnableAutoHidePanes metoda jest używana w przykładzie VisualStudioDemo: aplikacja MFC Visual Studio.

EnableAutoHidePanes(CBRS_ALIGN_ANY);

Uwagi

CMDIFrameWndEx::EnableDocking

Umożliwia zadokowanie okienek należących do okna ramki MDI.

BOOL EnableDocking(DWORD dwDockStyle);

Parametry

dwDockStyle
[in] Określa styl dokowania, który chcesz zastosować.

Wartość zwracana

Uwagi

Wywołaj tę funkcję, aby umożliwić dokowanie okienek należących do CMDIFrameWndEx obiektu.

Przykład

W poniższym przykładzie pokazano, jak EnableDocking metoda jest używana w przykładzie VisualStudioDemo: aplikacja MFC Visual Studio.

EnableDocking(CBRS_ALIGN_ANY);

CMDIFrameWndEx::EnableFullScreenMainMenu

Wyświetla lub ukrywa menu główne w trybie pełnoekranowym.

void EnableFullScreenMainMenu(BOOL bEnableMenu);

Parametry

bEnableMenu
[in] TRUE aby wyświetlić menu główne w trybie pełnoekranowym lub FALSE ukryć je.

Uwagi

CMDIFrameWndEx::EnableFullScreenMode

Włącza tryb pełnoekranowy dla okna ramki.

void EnableFullScreenMode(UINT uiFullScreenCmd);

Parametry

uiFullScreenCmd
[in] Identyfikator polecenia, który włącza lub wyłącza tryb pełnoekranowy.

Uwagi

W trybie pełnoekranowym wszystkie paski sterowania dokowania, paski narzędzi i menu są ukryte, a aktywny widok ma rozmiar tak, aby zajmował pełny ekran. Po włączeniu trybu pełnoekranowego należy określić identyfikator polecenia, który włącza lub wyłącza go. Funkcję ramki OnCreate głównej można wywołaćEnableFullScreenMode. Gdy okno ramki jest przełączane do trybu pełnoekranowego, platforma tworzy przestawny pasek narzędzi z jednym przyciskiem, który ma określony identyfikator polecenia. Jeśli chcesz zachować menu główne na ekranie, wywołaj metodę CMDIFrameWndEx::EnableFullScreenMainMenu.

CMDIFrameWndEx::EnableLoadDockState

Włącza lub wyłącza ładowanie stanu dokowania.

void EnableLoadDockState(BOOL bEnable = TRUE);

Parametry

bEnable
[in] TRUE aby umożliwić ładowanie stanu dokowania, FALSE aby wyłączyć ładowanie stanu dokowania.

Uwagi

CMDIFrameWndEx::EnableMDITabbedGroups

Włącza lub wyłącza funkcję grup z kartami MDI dla okna ramki.

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

Parametry

bEnable
[in] Jeśli funkcja grup z kartami MDI jest włączona. Jeśli TRUEFALSEfunkcja grup z kartami MDI jest wyłączona.

params
[in] Określa parametry, które struktura ma zastosowanie do okien podrzędnych utworzonych w obszarze klienta MDI.

Uwagi

Użyj tej metody, aby włączyć lub wyłączyć funkcję grup z kartami MDI. Ta funkcja umożliwia aplikacjom MDI wyświetlanie okien podrzędnych jako okien z kartami, które są wyrównane w pionie lub poziomo w obszarze klienta MDI. Grupy okien z kartami są oddzielone podziałami. Użytkownik może zmienić rozmiar grup z kartami przy użyciu elementu rozdzielanego.

Użytkownik może:

  • Przeciągnij poszczególne karty między grupami.
  • Przeciągnij poszczególne karty do krawędzi okna, aby utworzyć nowe grupy.
  • Przenieś karty lub utwórz nowe grupy przy użyciu menu skrótów.
  • Aplikacja może zapisać bieżący układ okien z kartami i listę aktualnie otwartych dokumentów.

Jeśli wywołasz tę metodę z ustawioną wartością bEnable FALSE, params zostanie zignorowana.

Nawet jeśli grupy z kartami MDI są już włączone, można wywołać tę metodę ponownie, aby zmodyfikować ustawienia dla okien podrzędnych. Wywołaj metodę z ustawioną wartością bEnable TRUE i zmodyfikuj elementy członkowskie CMDITabInfo obiektu, które są określone przez params parametr .

Aby uzyskać więcej informacji na temat korzystania z grup kart MDI, zobacz Grupy z kartami MDI.

Przykład

W poniższym przykładzie pokazano, jak EnableMDITabbedGroups jest używany w przykładzie VisualStudioDemo: aplikacja MFC Visual Studio.

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

Włącza lub wyłącza funkcję kart MDI dla okna ramki MDI. Po włączeniu okna ramki zostanie wyświetlona karta dla każdego okna podrzędnego MDI.

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);

Parametry

bEnable
Określa, czy karty są włączone.

bIcons
Określa, czy ikony powinny być wyświetlane na kartach.

tabLocation
Określa lokalizację etykiet kart.

bTabCloseButton
Określa, czy mają być wyświetlane przyciski zamykania karty.

style
Określa styl kart. Służy STYLE_3D_SCROLLED do zwykłych kart lub STYLE_3D_ONENOTE kart programu Microsoft OneNote.

bTabCustomTooltips
Określa, czy niestandardowe etykietki narzędzi są włączone.

bActiveTabCloseButton
Jeśli TRUEprzycisk Zamknij zostanie wyświetlony na aktywnej karcie zamiast w prawym rogu obszaru karty.

Uwagi

Wywołaj tę metodę, aby włączyć lub wyłączyć funkcję kart MDI dla okna ramek MDI. Po włączeniu wszystkie okna podrzędne są wyświetlane jako karty.

Etykiety kart można znaleźć w górnej lub dolnej części ramki, w zależności od ustawienia parametru tabLocation. Możesz określić wartość CMFCTabCtrl::LOCATION_BOTTOM (ustawienie domyślne) lub CMFCTabCtrl::LOCATION_TOP.

Jeśli bTabCustomTooltips to TRUE, zostanie wysłana AFX_WM_ON_GET_TAB_TOOLTIP wiadomość do głównego okna ramki. Kod może obsłużyć ten komunikat i udostępnić strukturę niestandardowych etykietek narzędzi dla kart MDI.

Przykład

W poniższym przykładzie pokazano, jak EnableMDITabs jest używany w przykładzie MDITabsDemo: aplikacja MDI z kartami MFC.

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

Określa, czy ostatnią aktywną kartę należy otworzyć, gdy użytkownik zamknie bieżącą kartę.

void EnableMDITabsLastActiveActivation(BOOL bLastActiveTab=TRUE);

Parametry

bLastActiveTab
[in] W przypadku TRUEopcji włącz aktywację ostatniej aktywnej karty. Jeśli FALSEwartość , wyłącz aktywację ostatniej aktywnej karty.

Uwagi

Istnieją dwa sposoby otwierania karty po zamknięciu aktywnej karty:

  • Aktywuj następną kartę.
  • Aktywuj wcześniej aktywną kartę.

Domyślna implementacja używa pierwszego sposobu.

Użyj EnableMDITabsLastActiveActivation polecenia , aby włączyć drugi sposób aktywacji kart. Emuluje sposób, w jaki system Windows otwiera okna podrzędne MDI.

CMDIFrameWndEx::EnablePaneMenu

Włącza lub wyłącza automatyczne tworzenie i zarządzanie wyskakującym menu okienka, w którym jest wyświetlana lista okienk aplikacji.

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

Parametry

bEnable
[in] Jeśli TRUEjest włączona automatyczna obsługa menu okienka; jeśli FALSEobsługa automatyczna jest wyłączona.

uiCustomizeCmd
[in] Identyfikator polecenia elementu menu Dostosowywanie . Ten element menu jest zwykle dodawany na końcu listy okienek.

strCustomizeLabel
[in] Tekst, który ma być wyświetlany dla elementu menu Dostosowywanie (na potrzeby lokalizacji).

uiViewToolbarsMenuEntryID
[in] Określa identyfikator elementu menu paska narzędzi, który otwiera menu okienka. Zazwyczaj jest to podmenu Paski narzędzi menu Widok .

bContextMenuShowsToolbarsOnly
[in] Jeśli TRUEmenu okienka wyświetla tylko listę pasków narzędzi. Jeśli FALSEw menu zostanie wyświetlona lista pasków narzędzi i pasków dokowania.

bViewMenuShowsToolbarsOnly
[in] Jeśli TRUEmenu okienka wyświetla tylko listę pasków narzędzi. Jeśli FALSEw menu zostanie wyświetlona lista pasków narzędzi i pasków dokowania.

Uwagi

W menu podręcznym jest wyświetlana lista okienek aplikacji i pozwala użytkownikowi wyświetlać lub ukrywać poszczególne okienka.

Przykład

W poniższym przykładzie pokazano, jak EnablePaneMenu jest używany w przykładzie VisualStudioDemo: aplikacja MFC Visual Studio.

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

CMDIFrameWndEx::EnableWindowsDialog

Wstawia element menu, którego identyfikator polecenia wywołuje CMFCWindowsManagerDialog okno dialogowe.

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

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

Parametry

uiMenuId
[in] Określa identyfikator zasobu menu.

lpszMenuText
[in] Określa tekst elementu.

bShowHelpButton
[in] Określa, czy przycisk Pomoc ma być wyświetlany w oknie dialogowym zarządzanie systemem Windows.

uiMenuTextResId
[in] Identyfikator zasobu ciągu zawierający ciąg tekstowy elementu.

Uwagi

Użyj tej metody, aby wstawić element menu, którego polecenie wywołuje okno dialogowe zarządzania oknami podrzędnym MDI ( CMFCWindowsManagerDialog klasa). Nowy element jest wstawiany do menu określonego przez uiMenuIdpolecenie . Wywołaj EnableWindowsDialog metodę podczas przetwarzania komunikatu WM_CREATE .

Przykład

W poniższym przykładzie pokazano, jak EnableWindowsDialog jest używany w przykładzie VisualStudioDemo: aplikacja MFC Visual Studio.

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

CMDIFrameWndEx::GetActivePopup

Zwraca wskaźnik do aktualnie wyświetlanego menu podręcznego.

CMFCPopupMenu* GetActivePopup() const;

Wartość zwracana

Wskaźnik do aktywnego menu podręcznego; NULL jeśli menu podręczne nie jest aktywne.

Uwagi

Użyj tej funkcji, aby uzyskać wskaźnik do CMFCPopupMenu obiektu klasy , który jest obecnie wyświetlany.

CMDIFrameWndEx::GetDefaultResId

Zwraca identyfikator udostępnionych zasobów okna ramki MDI.

UINT GetDefaultResId() const;

Wartość zwracana

Wartość identyfikatora zasobu. 0, jeśli okno ramki nie ma paska menu.

Uwagi

Ta metoda zwraca identyfikator zasobu określony podczas ładowania okna ramki MDI przez CFrameWnd::LoadFrameelement .

CMDIFrameWndEx::GetMDITabGroups

Zwraca listę okien z kartami MDI.

const CObList& GetMDITabGroups() const;

Wartość zwracana

Odwołanie do CObList obiektu klasy zawierającego listę okien z kartami. Nie przechowuj ani nie modyfikuj listy.

Uwagi

Użyj tej metody, aby uzyskać dostęp do listy okien z kartami. Może to być przydatne, jeśli chcesz zmienić lub wykonać zapytanie dotyczące niektórych parametrów poszczególnych okien z kartami.

CMDIFrameWndEx::GetMDITabs

Zwraca odwołanie do podkreślonego okna z kartami.

CMFCTabCtrl& GetMDITabs();

Wartość zwracana

Odwołanie do podkreślonego okna z kartami.

CMDIFrameWndEx::GetMDITabsContextMenuAllowedItems

Zwraca kombinację flag, które określają, jakie operacje są prawidłowe po włączeniu funkcji Grupy z kartami MDI.

DWORD GetMDITabsContextMenuAllowedItems();

Wartość zwracana

Bitowa kombinacja "lub" (|) następujących flag:

  • AFX_MDI_CREATE_VERT_GROUP — może utworzyć pionową grupę kart.
  • AFX_MDI_CREATE_HORZ_GROUP — może utworzyć grupę kart poziomych.
  • AFX_MDI_CAN_MOVE_PREV — może przenieść kartę do poprzedniej grupy kart.
  • AFX_MDI_CAN_MOVE_NEXT — może przenieść kartę do następnej grupy kart.

Uwagi

Po włączeniu funkcji Grupy z kartami MDI musisz wiedzieć, jakie operacje są dozwolone na kartach określonego okna. Ta metoda analizuje bieżący układ okien z kartami i zwraca kombinację flag, których można użyć do skompilowania, na przykład menu skrótów.

Możesz utworzyć nową pionową grupę kart, gdy wszystkie okna z kartami są wyrównane w pionie lub gdy istnieje tylko jedno okno z kartami.

Możesz utworzyć nową grupę kart poziomych, gdy wszystkie okna z kartami są wyrównane w poziomie lub gdy istnieje tylko jedno okno z kartami.

Możesz przenieść kartę do poprzedniej grupy tylko wtedy, gdy w oknie z kartą znajduje się więcej niż jedna karta.

Możesz przenieść kartę do następnej grupy tylko wtedy, gdy w oknie z kartą znajduje się więcej niż jedna karta.

CMDIFrameWndEx::GetMenuBar

Zwraca wskaźnik do obiektu paska menu dołączonego do okna ramki.

const CMFCMenuBar* GetMenuBar() const;

Wartość zwracana

Wskaźnik do obiektu paska menu.

CMDIFrameWndEx::GetPane

Zwraca wskaźnik do okienka z określonym identyfikatorem kontrolki.

CBasePane* GetPane(UINT nID);

Parametry

nID
[in] Identyfikator kontrolki.

Wartość zwracana

Wskaźnik do okienka z określonym identyfikatorem kontrolki, jeśli istnieje. W przeciwnym razie wartość NULL.

CMDIFrameWndEx::GetRibbonBar

Pobiera kontrolkę paska wstążki dla ramki.

CMFCRibbonBar* GetRibbonBar();

Wartość zwracana

Wskaźnik do CMFCRibbonBar klasy dla ramki.

Uwagi

CMDIFrameWndEx::GetTearOffBars

Zwraca listę menu łzawiącego.

const CObList& GetTearOffBars() const;

Wartość zwracana

Odwołanie do CObList obiektu klasy , który zawiera kolekcję wskaźników do CPane-pochodnych obiektów, które znajdują się w stanie odrywania.

Uwagi

CMDIFrameWndEx utrzymuje kolekcję menu odrętywania. Użyj tej metody, aby pobrać odwołanie do tej listy.

CMDIFrameWndEx::GetToolbarButtonToolTipText

Wywoływana przez platformę, gdy aplikacja wyświetla etykietkę narzędzia dla przycisku paska narzędzi.

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

Parametry

pButton
[in] Wskaźnik do przycisku paska narzędzi.

strTTText
[in] Tekst etykietki narzędzia do wyświetlenia dla przycisku.

Wartość zwracana

TRUE jeśli etykietka narzędzia została wyświetlona. FALSE inaczej.

Uwagi

CMDIFrameWndEx::InsertPane

Rejestruje określone okienko za pomocą menedżera dokowania.

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

Parametry

pControlBar
[in] Wskaźnik do okienka do wstawienia.

pTarget
[in] Wskaźnik do okienka przed lub po którym należy wstawić okienko.

bAfter
[in] Jeśli TRUEparametr pControlBar jest wstawiony po pTarget. Jeśli FALSEparametr pControlBar zostanie wstawiony przed pTarget.

Wartość zwracana

TRUE jeśli metoda pomyślnie zarejestruje okienko, FALSE jeśli okienko zostało już zarejestrowane w menedżerze dokowania.

Uwagi

Użyj tej metody, aby poinformować menedżera dokowania o okienku określonym przez pControlBar. Menedżer dokowania dostosuje to okienko zgodnie z położeniem i wyrównaniem okienka na wewnętrznej liście menedżera dokowania.

CMDIFrameWndEx::IsFullScreen

Określa, czy okno ramki jest w trybie pełnoekranowym.

BOOL IsFullScreen() const;

Wartość zwracana

TRUE jeśli okno ramki jest w trybie pełnoekranowym; w przeciwnym razie FALSE.

Uwagi

Tryb pełnoekranowy można ustawić, wywołując metodę CMDIFrameWndEx::EnableFullScreenMode .

CMDIFrameWndEx::IsMDITabbedGroup

Określa, czy funkcja grupy z kartami MDI jest włączona.

BOOL IsMDITabbedGroup() const;

Wartość zwracana

TRUE jeśli jest włączona funkcja Grupy z kartami MDI; w przeciwnym razie FALSE.

Uwagi

Aby określić, czy jest włączona zwykła karta MDI, czy funkcja grup z kartami MDI, użyj polecenia CMDIFrameWndEx::AreMDITabs.

CMDIFrameWndEx::IsMemberOfMDITabGroup

Określa, czy określone okno z kartami znajduje się na liście okien, które znajdują się w grupach z kartami MDI.

BOOL IsMemberOfMDITabGroup(CWnd* pWnd);

Parametry

pWnd
[in] Wskaźnik do okna z kartami.

Wartość zwracana

TRUE jeśli określone okno z kartami znajduje się na liście okien z kartami, które tworzą grupy z kartami MDI. W przeciwnym razie FALSE.

CMDIFrameWndEx::IsMenuBarAvailable

Określa, czy okno ramki ma pasek menu.

BOOL IsMenuBarAvailable() const;

Wartość zwracana

TRUE jeśli wskaźnik do obiektu paska menu nie NULLjest ; w przeciwnym razie FALSE.

CMDIFrameWndEx::IsPointNearDockSite

Określa, czy określony punkt znajduje się w pobliżu lokacji docku.

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

Parametry

point
[in] Określony punkt we współrzędnych ekranu.

dwBarAlignment
[in] Określa krawędź, w której znajduje się punkt. Możliwe wartości to CBRS_ALIGN_LEFT, CBRS_ALIGN_RIGHT, CBRS_ALIGN_TOPi CBRS_ALIGN_BOTTOM

bOuterEdge
[in] TRUE jeśli punkt znajduje się w pobliżu zewnętrznej granicy miejsca docka; FALSE inaczej.

Wartość zwracana

TRUE jeśli punkt znajduje się w pobliżu miejsca dokowania; w przeciwnym razie FALSE.

Uwagi

Punkt znajduje się w pobliżu miejsca dokowania, gdy znajduje się w obrębie poufności ustawionej w menedżerze dokowania. Domyślna czułość to 15 pikseli.

CMDIFrameWndEx::IsPrintPreview

Określa, czy okno ramki jest w trybie podglądu wydruku.

BOOL IsPrintPreview();

Wartość zwracana

TRUE jeśli okno ramki jest w trybie podglądu wydruku; w przeciwnym razie, FALSE.

Uwagi

CMDIFrameWndEx::LoadFrame

Tworzy okno ramki na podstawie informacji o zasobie.

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

Parametry

nIDResource
[in] Identyfikator zasobu udostępnionego skojarzonego z oknem ramki.

dwDefaultStyle
[in] Styl okna ramki.

pParentWnd
[in] Wskaźnik do elementu nadrzędnego ramki.

pContext
[in] Wskaźnik do CCreateContext struktury. Ten parametr może mieć wartość NULL.

Wartość zwracana

TRUE jeśli metoda powiedzie się, w przeciwnym razie FALSE.

CMDIFrameWndEx::LoadMDIState

Ładuje określony układ grup kart mdI i listę wcześniej otwartych dokumentów.

virtual BOOL LoadMDIState(LPCTSTR lpszProfileName);

Parametry

lpszProfileName
[in] Określa nazwę profilu.

Wartość zwracana

TRUE jeśli obciążenie zakończyło się pomyślnie; FALSE jeśli ładowanie nie powiodło się lub nie ma danych do załadowania.

Uwagi

Aby załadować lub zapisać stan kart i grup MDI oraz listy otwartych dokumentów, wykonaj następujące czynności:

  • Wywoływanie CMDIFrameWndEx::SaveMDIState po zamknięciu ramki głównej
  • Wywołaj CMDIFrameWndEx::LoadMDIState wywołanie podczas tworzenia ramki głównej. Zalecane miejsce dla tego wywołania jest przed wyświetleniem ramki głównej po raz pierwszy. Dodaj CWinAppEx::EnableLoadWindowPlacement (FALSE); przed pMainFrame->LoadFrame (IDR_MAINFRAME);. CWinAppEx::ReloadWindowPlacement (pMainFrame); dodaniem po wywołaniu , aby wyświetlić LoadMDIState ramkę główną w pozycji przechowywanej w rejestrze.
  • Zastąp GetDocumentName w klasie - pochodnej CMDIChildWndEx, jeśli aplikacja wyświetla dokumenty, które nie są przechowywane jako pliki. Zwrócony ciąg zostanie zapisany w rejestrze jako identyfikator dokumentu. Podstawowa implementacja CMDIChildWndEx::GetDocumentName zwraca wartość uzyskaną z CDocument::GetPathNameklasy .
  • Zastąpij CMDIFrameWndEx::CreateDocumentWindow , aby poprawnie tworzyć dokumenty podczas ich ładowania z rejestru. Pierwszy parametr to zwrócony ciąg GetDocumentName .

Przykład

W poniższym przykładzie pokazano, jak LoadMDIState jest używany w przykładzie VisualStudioDemo: aplikacja MFC Visual Studio.

// 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

Przenosi aktywną kartę z aktualnie aktywnego okna z kartami do następnej lub poprzedniej grupy z kartami.

void MDITabMoveToNextGroup(BOOL bNext=TRUE);

Parametry

bNext
[in] Jeśli TRUEpolecenie , przenieś kartę do następnej grupy z kartami. Jeśli FALSEwartość , przenieś ją do poprzedniej grupy z kartami.

CMDIFrameWndEx::MDITabNewGroup

Tworzy nową grupę z kartami z pojedynczym oknem.

void MDITabNewGroup(BOOL bVert=TRUE);

Parametry

bVert
[in] Określa wyrównanie nowej grupy. Jeśli TRUEnowa grupa jest wyrównana w pionie. Jeśli FALSEnowa grupa jest wyrównana w poziomie.

Uwagi

Użyj tej funkcji, aby utworzyć nowe okno z kartami (nowa grupa kart) i dodać do niej pierwszą kartę.

Przykład

W poniższym przykładzie pokazano, jak MDITabNewGroup jest używany w przykładzie VisualStudioDemo: aplikacja MFC Visual Studio.

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

CMDIFrameWndEx::m_bCanConvertControlBarToMDIChild

Określa, czy okienka dokowania można przekonwertować na okna podrzędne MDI.

BOOL m_bCanConvertControlBarToMDIChild;

Uwagi

Wskazuje, czy paski sterowania dokowania można przekonwertować na okna podrzędne MDI. Jeśli ta flaga to TRUE, platforma automatycznie obsługuje konwersję, gdy użytkownik wybierze polecenie Dokument z kartą. Flaga jest chroniona i należy jawnie włączyć tę opcję przez ustawienie m_bCanConvertControlBarToMDIChild w konstruktorze klasy pochodnej CMDIFrameWndExlub przez zastąpienie CanConvertControlBarToMDIChild.

Domyślna wartość to FALSE.

Przykład

W poniższym przykładzie pokazano, jak m_bCanConvertControlBarToMDIChild jest używany w przykładzie VisualStudioDemo: aplikacja MFC Visual Studio.

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

CMDIFrameWndEx::m_bDisableSetRedraw

Włącza lub wyłącza optymalizację ponownego rysowania dla okien podrzędnych MDI.

AFX_IMPORT_DATA static BOOL m_bDisableSetRedraw;

Uwagi

Domyślna wartość to TRUE.

Ustaw tę flagę na FALSE wartość , jeśli chcesz zoptymalizować ponowne rysowanie elementów podrzędnych MDI. W takim przypadku struktura wywoła SetRedraw (FALSE) ramki głównej, gdy aplikacja zmieni aktywną kartę.

Ta flaga może powodować niepożądane skutki (takie jak aplikacje w tle, które stają się widoczne). Dlatego zalecamy zmianę wartości domyślnej tylko w przypadku zauważalnego migotania podczas aktywacji karty MDI.

CMDIFrameWndEx::NegotiateBorderSpace

Negocjuje przestrzeń graniczną w oknie ramowym podczas aktywacji w miejscu OLE.

virtual BOOL NegotiateBorderSpace(
    UINT nBorderCmd,
    LPRECT lpRectBorder);

Parametry

nBorderCmd
[in] Zawiera jedną z następujących wartości z wyliczenia CFrameWnd::BorderCmd:

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

lpRectBorder
[in, out] Wskaźnik do RECT struktury lub CRect obiektu klasy , który określa współrzędne obramowania.

Wartość zwracana

Nonzero, jeśli metoda zakończyła się pomyślnie; w przeciwnym razie 0.

Uwagi

Ta metoda jest implementacją negocjacji przestrzeni obramowania OLE.

CMDIFrameWndEx::OnCloseDockingPane

Wywoływana przez platformę, gdy użytkownik kliknie przycisk Zamknij w okienku z możliwością dokowania.

virtual BOOL OnCloseDockingPane(CDockablePane* pWnd);

Parametry

pWnd
[in] Wskaźnik do zamykanego okienka.

Wartość zwracana

TRUE jeśli okienko dokowania można zamknąć. W przeciwnym razie wartość FALSE.

Uwagi

Zastąpij tę metodę, aby obsłużyć ukrywanie okienek dokowania. Wróć FALSE , jeśli chcesz uniemożliwić ukrycie okienka dokowania.

Domyślna implementacja nie wykonuje niczego i zwraca wartość TRUE.

CMDIFrameWndEx::OnCloseMiniFrame

Wywoływana przez platformę, gdy użytkownik kliknie przycisk Zamknij w przestawnym oknie miniramowym.

virtual BOOL OnCloseMiniFrame(CPaneFrameWnd*);

Parametry

pWnd
[in] Wskaźnik do zamykanego okna miniramowania.

Wartość zwracana

TRUE jeśli można zamknąć przestawne okno mini-ramowe. W przeciwnym razie wartość FALSE.

Uwagi

Zastąpij tę metodę, aby obsłużyć ukrywanie pływających okien mini-ramowych. Wróć FALSE , jeśli chcesz uniemożliwić ukrycie przestawnego okna miniramki.

Domyślna implementacja nie wykonuje niczego i zwraca wartość TRUE.

CMDIFrameWndEx::OnClosePopupMenu

Wywoływana przez platformę, gdy aktywne menu podręczne przetwarza WM_DESTROY komunikat.

virtual void OnClosePopupMenu(CMFCPopupMenu* pMenuPopup);

Parametry

pMenuPopup
[in] Wskaźnik do menu podręcznego.

Uwagi

Zastąpi tę metodę, jeśli chcesz przetwarzać powiadomienia z CMFCPopupMenu obiektów klasy należących do okna ramki MDI, gdy te obiekty przetwarzają WM_DESTROY komunikaty.

CMDIFrameWndEx::OnCmdMsg

Wywoływana przez strukturę do kierowania i wysyłania komunikatów poleceń oraz aktualizowania obiektów interfejsu użytkownika polecenia.

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

Parametry

nID
[in] Identyfikator polecenia.

nCode
[in] Identyfikuje kod powiadomienia polecenia. Aby uzyskać więcej informacji na temat wartości dla nCodeprogramu , zobacz CCmdTarget::OnCmdMsg.

pExtra
[in] Używany zgodnie z wartością nCode. Aby uzyskać więcej informacji na temat pExtraprogramu , zobacz CCmdTarget::OnCmdMsg.

pHandlerInfo
[in, out] Zazwyczaj ten parametr powinien mieć wartość NULL. Jeśli nie NULL, OnCmdMsg wypełnia pTarget strukturę i pmf pHandlerInfo zamiast wysyłać polecenie .

Wartość zwracana

Nonzero, jeśli komunikat jest obsługiwany; w przeciwnym razie 0.

CMDIFrameWndEx::OnDrawMenuImage

Wywoływana przez platformę, gdy obraz skojarzony z elementem menu jest rysowany.

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

Parametry

pDC
[in] Wskaźnik do kontekstu urządzenia.

pMenuButton
[in] Wskaźnik do przycisku menu.

rectImage
[in] Ograniczenie prostokąta obrazu.

Wartość zwracana

TRUE jeśli metoda rysuje obraz. Domyślna implementacja zwraca wartość FALSE.

Uwagi

Zastąp tę metodę, jeśli chcesz dostosować renderowanie obrazów dla elementów menu należących do paska menu należącego do obiektu pochodnego CMDIFrameWndEx. Domyślna implementacja nic nie robi.

Wywoływana przez platformę, gdy komunikat CMFCPopupMenujest przetwarzany WM_PAINT .

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

Uwagi

Zastąp tę funkcję, aby wyświetlić logo w menu podręcznym należącym do paska menu należącego do obiektu pochodnego CMDIFrameWndEx. Domyślna implementacja nic nie robi.

CMDIFrameWndEx::OnEraseMDIClientBackground

Wywoływana przez platformę, gdy okno ramki MDI przetwarza WM_ERASEBKGND komunikat.

virtual BOOL OnEraseMDIClientBackground(CDC*);

Wartość zwracana

TRUE jeśli aplikacja przetwarza komunikat i usuwa tło.

Uwagi

Zastąp tę funkcję składową, jeśli chcesz przetworzyć WM_ERASEBKGND komunikat w klasie pochodnej CMDIFrameWndEx.

CMDIFrameWndEx::OnMenuButtonToolHitTest

Wywoływana przez platformę, gdy CMFCToolBarButtonobiekt przetwarza WM_NCHITTEST komunikat.

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

Parametry

pButton
[in] Przycisk paska narzędzi.

pTI
[out] Wskaźnik do TOOLINFO struktury.

Wartość zwracana

TRUE jeśli aplikacja wypełni pTI parametr . Domyślna implementacja zwraca wartość FALSE.

Uwagi

Zastąpi tę metodę, jeśli chcesz podać informacje o określonych elementach menu w etykietce narzędzia. Domyślna implementacja nic nie robi.

CMDIFrameWndEx::OnMoveMiniFrame

Wywoływana przez platformę w celu przeniesienia okna mini-ramka.

virtual BOOL OnMoveMiniFrame(CWnd* pFrame);

Parametry

pFrame
[in] Wskaźnik do mini-ramy okna.

Wartość zwracana

TRUE jeśli metoda powiedzie się, w przeciwnym razie FALSE.

CMDIFrameWndEx::OnSetPreviewMode

Ustawia tryb podglądu okna ramki głównej aplikacji.

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

Parametry

bPreview
[in] Jeśli TRUEprogram ustawia tryb podglądu wydruku. Jeśli FALSEprogram anuluje tryb podglądu.

pState
[in] Wskaźnik do CPrintPreviewState struktury.

Uwagi

Ta metoda zastępuje metodę CFrameWnd::OnSetPreviewMode.

CMDIFrameWndEx::OnShowCustomizePane

Wywoływana przez platformę po aktywowaniu okienka Szybkie dostosowywanie.

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

Parametry

pMenuPane
[in] Wskaźnik do okienka Szybkie dostosowywanie.

uiToolbarID
[in] Identyfikator kontrolki paska narzędzi do dostosowania.

Wartość zwracana

Ta metoda zawsze zwraca wartość TRUE.

Uwagi

Okienko Szybkie dostosowywanie to menu otwierane po kliknięciu przycisku Dostosuj na pasku narzędzi.

Zastąp tę metodę w klasie pochodnej, aby wprowadzić zmiany w okienku Szybkie dostosowywanie.

CMDIFrameWndEx::OnShowMDITabContextMenu

Wywoływana przez platformę przed wyświetleniem menu skrótów na jednej z kart. Prawidłowe tylko dla grup z kartami MDI.

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

Parametry

point
[in] Lokalizacja menu we współrzędnych ekranu.

dwAllowedItems
[in] Bitowa kombinacja flag "lub" (|) wskazująca, jakie akcje są dozwolone dla bieżącej karty:

  • AFX_MDI_CREATE_VERT_GROUP — może utworzyć pionową grupę kart.
  • AFX_MDI_CREATE_HORZ_GROUP — może utworzyć grupę kart poziomych.
  • AFX_MDI_CAN_MOVE_PREV — może przenieść kartę do poprzedniej grupy kart.
  • AFX_MDI_CAN_MOVE_NEXT — może przenieść kartę do następnej grupy kart.
  • AFX_MDI_CAN_BE_DOCKED — przełącz dokument z kartą na stan zadokowany (dotyczy tylko dokumentów z kartami).

bTabDrop
[in] TRUE aby wyświetlić menu w wyniku przeciągnięcia karty na inną grupę z kartami. FALSE aby wyświetlić menu jako menu skrótów na aktualnie aktywnej karcie.

Wartość zwracana

Zastąp tę metodę w klasie pochodnej CMDIFrameWndEx.

Uwagi

Jeśli nie przetworzysz OnShowMDITabContextMenupliku , menu skrótów nie będzie wyświetlane. Ta funkcja jest generowana przez Kreatora aplikacji MFC po włączeniu funkcji grupy kart mdI.

Przykład

W poniższym przykładzie pokazano, jak OnShowMDITabContextMenu jest używany w przykładzie VisualStudioDemo: aplikacja MFC Visual Studio.

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

Wywoływana przez platformę w celu wyświetlania lub ukrywania okienek.

virtual BOOL OnShowPanes(BOOL bShow);

Parametry

bShow
[in] TRUE aby wyświetlić okienka, FALSE aby ukryć okienka.

Wartość zwracana

TRUE jeśli stan okienek zmieni się w wyniku wywołania tej metody, FALSE jeśli okienka są już w stanie określonym przez bShow. Jeśli na przykład okienka są ukryte i bShow ma FALSEwartość , zwracana wartość to FALSE.

Uwagi

Domyślna implementacja usuwa pasek narzędzi z okna ramki najwyższego poziomu.

Jeśli CDockingManager::m_bHideDockingBarsInContainerMode wartość to TRUE (wartość domyślna), wszystkie okienka dokowania będą ukryte.

CMDIFrameWndEx::OnShowPopupMenu

Wywoływana przez platformę po otwarciu menu podręcznego.

virtual BOOL OnShowPopupMenu(CMFCPopupMenu*);

Wartość zwracana

TRUE jeśli zostanie wyświetlone menu podręczne. W przeciwnym razie wartość FALSE. Domyślna implementacja zwraca wartość TRUE.

Uwagi

Zastąpi tę metodę, jeśli chcesz zaimplementować specjalne przetwarzanie po aktywacji menu podręcznego. Jeśli na przykład chcesz zmienić zwykłe elementy menu na przyciski menu kolorów, skonfiguruj paski odrętywania itd.

Domyślna implementacja nic nie robi.

CMDIFrameWndEx::OnSizeMDIClient

Wywoływana przez platformę, gdy zmienia się rozmiar okna MDI klienta.

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

Parametry

rectOld
[in] Bieżący rozmiar okna klienta MDI.

rectNew
[in] Nowy rozmiar okna klienta MDI.

Uwagi

CMDIFrameWndEx::OnTearOffMenu

Wywoływana przez platformę po aktywowaniu menu z paskiem odrywania.

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

Parametry

pMenuPopup
[in] Wskaźnik do menu podręcznego.

pBar
[in] Wskaźnik do paska odrywania.

Wartość zwracana

TRUE aby umożliwić aktywowanie wyskakującego menu z paskiem odrywania; w przeciwnym razie FALSE. Wartość domyślna to TRUE.

Uwagi

Zastąpi tę funkcję, gdy chcesz zaimplementować specjalną konfigurację paska odrętywania. Domyślna implementacja nic nie robi.

CMDIFrameWndEx::OnUpdateFrameMenu

Wywoływana przez platformę w celu zaktualizowania menu ramki.

virtual void OnUpdateFrameMenu(HMENU hMenuAlt);

Parametry

hMenuAlt
[in] Uchwyt do menu.

CMDIFrameWndEx::PaneFromPoint

Zwraca okienko dockowania zawierające określony punkt.

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

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

Parametry

point
[in] Punkt (współrzędnych ekranu).

nSensitivity
[in] Prostokąt okna każdego zaznaczonego okienka jest powiększony we wszystkich kierunkach według tej wartości.

bExactBar
[in] Jeśli TRUEparametr nSensitivity jest ignorowany.

pRTCBarType
[in] W przypadku wartości innej niż NULLmetoda wykonuje iterację tylko w okienkach określonego typu.

dwAlignment
[out] Jeśli zostanie znalezione okienko, ten parametr określi, która strona okienka znajduje się najbliżej określonego punktu.

Wartość zwracana

Wskaźnik do okienka dokowania lub NULL jeśli żadna kontrolka nie zawiera punktu określonego przez point.

Uwagi

Wywołanie jest przekierowywane do CDockingManager klasy. Aby uzyskać więcej informacji, zobacz CDockingManager::ControlBarFromPoint.

CMDIFrameWndEx::RecalcLayout

Wywoływana przez strukturę w celu ponownego obliczenia układu okna ramki.

virtual void RecalcLayout(BOOL bNotify = TRUE);

Parametry

bNotify
[in] Określa, czy aktywny element w miejscu okna ramki odbiera powiadomienie o zmianie układu. Jeśli TRUEelement jest powiadamiany; w przeciwnym razie FALSE.

Uwagi

Ta metoda zastępuje CFrameWnd::RecalcLayout.

CMDIFrameWndEx::RemovePaneFromDockManager

Wyrejestrowuje okienko i usuwa je z menedżera dokowania.

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

Parametry

pControlBar
[in] Wskaźnik do okienka do usunięcia.

bDestroy
[in] TRUE aby zniszczyć usunięte okienko. FALSE nie zniszczyć go.

bAdjustLayout
[in] TRUE aby natychmiast dostosować układ dokowania. Jeśli FALSEwartość , korekta nastąpi tylko wtedy, gdy z innych powodów wystąpi zdarzenie ponownego rysowania (użytkownik zmienia rozmiar okna, przeciąga ramkę główną itp.).

bAutoHide
[in] TRUE aby usunąć okienko z listy okienek automatycznego ukrywania. FALSE aby usunąć okienko z listy zwykłych okienek.

pBarReplacement
[in] Wskaźnik do okienka, który zastępuje usunięte okienko.

Uwagi

Aby wziąć udział w układzie dokowania, należy zarejestrować każde okienko z menedżerem dokowania. Użyj polecenia CMDIFrameWndEx::AddPane lub CMDIFrameWndEx::InsertPane , aby zarejestrować okienka.

Użyj tej metody, gdy okienko nie jest już częścią układu dokowania okna ramki.

CMDIFrameWndEx::SaveMDIState

Zapisuje bieżący układ grup kart mdI i listę wcześniej otwartych dokumentów.

virtual BOOL SaveMDIState(LPCTSTR lpszProfileName);

Parametry

lpszProfileName
[in] Określa nazwę profilu.

Wartość zwracana

TRUE jeśli zapisanie zakończyło się pomyślnie; FALSE jeśli zapisywanie nie powiodło się.

Uwagi

Aby załadować lub zapisać stan kart i grup MDI oraz listy otwartych dokumentów, wykonaj następujące czynności:

  • Wywoływanie SaveMDIState po zamknięciu ramki głównej
  • Wywołaj CMDIFrameWndEx::LoadMDIState wywołanie podczas tworzenia ramki głównej. Zalecaną lokalizacją tego wywołania jest przed wyświetleniem ramki głównej po raz pierwszy.
  • Przed wywołaniem CWinAppEx::EnableLoadWindowPlacement(FALSE);pMainFrame->LoadFrame (IDR_MAINFRAME);
  • Wywołaj metodę CWinAppEx::ReloadWindowPlacement(pMainFrame) po LoadMDIState , aby wyświetlić ramkę główną w pozycji przechowywanej w rejestrze.
  • Zastąp GetDocumentName w klasie - pochodnej CMDIChildWndEx, jeśli aplikacja wyświetla dokumenty, które nie są przechowywane jako pliki. Zwrócony ciąg zostanie zapisany w rejestrze jako identyfikator dokumentu. Aby uzyskać więcej informacji, zobacz CMDIChildWndEx::GetDocumentName.
  • Zastąpij CMDIFrameWndEx::CreateDocumentWindow , aby poprawnie tworzyć dokumenty po załadowaniu ich z rejestru. Parametr to CreateDocumentWindow ciąg, który GetDocumentName został zwrócony wcześniej.

Przykład

W poniższym przykładzie pokazano, jak SaveMDIState jest używany w przykładzie VisualStudioDemo: aplikacja MFC Visual Studio.

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

CMDIFrameWndEx::SetPrintPreviewFrame

Ustawia okno ramki podglądu wydruku.

void SetPrintPreviewFrame(CFrameWnd* pWnd);

Parametry

pWnd
[in] Wskaźnik do okna ramki podglądu wydruku.

Uwagi

CMDIFrameWndEx::SetupToolbarMenu

Modyfikuje obiekt paska narzędzi, zastępując fikcyjne elementy elementami zdefiniowanymi przez użytkownika.

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

Parametry

menu
[in] Odwołanie do CMenu obiektu klasy do modyfikacji.

uiViewUserToolbarCmdFirst
[in] Określa pierwsze polecenie zdefiniowane przez użytkownika.

uiViewUserToolbarCmdLast
[in] Określa ostatnie polecenie zdefiniowane przez użytkownika.

CMDIFrameWndEx::ShowFullScreen

Przełącza ramkę główną z trybu regularnego na tryb pełnoekranowy.

void ShowFullScreen();

Uwagi

CMDIFrameWndEx::ShowPane

Wyświetla lub ukrywa określone okienko.

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

Parametry

pBar
[in] Wskaźnik do okienka, który ma być wyświetlany lub ukryty.

bShow
[in] TRUE aby wyświetlić okienko. FALSE aby ukryć okienko.

bDelay
[in] TRUE aby opóźnić ponowne obliczanie układu dokowania. FALSE aby natychmiast ponownie obliczyć układ dokowania.

bActivate
[in] TRUE aby wyświetlić okienko jako aktywne. FALSE aby wyświetlić okienko jako nieaktywne.

Uwagi

Wywołaj tę metodę, aby pokazać lub ukryć okienko. Nie używaj ShowWindow do zadokowania okienek.

Przykład

W poniższym przykładzie pokazano, jak ShowPane jest używany w przykładzie VisualStudioDemo: aplikacja MFC Visual Studio.

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

Tworzy CMFCWindowsManagerDialog pole i otwiera je.

void ShowWindowsDialog();

Przykład

W poniższym przykładzie pokazano, jak ShowWindowsDialog jest używany w przykładzie VisualStudioDemo: aplikacja MFC Visual Studio.

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

CMDIFrameWndEx::TabbedDocumentToControlBar

Konwertuje określony dokument z kartą na okienko dokowania.

virtual BOOL TabbedDocumentToControlBar(CMDIChildWndEx* pMDIChildWnd);

Parametry

pMDIChildWnd
Wskaźnik do okna podrzędnego MDI, który zawiera okienko dokowania.

Wartość zwracana

TRUE jeśli metoda zakończyła się pomyślnie, FALSE po niepowodzeniu.

Uwagi

Ta metoda służy do konwertowania dokumentu z kartami na okienko dokowania. Dokument z kartami musi zostać utworzony przy użyciu polecenia CMDIFrameWndEx::ControlBarToTabbedDocument.

Przykład

W poniższym przykładzie pokazano, jak TabbedDocumentToControlBar jest używany w przykładzie VisualStudioDemo: aplikacja MFC Visual Studio.

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

   TabbedDocumentToControlBar(pMDIChild);
}

CMDIFrameWndEx::UpdateCaption

Wywoływana przez platformę w celu zaktualizowania podpisu ramki okna.

void UpdateCaption();

Uwagi

CMDIFrameWndEx::UpdateMDITabbedBarsIcons

Ustawia ikonę dla każdego okienka z kartami MDI.

void UpdateMDITabbedBarsIcons();

CMDIFrameWndEx::WinHelp

Wywoływana przez platformę w celu zainicjowania pomocy dotyczącej aplikacji WinHelp lub kontekstu.

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

Parametry

dwData
[in] Określa dane zgodnie z wymaganiami dla typu pomocy określonej przez nCmd.

nCmd
[in] Określa typ żądanej pomocy. Aby uzyskać więcej informacji na temat możliwych wartości i ich wpływu na dwData parametr, zobacz WinHelp.

Uwagi

Ta metoda zastępuje metodę CWnd::WinHelp.

Zobacz też

Wykres hierarchii
Klasy
Klasa CMDIFrameWnd
Klasa CMDIChildWndEx