Klasa CMDIFrameWndEx
Rozszerza funkcjonalność okna ramowego interfejsu CMDIFrameWnd
MDI (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ę CPane obiektó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 CMFCPopupMenu jest przetwarzany WM_PAINT . |
CMDIFrameWndEx::OnEraseMDIClientBackground |
Wywoływana przez platformę, gdy okno ramki MDI przetwarza WM_ERASEBKGND komunikat. |
CMDIFrameWndEx::OnMenuButtonToolHitTest |
Wywoływana przez platformę, gdy CMFCToolBarButton obiekt 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
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 TRUE
FALSE
funkcja 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 TRUE
przycisk 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 TRUE
opcji włącz aktywację ostatniej aktywnej karty. Jeśli FALSE
wartość , 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 TRUE
jest włączona automatyczna obsługa menu okienka; jeśli FALSE
obsł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 TRUE
menu okienka wyświetla tylko listę pasków narzędzi. Jeśli FALSE
w menu zostanie wyświetlona lista pasków narzędzi i pasków dokowania.
bViewMenuShowsToolbarsOnly
[in] Jeśli TRUE
menu okienka wyświetla tylko listę pasków narzędzi. Jeśli FALSE
w 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 uiMenuId
polecenie . 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::LoadFrame
element .
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 TRUE
parametr pControlBar
jest wstawiony po pTarget
. Jeśli FALSE
parametr 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 NULL
jest ; 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_TOP
i 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. DodajCWinAppEx::EnableLoadWindowPlacement
(FALSE);
przedpMainFrame->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 - pochodnejCMDIChildWndEx
, 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 implementacjaCMDIChildWndEx::GetDocumentName
zwraca wartość uzyskaną zCDocument::GetPathName
klasy . - Zastąpij
CMDIFrameWndEx::CreateDocumentWindow
, aby poprawnie tworzyć dokumenty podczas ich ładowania z rejestru. Pierwszy parametr to zwrócony ciągGetDocumentName
.
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 TRUE
polecenie , przenieś kartę do następnej grupy z kartami. Jeśli FALSE
wartość , 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 TRUE
nowa grupa jest wyrównana w pionie. Jeśli FALSE
nowa 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 CMDIFrameWndEx
lub 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
= 1borderRequest
= 2borderSet
= 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 nCode
programu , zobacz CCmdTarget::OnCmdMsg
.
pExtra
[in] Używany zgodnie z wartością nCode
. Aby uzyskać więcej informacji na temat pExtra
programu , 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.
CMDIFrameWndEx::OnDrawMenuLogo
Wywoływana przez platformę, gdy komunikat CMFCPopupMenu
jest 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 CMFCToolBarButton
obiekt 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 TRUE
program ustawia tryb podglądu wydruku. Jeśli FALSE
program 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 OnShowMDITabContextMenu
pliku , 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 FALSE
wartość , 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 TRUE
parametr nSensitivity
jest ignorowany.
pRTCBarType
[in] W przypadku wartości innej niż NULL
metoda 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 TRUE
element 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 FALSE
wartość , 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)
poLoadMDIState
, aby wyświetlić ramkę główną w pozycji przechowywanej w rejestrze. - Zastąp
GetDocumentName
w klasie - pochodnejCMDIChildWndEx
, 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, zobaczCMDIChildWndEx::GetDocumentName
. - Zastąpij
CMDIFrameWndEx::CreateDocumentWindow
, aby poprawnie tworzyć dokumenty po załadowaniu ich z rejestru. Parametr toCreateDocumentWindow
ciąg, któryGetDocumentName
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