COleIPFrameWndEx 類別
COleIPFrameWndEx 類別實作 MFC 支援的 OLE 容器。 您必須從 COleIPFrameWndEx 類別衍生您的應用程式的就地框架視窗類別,而不是衍生它從 COleIPFrameWnd類別。
class COleIPFrameWndEx : public COleIPFrameWnd
成員
公用方法
名稱 |
描述 |
---|---|
|
|
|
|
|
|
|
|
停駐在其他窗格左側的窗格。 |
|
|
|
|
|
|
|
讓指標回到目前顯示的快顯功能表。 |
|
|
|
傳回您指定框架視窗的資源 ID 視窗時載入。 |
|
|
|
|
|
|
|
讓指標回到附加的功能表列物件到框架視窗。 |
|
|
|
傳回在 Tear-Off 狀態窗格的物件清單。 |
|
由架構呼叫按鈕的工具提示目前是否顯示。 |
|
|
|
判斷為功能表列的物件指標是否不是 NULL。 |
|
|
|
覆寫 ( COleIPFrameWnd::LoadFrame)。 |
|
|
|
|
|
由架構呼叫,當一個作用中的快顯功能表處理 WM_DESTROY 訊息。 |
|
覆寫 ( CFrameWnd::OnCmdMsg)。 |
|
由架構呼叫,當與功能表項目繪製影像。 |
|
由架構呼叫,當 CMFCPopupMenu物件處理 WM_PAINT 訊息。 |
|
由架構呼叫,當 CMFCToolBarButton物件處理 WM_NCHITTEST 訊息。 |
|
|
|
呼叫此成員函式設定應用程式的主框架視窗輸入和在預覽列印模式。 覆寫 ( CFrameWnd::OnSetPreviewMode)。 |
|
|
|
|
|
由架構呼叫時,快顯功能表啟動。 |
|
由架構呼叫,當有 Tear-Off 列的功能表啟動。 |
|
|
|
覆寫 ( COleIPFrameWnd::PreTranslateMessage)。 |
|
覆寫 ( COleIPFrameWnd::RecalcLayout)。 |
|
|
|
套用到指定的固定狀態屬於框架視窗的窗格。 |
|
藉由搜尋 false 的項目和取代這些修改工具列物件具有指定使用者定義的項目。 |
|
|
受保護的方法
名稱 |
描述 |
---|---|
告知架構使用的控制項 ID 的範圍指派給使用者定義的工具列。 |
範例
下列範例示範如何子類別中 COleIPFrameWndEx 類別的執行個體和乘坐它的方法。 這個範例將示範如何結束乘巡 OnDestory 方法、方法、 RepositionFrameRecalcLayout 方法和 CalcWindowRect 方法。 這個程式碼片段是 文字填補範例的一部分。
void CInPlaceFrame::OnDestroy()
{
m_wndToolBar.DestroyWindow();
m_wndFormatBar.DestroyWindow();
COleIPFrameWndEx::OnDestroy();
}
void CInPlaceFrame::RepositionFrame(LPCRECT lpPosRect, LPCRECT lpClipRect)
{
CRect rectNew = lpPosRect;
rectNew.left -= HORZ_TEXTOFFSET;
rectNew.top -= VERT_TEXTOFFSET;
m_wndResizeBar.BringWindowToTop();
COleIPFrameWndEx::RepositionFrame(&rectNew, lpClipRect);
CWnd* pWnd = GetActiveView();
if (pWnd != NULL)
pWnd->BringWindowToTop();
m_wndRulerBar.BringWindowToTop();
}
void CInPlaceFrame::RecalcLayout(BOOL bNotify)
{
if (m_wndResizeBar.m_hWnd != NULL)
m_wndResizeBar.BringWindowToTop();
COleIPFrameWndEx::RecalcLayout(bNotify);
CWnd* pWnd = GetActiveView();
if (pWnd != NULL)
pWnd->BringWindowToTop();
if (m_wndRulerBar.m_hWnd != NULL)
m_wndRulerBar.BringWindowToTop();
// at least 12 pt region plus ruler if it exists
CDisplayIC dc;
CSize size;
size.cy = MulDiv(12, dc.GetDeviceCaps(LOGPIXELSY), 72)+1;
size.cx = dc.GetDeviceCaps(LOGPIXELSX)/4; // 1/4"
size.cx += HORZ_TEXTOFFSET; //adjust for offset
size.cy += VERT_TEXTOFFSET;
if (m_wndRulerBar.m_hWnd != NULL && m_wndRulerBar.IsVisible())
{
CRect rect;
m_wndRulerBar.GetWindowRect(&rect);
size.cy += rect.Height();
}
m_wndResizeBar.SetMinSize(size);
}
void CInPlaceFrame::CalcWindowRect(LPRECT lpClientRect, UINT nAdjustType)
{
COleIPFrameWndEx::CalcWindowRect(lpClientRect, nAdjustType);
}
繼承階層架構
需求
標題: afxoleipframewndex.h