COleIPFrameWndEx クラス
COleIPFrameWndEx
クラスは、MFC をサポートする OLE コンテナーを実装します。 アプリケーションの埋め込み先フレーム ウィンドウ クラスを、 COleIPFrameWndEx
COleIPFrameWnd クラスからではなく、クラスから派生させる必要があります
詳細については、Visual Studio のインストールの VC\atlmfc\src\mfc フォルダーにあるソース コードを参照してください。
構文
class COleIPFrameWndEx : public COleIPFrameWnd
メンバー
パブリック メソッド
保護メソッド
名前 | 説明 |
---|---|
COleIPFrameWndEx::InitUserToobars | ユーザー定義のツールバーに割り当てられているコントロールの ID の範囲を初期化するようフレームワークに指示します。 |
例
次の例は、 COleIPFrameWndEx
クラスのインスタンスをサブクラス化して、メソッドをオーバーライドする方法を示しています。 OnDestory
メソッド、 RepositionFrame
メソッド、 RecalcLayout
メソッド、および CalcWindowRect
メソッドをオーバーライドする方法を例に示します。 このコード スニペットは、 Word パッド サンプルの一部です。
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
COleIPFrameWndEx::AddDockSite
void AddDockSite();
解説
COleIPFrameWndEx::AddPane
BOOL AddPane(
CBasePane* pControlBar,
BOOL bTail = TRUE);
パラメーター
[入力] pControlBar
[入力] bTail
戻り値
解説
COleIPFrameWndEx::AdjustDockingLayout
virtual void AdjustDockingLayout(HDWP hdwp = NULL);
パラメーター
[入力] hdwp
解説
COleIPFrameWndEx::DockPane
void DockPane(
CBasePane* pBar,
UINT nDockBarID = 0,
LPCRECT lpRect = NULL);
パラメーター
[入力] pBar
[入力] nDockBarID
[入力] lpRect
解説
COleIPFrameWndEx::DockPaneLeftOf
ウィンドウを別のウィンドウの左側にドッキングします。
BOOL DockPaneLeftOf(
CPane* pBar,
CPane* pLeftOf);
パラメーター
pBar
[入力] ドッキングするペインへのポインター。
pLeftOf
[入力] 元にするペインへのポインター。
戻り値
操作が成功した場合は TRUE を返します。 それ以外の場合は、FALSE を返します。
解説
このメソッドを呼び出して、複数のペイン オブジェクトをあらかじめ定義した順序でドッキングします。 このメソッドを使用して、pBar で指定したペインを pLeftOf で指定したペインの左側にドッキングします。
COleIPFrameWndEx::EnableAutoHidePanes
BOOL EnableAutoHidePanes(DWORD dwDockStyle);
パラメーター
[入力] dwDockStyle
戻り値
解説
COleIPFrameWndEx::EnableDocking
BOOL EnableDocking(DWORD dwDockStyle);
パラメーター
[入力] dwDockStyle
戻り値
解説
COleIPFrameWndEx::EnablePaneMenu
void EnablePaneMenu(
BOOL bEnable,
UINT uiCustomizeCmd,
const CString& strCustomizeLabel,
UINT uiViewToolbarsMenuEntryID,
BOOL bContextMenuShowsToolbarsOnly = FALSE,
BOOL bViewMenuShowsToolbarsOnly = FALSE);
パラメーター
[入力] bEnable
[入力] uiCustomizeCmd
[入力] strCustomizeLabel
[入力] uiViewToolbarsMenuEntryID
[入力] bContextMenuShowsToolbarsOnly
[入力] bViewMenuShowsToolbarsOnly
解説
COleIPFrameWndEx::GetActivePopup
現在表示されているポップアップ メニューへのポインターが返されます。
CMFCPopupMenu* GetActivePopup() const;
戻り値
アクティブなポップアップ メニューへのポインター。それ以外の場合は NULL。
解説
このメソッドを使用して、現在表示されている CMFCPopupMenu クラス オブジェクトへのポインターを取得します。
COleIPFrameWndEx::GetContainerFrameWindow
COleCntrFrameWndEx* GetContainerFrameWindow();
戻り値
解説
COleIPFrameWndEx::GetDefaultResId
フレーム ウィンドウでメニューが読み込まれたときに指定されたメニュー リソース ID を返します。
UINT GetDefaultResId() const;
戻り値
メニューのリソース ID を返します。フレーム ウィンドウにメニュー バーがない場合は 0 を返します。
解説
この関数を呼び出して、COleIPFrameWndEx::LoadFrame
を呼び出してフレーム ウィンドウでメニュー リソースが読み込まれたときに指定されたリソース ID を取得します。
COleIPFrameWndEx::GetDockFrame
CFrameWnd* GetDockFrame();
戻り値
解説
COleIPFrameWndEx::GetDockingManager
CDockingManager* GetDockingManager();
戻り値
解説
COleIPFrameWndEx::GetMainFrame
CFrameWnd* GetMainFrame();
戻り値
解説
COleIPFrameWndEx::GetMenuBar
フレーム ウィンドウにアタッチされているメニュー バーのオブジェクトへのポインターを返します。
const CMFCMenuBar* GetMenuBar() const;
戻り値
メニュー バー オブジェクトへのポインター。
解説
この関数を使用して、COleIPFrameWndEx
オブジェクトに属するメニュー バー オブジェクトへのポインターを取得します。
COleIPFrameWndEx::GetPane
CBasePane* GetPane(UINT nID);
パラメーター
[入力] nID
戻り値
解説
COleIPFrameWndEx::GetTearOffBars
ティアオフ状態にあるウィンドウ オブジェクトの一覧を返します。
const CObList& GetTearOffBars() const;
戻り値
CBasePane クラスの派生オブジェクトへのポインターのコレクションが含まれる CObList
オブジェクトへの参照。
解説
COleIPFrameWndEx
オブジェクトには、ティアオフ メニューのコレクションが CBasePane クラスの派生オブジェクトの一覧として保持されています。 このメソッドを使用して、この一覧への参照を取得します。
COleIPFrameWndEx::GetToolbarButtonToolTipText
ボタンのツールヒントが表示される前に、フレームワークによって呼び出されます。
virtual BOOL GetToolbarButtonToolTipText(
CMFCToolBarButton* pButton,
CString& strTTText);
パラメーター
pButton
[入力] ボタンへのポインター。
strTTText
[入力] ツールヒントのテキストへのポインター。
戻り値
既定の実装では、0 が返されます。
解説
この関数をオーバーライドして、ツール バーのボタンのツールヒントの表示をカスタマイズします。
COleIPFrameWndEx::InitUserToobars
フレームワークによってユーザー定義ツール バーに割り当てられるコントロール ID の範囲を指定します。
void InitUserToolbars(
LPCTSTR lpszRegEntry,
UINT uiUserToolbarFirst,
UINT uiUserToolbarLast)
パラメーター
lpszRegEntry
[入力] ライブラリにユーザー ツールバーの設定が格納されているレジストリ エントリ。
uiUserToolbarFirst
[入力] 最初のユーザー定義ツールバーに割り当てられるコントロール ID。
uiUserToolbarLast
[入力] 最後のユーザー定義ツールバーに割り当てられるコントロール ID。
解説
この関数を使用してコントロール ID の範囲を初期化し、ユーザーが動的に定義するツールバーに割り当てられるようにします。 uiUserToolbarFirst および uiUserToolbarLast パラメーターを使用して、許可するツールバー コントロール ID の範囲を定義します。 ユーザー定義ツールバーの作成を無効にするには、uiUserToolbarFirst または uiUserToolbarLast を -1 に設定します。
COleIPFrameWndEx::InsertPane
BOOL InsertPane(
CBasePane* pControlBar,
CBasePane* pTarget,
BOOL bAfter = TRUE);
パラメーター
[入力] pControlBar
[入力] pTarget
[入力] bAfter
戻り値
解説
COleIPFrameWndEx::IsMenuBarAvailable
メニュー バー オブジェクトへのポインターが NULL ではないかどうかを判断します
BOOL IsMenuBarAvailable() const;
戻り値
フレーム ウィンドウにメニュー バーがある場合は 0 でない値を返し、それ以外の場合は 0 を返します。
解説
このメソッドを呼び出して、フレーム ウィンドウにメニュー バー オブジェクトへの NULL 以外のポインターが保持されているかどうかを判断します。
COleIPFrameWndEx::IsPointNearDockSite
BOOL IsPointNearDockSite(
CPoint point,
DWORD& dwBarAlignment,
BOOL& bOuterEdge) const;
パラメーター
[入力] point
[入力] dwBarAlignment
[入力] bOuterEdge
戻り値
解説
COleIPFrameWndEx::LoadFrame
virtual BOOL LoadFrame(
UINT nIDResource,
DWORD dwDefaultStyle = WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE,
CWnd* pParentWnd = NULL,
CCreateContext* pContext = NULL);
パラメーター
[入力] nIDResource
[入力] dwDefaultStyle
[入力] pParentWnd
[入力] pContext
戻り値
解説
COleIPFrameWndEx::OnCloseDockingPane
virtual BOOL OnCloseDockingPane(CDockablePane*);
パラメーター
[入力] CDockablePane*
戻り値
解説
COleIPFrameWndEx::OnCloseMiniFrame
virtual BOOL OnCloseMiniFrame(CPaneFrameWnd*);
パラメーター
[入力] CPaneFrameWnd*
戻り値
解説
COleIPFrameWndEx::OnClosePopupMenu
アクティブなポップアップ メニューが WM_DESTROY メッセージを処理するときに、フレームワークによって呼び出されます。
virtual void OnClosePopupMenu(CMFCPopupMenu* pMenuPopup);
パラメーター
pMenuPopup
[入力] ポップアップ メニュー オブジェクトへのポインター。
解説
このメソッドをオーバーライドして、CMFCPopupMenu
オブジェクトで WM_DESTROY メッセージを処理するときに通知を受信します。
COleIPFrameWndEx::OnCmdMsg
virtual BOOL OnCmdMsg(
UINT nID,
int nCode,
void* pExtra,
AFX_CMDHANDLERINFO* pHandlerInfo);
パラメーター
[入力] nID
[入力] nCode
[入力] pExtra
[入力] pHandlerInfo
戻り値
解説
COleIPFrameWndEx::OnDrawMenuImage
メニュー項目に関連付けられている画像が描画されるときに、フレームワークから呼び出されます。
virtual BOOL OnDrawMenuImage(
CDC* pDC,
const CMFCToolBarMenuButton* pMenuButton,
const CRect& rectImage);
パラメーター
pDC
[入力] デバイス コンテキストへのポインター。
pMenuButton
[入力] メニュー ボタンへのポインター。
rectImage
[入力] メニュー項目に関連付けられている画像。
戻り値
既定の実装では何も実行されず、0 が返されます。
解説
このメソッドは、COleIPFrameWndEx
派生オブジェクトで所有されるメニュー バーに属するメニュー項目の画像描画をカスタマイズする場合にオーバーライドします。
COleIPFrameWndEx::OnDrawMenuLogo
CMFCPopupMenuオブジェクトが WM_PAINT メッセージを処理するときに、フレームワークによって呼び出されます。
virtual void OnDrawMenuLogo(
CDC* pDC,
CMFCPopupMenu* pMenu,
const CRect& rectLogo);
パラメーター
pDC
[入力] デバイス コンテキストへのポインター。
pMenu
[入力] ポップアップ メニュー オブジェクトへのポインター。
rectLogo
[入力] 表示するロゴへのポインター。
解説
このメソッドをオーバーライドして、COleIPFrameWndEx
派生オブジェクトで所有されるメニューバーに関連付けられているポップアップ メニューにロゴを表示します。 既定の実装では、何も行われません。
COleIPFrameWndEx::OnMenuButtonToolHitTest
CMFCToolBarButton オブジェクトで WM_NCHITTEST メッセージを処理するときに、フレームワークから呼び出されます。
virtual BOOL OnMenuButtonToolHitTest(
CMFCToolBarButton* pButton,
TOOLINFO* pTI);
パラメーター
[入力] pButton はメニュー ボタンへのポインターです。
[出力] pTI は TOOLINFO
構造体へのポインターです。
戻り値
既定の実装では何も実行されず、0 が返されます。 実装によって pTI パラメーターに値が設定された場合は、0 以外の値が返されます。
解説
このメソッドをオーバーライドして、特定のメニュー項目に関するツールヒント情報を提供します。
COleIPFrameWndEx::OnMoveMiniFrame
virtual BOOL OnMoveMiniFrame(CWnd* pFrame);
パラメーター
[入力] pFrame
戻り値
解説
COleIPFrameWndEx::OnSetPreviewMode
virtual void OnSetPreviewMode(
BOOL bPreview,
CPrintPreviewState* pState);
パラメーター
[入力] bPreview
[入力] pState
解説
COleIPFrameWndEx::OnShowCustomizePane
virtual BOOL OnShowCustomizePane(
CMFCPopupMenu* pMenuPane,
UINT uiToolbarID);
パラメーター
[入力] pMenuPane
[入力] uiToolbarID
戻り値
解説
COleIPFrameWndEx::OnShowPanes
virtual BOOL OnShowPanes(BOOL bShow);
パラメーター
[入力] bShow
戻り値
解説
COleIPFrameWndEx::OnShowPopupMenu
ポップアップ メニューが表示されるときに、フレームワークによって呼び出されます。
virtual BOOL OnShowPopupMenu(CMFCPopupMenu* pMenuPopup);
パラメーター
pMenuPopup
[入力] 表示されるポップアップ メニューへのポインター。
戻り値
既定の実装では何も実行されず、0 以外の値が返されます。 ポップアップ メニューを表示できない場合は、実装から FALSE が返されます。
解説
このメソッドをオーバーライドして、ポップアップ メニューの表示をカスタマイズします。 たとえば、メニュー ボタンをカラー メニュー ボタンに変更したり、ティアオフ バーを初期化したりできます。
COleIPFrameWndEx::OnTearOffMenu
ユーザーがティアオフ バーのあるメニューを選択したときに、フレームワークによって呼び出されます。
virtual BOOL OnTearOffMenu(
CMFCPopupMenu* pMenuPopup,
CPane* pBar);
パラメーター
pMenuPopup
[入力] ユーザーが選択したポップアップ メニューへのポインター。
pBar
[入力] メニューをホストするペインへのポインター。
戻り値
フレームワークでポップアップ メニューをアクティブにする場合は TRUE、それ以外の場合は FALSE。 既定値は TRUE です。
解説
この関数は、ティアオフ バーの設定をカスタマイズする場合にオーバーライドします。
COleIPFrameWndEx::PaneFromPoint
CBasePane* PaneFromPoint(
CPoint point,
int nSensitivity,
bool bExactBar,
CRuntimeClass* pRTCBarType) const;
CBasePane* PaneFromPoint(
CPoint point,
int nSensitivity,
DWORD& dwAlignment,
CRuntimeClass* pRTCBarType) const;
パラメーター
[入力] point
[入力] nSensitivity
[入力] bExactBar
[入力] pRTCBarType
[入力] dwAlignment
戻り値
解説
COleIPFrameWndEx::PreTranslateMessage
virtual BOOL PreTranslateMessage(MSG* pMsg);
パラメーター
[入力] pMsg
戻り値
解説
COleIPFrameWndEx::RecalcLayout
virtual void RecalcLayout(BOOL bNotify = TRUE);
パラメーター
[入力] bNotify
解説
COleIPFrameWndEx::RemovePaneFromDockManager
void RemovePaneFromDockManager(
CBasePane* pControlBar,
BOOL bDestroy,
BOOL bAdjustLayout,
BOOL bAutoHide,
CBasePane* pBarReplacement);
パラメーター
[入力] pControlBar
[入力] bDestroy
[入力] bAdjustLayout
[入力] bAutoHide
[入力] pBarReplacement
解説
COleIPFrameWndEx::SetDockState
フレーム ウィンドウに属するペインに、指定したドッキング状態を適用します。
void SetDockState(const CDockState& state);
パラメーター
state
[入力] ドッキング状態を指定します。
解説
この関数を使用して、COleIPFrameWndEx
オブジェクトに属するペインに新しいドッキング状態を指定します。
COleIPFrameWndEx::SetupToolbarMenu
ダミーの項目を検索して、指定されたユーザー定義の項目で置き換えることで、ツールバーのオブジェクトを変更します。
void SetupToolbarMenu(
CMenu& menu,
const UINT uiViewUserToolbarCmdFirst,
const UINT uiViewUserToolbarCmdLast);
パラメーター
メニュー
[入力] 変更する CMenu オブジェクトへの参照。
uiViewUserToolbarCmdFirst
[入力] 最初のユーザー定義コマンドを指定します。
uiViewUserToolbarCmdLast
[入力] 最後のユーザー定義コマンドを指定します。
解説
COleIPFrameWndEx::ShowPane
void ShowPane(
CBasePane* pBar,
BOOL bShow,
BOOL bDelay,
BOOL bActivate);
パラメーター
[入力] pBar
[入力] bShow
[入力] bDelay
[入力] bActivate
解説
COleIPFrameWndEx::WinHelpA
WinHelp アプリケーションまたはコンテキスト ヘルプを起動するために、フレームワークによって呼び出されます。
virtual void WinHelp(
DWORD dwData,
UINT nCmd = HELP_CONTEXT);
パラメーター
[入力] dwData には、nCmd で指定するヘルプの種類に必要なデータを指定します。
nCmd
[入力] 要求するヘルプの種類を指定します。 使用可能な値の一覧とそれらが dwData パラメーターに与える影響については、Windows SDK の「WinHelp 関数」を参照してください。