CFrameWndEx 類別
實作 Windows 單一文件介面 (SDI) (SDI) 的功能重疊或快顯框架視窗,並處理 Windows 提供成員。 它會擴充 CFrameWnd 類別。
class CFrameWndEx : public CFrameWnd
Members
公用方法
名稱 |
描述 |
---|---|
調整 OLE 用戶端項目和架構的工作區的配置。 |
|
CFrameWndEx::AddDockSite |
沒有使用這個方法。 |
註冊處理常式使用停駐的控制列。 |
|
重新計算停駐在框架視窗的所有窗格的配置。 |
|
例如,在命令處理閒置時,設定框架功能表然後更新它。 |
|
指定內建的窗格到框架視窗。 |
|
另一個窗格停駐在左邊的窗格。 |
|
其停駐在主框架視窗時,指定的一邊啟動窗格的自動隱藏模式。 |
|
啟用屬於框架視窗的停駐窗格。 |
|
顯示或隱藏主功能表在全螢幕模式。 |
|
啟動框架視窗的全螢幕模式。 |
|
啟用或停用停駐狀態的載入。 |
|
啟用或停用自動處理窗格功能表。 |
|
傳回指向目前顯示的快顯功能表。 |
|
傳回所指定的資源 ID 架構時載入框架視窗。 |
|
擷取框架視窗的 CDockingManager 類別 物件。 |
|
傳回指向附加的功能表列物件到框架視窗。 |
|
會將指標傳至具有指定之 ID 的窗格 . |
|
擷取框架的功能區列控制項。 |
|
傳回在 Tear-Off 狀態窗格的物件清單。 |
|
呼叫框架,當應用程式顯示工具列按鈕的工具提示。 |
|
註冊處理常式停駐的窗格。 |
|
判斷框架視窗是否是以全螢幕模式。 |
|
判斷為功能表列的物件指標是否有效。 |
|
表示這個點是否位於對齊區域。 |
|
表示框架視窗是否在預覽列印模式。 |
|
這個方法會建構之後呼叫建立框架視窗和載入它的資源。 |
|
實作 OLE 用戶端交涉框線。 |
|
當使用者輸入會切換至或離開框架時,架構會呼叫這個方法。 |
|
呼叫由架構應用程式時,會選取或取消選取。 |
|
呼叫框架時,這個框架的變更需要視覺管理員的變更。 |
|
架構會呼叫這個方法會關閉框架。 |
|
呼叫框架,當使用者在停駐窗格中按一下 [關閉] 按鈕。 |
|
呼叫框架,當使用者在浮動微型框架視窗中按一下 [關閉] 按鈕。 |
|
呼叫框架,只有一個作用中的快顯功能表處理 WM_DESTROY 訊息。 |
|
命令分派訊息。 |
|
呼叫由架構來顯示內容的相關說明。 |
|
呼叫由架構在架構之後建立的。 |
|
呼叫由架構,在終結框架。 |
|
呼叫框架,當應用程式在要繪製影像與功能表項目。 |
|
呼叫框架,在 CMFCPopupMenu 物件處理 WM_PAINT 訊息。 |
|
呼叫框架,在桌面視窗管理員 (DWM) 構成啟用或停用。 |
|
呼叫由架構,在框架停止移動或調整其大小。 |
|
呼叫框架,該架構調整設定視窗大小限制。 |
|
呼叫框架更新框架時,便會顯示訂單處理處於閒置狀態。 |
|
當使用者按下滑鼠左鍵時,架構會呼叫這個方法。 |
|
使用者放開滑鼠左鍵時,架構會呼叫這個方法。 |
|
呼叫框架,在 CMFCToolBarButton 物件處理 WM_NCHITTEST 訊息。 |
|
呼叫,便會由架構功能表顯示時和使用者按下不對應至命令的按鍵。 |
|
當滑鼠指標移動時,架構會呼叫這個方法。 |
|
呼叫框架,該窗格視窗中移動。 |
|
呼叫框架,就必須重新繪製框架的非工作區 (Nonclient Area) 表示處於作用中狀態中的變更。 |
|
呼叫框架,就必須計算工作區的大小和位置。 |
|
呼叫框架,當指標移動,或在按下或放開的狀態。 |
|
呼叫框架,當指標移至非工作區。 |
|
呼叫框架,而必須繪製非工作區。 |
|
呼叫由架構窗格控制項的可視性。 |
|
呼叫框架,當使用者變更預覽列印模式。 |
|
呼叫框架,當電源管理事件時發生。 |
|
呼叫框架取代框架視窗功能表。 |
|
呼叫框架將框架的預覽列印模式。 |
|
呼叫框架設定視窗中的文字。 |
|
呼叫,便會由架構快自訂窗格時啟用。 |
|
呼叫由架構來顯示或隱藏窗格。 |
|
呼叫框架,在快顯功能表啟用。 |
|
在框架大小變更之後,架構會呼叫這個方法。 |
|
當使用者調整框架時,架構會呼叫這個方法。 |
|
呼叫框架,當系統色彩變更。 |
|
呼叫框架,若有 Tear-Off 功能表上手動啟用。 |
|
呼叫由架構建立工具列內容功能表。 |
|
架構會呼叫這個方法會建立新的工具列。 |
|
呼叫框架,其在工具列中刪除。 |
|
呼叫框架將框架功能表。 |
|
架構會呼叫這個方法會更新框架視窗的標題列。 |
|
呼叫框架更新窗格功能表。 |
|
呼叫框架,其在框架大小、位置、疊置順序變更為因呼叫而視窗管理方法。 |
|
傳回包含指定之點的停駐窗格。 |
|
處理特定 Windows 訊息,再分派它們。 |
|
調整框架和它的子視窗的配置。 |
|
將窗格與停駐管理員的內部清單中移除它。 |
|
還原停駐設定儲存在登錄中的停駐狀態。 |
|
設定預覽列印框架視窗。 |
|
插入使用者定義命令至工具列上的 功能表上的。 |
|
交換主要畫面格 (例如) 會在全螢幕模式和規則模式之間切換。 |
|
顯示或隱藏指定的窗格。 |
|
呼叫框架更新框架標題。 |
|
叫用 WinHelp 應用程式或內容相關的說明。 |
範例
下列範例示範如何 CFrameWndEx 繼承自類別的類別。 範例會說明在子類別中的方法簽章,以及如何覆寫 OnShowPopupMenu 方法。 這個程式碼片段是 文字填補範例的一部分。
class CMainFrame : public CFrameWndEx
{
protected: // create from serialization only
CMainFrame();
DECLARE_DYNCREATE(CMainFrame)
// Attributes
public:
HICON m_hIconDoc;
HICON m_hIconText;
HICON m_hIconWrite;
HICON GetIcon(int nDocType);
// Operations
public:
void UpdateMRUFilesList ()
{
m_wndTaskPane.UpdateMRUFilesList ();
}
void OnChangeLook ();
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMainFrame)
public:
virtual void ActivateFrame(int nCmdShow = -1);
virtual BOOL LoadFrame(UINT nIDResource, DWORD dwDefaultStyle = WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, CWnd* pParentWnd = NULL, CCreateContext* pContext = NULL);
protected:
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
//}}AFX_VIRTUAL
virtual BOOL OnShowPopupMenu (CMFCPopupMenu* pMenuPopup);
virtual BOOL OnTearOffMenu (CMFCPopupMenu* pMenuPopup, CPane* pBar);
protected:
void AdjustObjectSubmenu (CMFCPopupMenu* pMenuPopup);
void AdjustColorsMenu (CMFCPopupMenu* pMenuPopup, UINT uiId);
// Implementation
public:
virtual ~CMainFrame();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
public:
CMFCMenuBar m_wndMenuBar;
CMFCToolBar m_wndToolBar;
CMFCStatusBar m_wndStatusBar;
CFormatBar m_wndFormatBar;
CRulerBar m_wndRulerBar;
CTaskPane m_wndTaskPane;
protected: // control bar embedded members
BOOL CreateMenuBar();
BOOL CreateToolBar();
BOOL CreateFormatBar();
BOOL CreateStatusBar();
BOOL CreateRulerBar();
BOOL CreateTaskPane ();
// Generated message map functions
protected:
//{{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnSysColorChange();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnMove(int x, int y);
afx_msg void OnHelpFinder();
afx_msg void OnDropFiles(HDROP hDropInfo);
afx_msg void OnFontChange();
afx_msg BOOL OnQueryNewPalette();
afx_msg void OnPaletteChanged(CWnd* pFocusWnd);
afx_msg void OnDevModeChange(LPTSTR lpDeviceName);
afx_msg void OnViewCustomize();
afx_msg void OnViewFullScreen();
//}}AFX_MSG
afx_msg LRESULT OnBarState(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnOpenMsg(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnHelpCustomizeToolbars(WPARAM wp, LPARAM lp);
afx_msg LRESULT OnStartCustomize(WPARAM wp, LPARAM lp);
afx_msg LRESULT OnToolbarCreateNew(WPARAM,LPARAM);
afx_msg LRESULT OnGetDocumentColors(WPARAM,LPARAM);
afx_msg void OnDummy();
afx_msg void OnAskQuestion();
DECLARE_MESSAGE_MAP()
};
...
BOOL CMainFrame::OnShowPopupMenu (CMFCPopupMenu* pMenuPopup)
{
BOOL bRes = CFrameWndEx::OnShowPopupMenu (pMenuPopup);
if (pMenuPopup != NULL && !pMenuPopup->IsCustomizePane())
{
AdjustObjectSubmenu (pMenuPopup);
AdjustColorsMenu (pMenuPopup, ID_CHAR_COLOR);
}
return bRes;
}
繼承階層架構
需求
標題: afxframewndex.h