COleIPFrameWndEx 클래스
COleIPFrameWndEx
클래스는 MFC를 지원하는 OLE 컨테이너를 구현합니다. 애플리케이션에 대한 현재 위치의 프레임 창 클래스는 COleIPFrameWndEx
COleIPFrameWnd 클래스에서 파생하는 대신클래스에서 파생해야 합니다.
더 자세한 내용은 Visual Studio 설치의 VC\atlmfc\src\mfc 폴더에 있는 소스 코드를 참조하세요.
구문
class COleIPFrameWndEx : public COleIPFrameWnd
멤버
공용 메서드
보호된 메서드
속성 | 설명 |
---|---|
COleIPFrameWndEx::InitUserToobars | 사용자 정의 도구 모음에 할당되는 컨트롤 ID의 범위를 초기화하도록 프레임워크에 지시합니다. |
예시
다음 예제에서는 COleIPFrameWndEx
클래스의 인스턴스를 하위 클래스로 지정하고 해당 메서드를 재정의하는 방법을 보여 줍니다. 이 예제에서는 OnDestory
메서드, RepositionFrame
메서드, RecalcLayout
메서드 및 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
COleIPFrameWndEx::AddDockSite
void AddDockSite();
설명
COleIPFrameWndEx::AddPane
BOOL AddPane(
CBasePane* pControlBar,
BOOL bTail = TRUE);
매개 변수
[in] pControlBar
[in] bTail
Return Value
설명
COleIPFrameWndEx::AdjustDockingLayout
virtual void AdjustDockingLayout(HDWP hdwp = NULL);
매개 변수
[in] hdwp
설명
COleIPFrameWndEx::D ockPane
void DockPane(
CBasePane* pBar,
UINT nDockBarID = 0,
LPCRECT lpRect = NULL);
매개 변수
[in] pBar
[in] nDockBarID
[in] lpRect
설명
COleIPFrameWndEx::D ockPaneLeftOf
창을 다른 창의 왼쪽에 도킹합니다.
BOOL DockPaneLeftOf(
CPane* pBar,
CPane* pLeftOf);
매개 변수
pBar
[in] 도킹할 창에 대한 포인터입니다.
pLeftOf
[in] 원본으로 사용되는 창에 대한 포인터입니다.
Return Value
작업이 성공하면 TRUE를 반환합니다. 그러지 않으면 FALSE를 반환합니다.
설명
미리 정의된 순서로 여러 창 개체를 도킹하려면 이 메서드를 호출합니다. 이 메서드는 pBar로 지정된 창을 pLeftOf로 지정된 창의 왼쪽에 도킹합니다.
COleIPFrameWndEx::EnableAutoHidePanes
BOOL EnableAutoHidePanes(DWORD dwDockStyle);
매개 변수
[in] dwDockStyle
Return Value
설명
COleIPFrameWndEx::EnableDocking
BOOL EnableDocking(DWORD dwDockStyle);
매개 변수
[in] dwDockStyle
Return Value
설명
COleIPFrameWndEx::EnablePaneMenu
void EnablePaneMenu(
BOOL bEnable,
UINT uiCustomizeCmd,
const CString& strCustomizeLabel,
UINT uiViewToolbarsMenuEntryID,
BOOL bContextMenuShowsToolbarsOnly = FALSE,
BOOL bViewMenuShowsToolbarsOnly = FALSE);
매개 변수
[in] bEnable
[in] uiCustomizeCmd
[in] strCustomizeLabel
[in] uiViewToolbarsMenuEntryID
[in] bContextMenuShowsToolbarsOnly
[in] bViewMenuShowsToolbarsOnly
설명
COleIPFrameWndEx::GetActivePopup
현재 표시된 팝업 메뉴에 대한 포인터를 반환합니다.
CMFCPopupMenu* GetActivePopup() const;
Return Value
활성 팝업 메뉴에 대한 포인터입니다. 그렇지 않으면 NULL입니다.
설명
이 메서드를 사용하여 현재 표시된 CMFCPopupMenu 클래스 개체에 대한 포인터를 가져옵니다.
COleIPFrameWndEx::GetContainerFrameWindow
COleCntrFrameWndEx* GetContainerFrameWindow();
Return Value
설명
COleIPFrameWndEx::GetDefaultResId
프레임 창에서 메뉴를 로드할 때 지정한 메뉴 리소스 ID를 반환합니다.
UINT GetDefaultResId() const;
Return Value
메뉴의 리소스 ID를 반환하거나 프레임 창에 메뉴 모음이 없으면 0을 반환합니다.
설명
프레임 창에서 메뉴 리소스를 호출하여 로드할 때 지정된 리소스 ID를 검색하려면 이 함수를 호출 COleIPFrameWndEx::LoadFrame
합니다.
COleIPFrameWndEx::GetDockFrame
CFrameWnd* GetDockFrame();
Return Value
설명
COleIPFrameWndEx::GetDockingManager
CDockingManager* GetDockingManager();
Return Value
설명
COleIPFrameWndEx::GetMainFrame
CFrameWnd* GetMainFrame();
Return Value
설명
COleIPFrameWndEx::GetMenuBar
프레임 창에 연결된 메뉴 모음 개체에 대한 포인터를 반환합니다.
const CMFCMenuBar* GetMenuBar() const;
Return Value
메뉴 모음 개체에 대한 포인터입니다.
설명
이 함수를 사용하여 개체에 속하는 메뉴 모음 개체에 대한 포인터를 COleIPFrameWndEx
검색합니다.
COleIPFrameWndEx::GetPane
CBasePane* GetPane(UINT nID);
매개 변수
[in] nID
Return Value
설명
COleIPFrameWndEx::GetTearOffBars
분리 상태에 있는 창 개체의 목록을 반환합니다.
const CObList& GetTearOffBars() const;
Return Value
CBasePane 클래스 파생 개체에 대한 포인터 컬렉션이 들어 있는 개체에 대한 참조 CObList
입니다.
설명
이 개체는 COleIPFrameWndEx
CBasePane 클래스 파생 개체 목록으로 분리 메뉴의 컬렉션을 유지 관리합니다. 이 목록에 대한 참조를 검색하려면 이 메서드를 사용합니다.
COleIPFrameWndEx::GetToolbarButtonToolTipText
단추에 대한 도구 설명이 표시되기 전에 프레임워크에서 호출합니다.
virtual BOOL GetToolbarButtonToolTipText(
CMFCToolBarButton* pButton,
CString& strTTText);
매개 변수
pButton
[in] 단추에 대한 포인터입니다.
strTTText
[in] 도구 설명 텍스트에 대한 포인터입니다.
Return Value
기본 구현은 0을 반환합니다.
설명
도구 모음 단추의 도구 설명 표시를 사용자 지정하려면 이 함수를 재정의합니다.
COleIPFrameWndEx::InitUserToobars
프레임워크가 사용자 정의 도구 모음에 할당하는 컨트롤 ID 범위를 지정합니다.
void InitUserToolbars(
LPCTSTR lpszRegEntry,
UINT uiUserToolbarFirst,
UINT uiUserToolbarLast)
매개 변수
lpszRegEntry
[in] 라이브러리에서 사용자 도구 모음 설정을 저장하는 레지스트리 항목입니다.
uiUserToolbarFirst
[in] 첫 번째 사용자 정의 도구 모음에 할당된 컨트롤 ID입니다.
uiUserToolbarLast
[in] 마지막 사용자 정의 도구 모음에 할당된 컨트롤 ID입니다.
설명
이 함수를 사용하여 사용자가 동적으로 정의하는 도구 모음에 할당할 컨트롤 ID 범위를 초기화합니다. 매개 변수 uiUserToolbarFirst 및 uiUserToolbarLast 는 허용되는 도구 모음 컨트롤 ID 범위를 정의합니다. 사용자 정의 도구 모음 만들기를 사용하지 않도록 설정하려면 uiUserToolbarFirst 또는 uiUserToolbarLast를 -1로 설정합니다.
COleIPFrameWndEx::InsertPane
BOOL InsertPane(
CBasePane* pControlBar,
CBasePane* pTarget,
BOOL bAfter = TRUE);
매개 변수
[in] pControlBar
[in] pTarget
[in] bAfter
Return Value
설명
COleIPFrameWndEx::IsMenuBarAvailable
메뉴 모음 개체에 대한 포인터가 NULL이 아닌지 여부를 확인합니다.
BOOL IsMenuBarAvailable() const;
Return Value
프레임 창에 메뉴 모음이 있는 경우 0이 아닌 값을 반환합니다. 그렇지 않으면 0을 반환합니다.
설명
이 메서드를 호출하여 프레임 창이 메뉴 모음 개체에 대한 NULL이 아닌 포인터를 유지 관리하는지 여부를 확인합니다.
COleIPFrameWndEx::IsPointNearDockSite
BOOL IsPointNearDockSite(
CPoint point,
DWORD& dwBarAlignment,
BOOL& bOuterEdge) const;
매개 변수
[in] 점
[in] dwBarAlignment
[in] bOuterEdge
Return Value
설명
COleIPFrameWndEx::LoadFrame
virtual BOOL LoadFrame(
UINT nIDResource,
DWORD dwDefaultStyle = WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE,
CWnd* pParentWnd = NULL,
CCreateContext* pContext = NULL);
매개 변수
[in] nIDResource
[in] dwDefaultStyle
[in] pParentWnd
[in] pContext
Return Value
설명
COleIPFrameWndEx::OnCloseDockingPane
virtual BOOL OnCloseDockingPane(CDockablePane*);
매개 변수
[in] CDockablePane*
Return Value
설명
COleIPFrameWndEx::OnCloseMiniFrame
virtual BOOL OnCloseMiniFrame(CPaneFrameWnd*);
매개 변수
[in] CPaneFrameWnd*
Return Value
설명
COleIPFrameWndEx::OnClosePopupMenu
활성 팝업 메뉴에서 WM_DESTROY 메시지를 처리할 때 프레임워크에서 호출됩니다.
virtual void OnClosePopupMenu(CMFCPopupMenu* pMenuPopup);
매개 변수
pMenuPopup
[in] 팝업 메뉴 개체에 대한 포인터입니다.
설명
WM_DESTROY 메시지를 처리할 때 개체에서 CMFCPopupMenu
알림을 받도록 이 메서드를 재정의합니다.
COleIPFrameWndEx::OnCmdMsg
virtual BOOL OnCmdMsg(
UINT nID,
int nCode,
void* pExtra,
AFX_CMDHANDLERINFO* pHandlerInfo);
매개 변수
[in] nID
[in] nCode
[in] pExtra
[in] pHandlerInfo
Return Value
설명
COleIPFrameWndEx::OnDrawMenuImage
메뉴 항목과 연결된 이미지를 그릴 때 프레임워크에서 호출됩니다.
virtual BOOL OnDrawMenuImage(
CDC* pDC,
const CMFCToolBarMenuButton* pMenuButton,
const CRect& rectImage);
매개 변수
pDC
[in] 디바이스 컨텍스트에 대한 포인터입니다.
pMenuButton
[in] 메뉴 단추에 대한 포인터입니다.
rectImage
[in] 메뉴 항목과 연결된 이미지입니다.
Return Value
기본 구현은 아무 것도 수행하지 않으며 0을 반환합니다.
설명
파생 개체가 소유한 메뉴 모음에 속하는 메뉴 항목에 대한 이미지 그리기를 사용자 지정하려는 경우 이 메서드를 재정의 COleIPFrameWndEx
합니다.
COleIPFrameWndEx::OnDrawMenuLogo
CMFCPopupMenu개체에서 WM_PAINT 메시지를 처리할 때 프레임워크에서 호출됩니다.
virtual void OnDrawMenuLogo(
CDC* pDC,
CMFCPopupMenu* pMenu,
const CRect& rectLogo);
매개 변수
pDC
[in] 디바이스 컨텍스트에 대한 포인터입니다.
pMenu
[in] 팝업 메뉴 개체에 대한 포인터입니다.
rectLogo
[in] 표시할 로고에 대한 포인터입니다.
설명
파생 개체가 소유한 메뉴 모음과 연결된 팝업 메뉴에 로고를 표시하려면 이 메서드를 재정의 COleIPFrameWndEx
합니다. 기본 구현은 아무 작업도 수행하지 않습니다.
COleIPFrameWndEx::OnMenuButtonToolHitTest
CMFCToolBarButton개체가 WM_NCHITTEST 메시지를 처리할 때 프레임워크에서 호출됩니다.
virtual BOOL OnMenuButtonToolHitTest(
CMFCToolBarButton* pButton,
TOOLINFO* pTI);
매개 변수
[in] 메뉴 단추에 대한 pButton 포인터입니다.
[out] 구조체에 대한 pTI 포인터입니다 TOOLINFO
.
Return Value
기본 구현은 아무 것도 수행하지 않으며 0을 반환합니다. pTI 매개 변수를 채우는 경우 구현에서 0이 아닌 값을 반환해야 합니다.
설명
이 메서드를 재정의하여 특정 메뉴 항목에 대한 도구 설명 정보를 제공합니다.
COleIPFrameWndEx::OnMoveMiniFrame
virtual BOOL OnMoveMiniFrame(CWnd* pFrame);
매개 변수
[in] pFrame
Return Value
설명
COleIPFrameWndEx::OnSetPreviewMode
virtual void OnSetPreviewMode(
BOOL bPreview,
CPrintPreviewState* pState);
매개 변수
[in] bPreview
[in] pState
설명
COleIPFrameWndEx::OnShowCustomizePane
virtual BOOL OnShowCustomizePane(
CMFCPopupMenu* pMenuPane,
UINT uiToolbarID);
매개 변수
[in] pMenuPane
[in] uiToolbarID
Return Value
설명
COleIPFrameWndEx::OnShowPanes
virtual BOOL OnShowPanes(BOOL bShow);
매개 변수
[in] bShow
Return Value
설명
COleIPFrameWndEx::OnShowPopupMenu
팝업 메뉴가 표시될 때 프레임워크에서 호출됩니다.
virtual BOOL OnShowPopupMenu(CMFCPopupMenu* pMenuPopup);
매개 변수
pMenuPopup
[in] 표시할 팝업 메뉴에 대한 포인터입니다.
Return Value
기본 구현은 아무 작업도 수행하지 않으며 0이 아닌 값을 반환합니다. 팝업 메뉴를 표시할 수 없는 경우 구현에서 FALSE를 반환해야 합니다.
설명
팝업 메뉴의 표시를 사용자 지정하려면 이 메서드를 재정의합니다. 예를 들어 메뉴 단추를 색 메뉴 단추로 변경하거나 분리 막대를 초기화할 수 있습니다.
COleIPFrameWndEx::OnTearOffMenu
사용자가 분리 막대가 있는 메뉴를 선택할 때 프레임워크에서 호출됩니다.
virtual BOOL OnTearOffMenu(
CMFCPopupMenu* pMenuPopup,
CPane* pBar);
매개 변수
pMenuPopup
[in] 사용자가 선택한 팝업 메뉴에 대한 포인터입니다.
pBar
[in] 메뉴를 호스트하는 창에 대한 포인터입니다.
Return Value
TRUE이면 프레임워크가 팝업 메뉴를 활성화합니다. 그렇지 않으면 FALSE입니다. 기본값은 TRUE입니다.
설명
중단 표시줄의 설정을 사용자 지정하려는 경우 이 함수를 재정의합니다.
COleIPFrameWndEx::P aneFromPoint
CBasePane* PaneFromPoint(
CPoint point,
int nSensitivity,
bool bExactBar,
CRuntimeClass* pRTCBarType) const;
CBasePane* PaneFromPoint(
CPoint point,
int nSensitivity,
DWORD& dwAlignment,
CRuntimeClass* pRTCBarType) const;
매개 변수
[in] 점
[in] nSensitivity
[in] bExactBar
[in] pRTCBarType
[in] dwAlignment
Return Value
설명
COleIPFrameWndEx::P reTranslateMessage
virtual BOOL PreTranslateMessage(MSG* pMsg);
매개 변수
[in] pMsg
Return Value
설명
COleIPFrameWndEx::RecalcLayout
virtual void RecalcLayout(BOOL bNotify = TRUE);
매개 변수
[in] bNotify
설명
COleIPFrameWndEx::RemovePaneFromDockManager
void RemovePaneFromDockManager(
CBasePane* pControlBar,
BOOL bDestroy,
BOOL bAdjustLayout,
BOOL bAutoHide,
CBasePane* pBarReplacement);
매개 변수
[in] pControlBar
[in] bDestroy
[in] bAdjustLayout
[in] bAutoHide
[in] pBarReplacement
설명
COleIPFrameWndEx::SetDockState
프레임 창에 속하는 창에 지정된 도킹 상태를 적용합니다.
void SetDockState(const CDockState& state);
매개 변수
state
[in] 도킹 상태를 지정합니다.
설명
이 함수를 사용하여 개체에 속하는 창에 대한 새 도킹 상태를 지정할 수 COleIPFrameWndEx
있습니다.
COleIPFrameWndEx::SetupToolbarMenu
더미 항목을 검색하고 지정된 사용자 정의 항목으로 대체하여 도구 모음 개체를 수정합니다.
void SetupToolbarMenu(
CMenu& menu,
const UINT uiViewUserToolbarCmdFirst,
const UINT uiViewUserToolbarCmdLast);
매개 변수
메뉴
[in] 수정할 CMenu 개체에 대한 참조입니다.
uiViewUserToolbarCmdFirst
[in] 첫 번째 사용자 정의 명령을 지정합니다.
uiViewUserToolbarCmdLast
[in] 마지막 사용자 정의 명령을 지정합니다.
설명
COleIPFrameWndEx::ShowPane
void ShowPane(
CBasePane* pBar,
BOOL bShow,
BOOL bDelay,
BOOL bActivate);
매개 변수
[in] pBar
[in] bShow
[in] bDelay
[in] bActivate
설명
COleIPFrameWndEx::WinHelpA
WinHelp 애플리케이션 또는 상황에 맞는 도움말을 시작하기 위해 프레임워크에서 호출됩니다.
virtual void WinHelp(
DWORD dwData,
UINT nCmd = HELP_CONTEXT);
매개 변수
[in] dwData는 nCmd에서 지정한 도움말 유형에 필요한 데이터를 지정합니다.
nCmd
[in] 요청된 도움말의 유형을 지정합니다. 가능한 값 목록과 dwData 매개 변수에 미치는 영향은 Windows SDK의 WinHelp 함수를 참조하세요.