비고
MFC(Microsoft Foundation Classs) 라이브러리는 계속 지원됩니다. 그러나 더 이상 기능을 추가하거나 설명서를 업데이트하지 않습니다.
주 프레임 창에서 도킹 레이아웃을 제어하는 핵심 기능을 구현합니다.
구문
class CDockingManager : public CObject
멤버
공용 메서드
데이터 멤버
| 이름 | 설명 |
|---|---|
| CDockingManager::m_bHideDockingBarsInContainerMode | 도킹 관리자가 OLE 컨테이너 모드에서 창을 숨길지 여부를 지정합니다. |
| CDockingManager::m_dockModeGlobal | 전역 도킹 모드를 지정합니다. |
| CDockingManager::m_nDockSensitivity | 도킹 민감도를 지정합니다. |
| CDockingManager::m_nTimeOutBeforeDockingBarDock | 도킹 창이 즉시 도킹 모드로 도킹되기 전의 시간(밀리초)을 지정합니다. |
| CDockingManager::m_nTimeOutBeforeToolBarDock | 도구 모음이 주 프레임 창에 도킹되기 전의 시간(밀리초)을 지정합니다. |
설명
주 프레임 창에서 이 클래스를 자동으로 만들고 초기화합니다.
도킹 관리자 개체에는 도킹 레이아웃에 있는 모든 창 목록과 주 프레임 창에 속하는 모든 CPaneFrameWnd 창 목록이 포함됩니다.
클래스는 CDockingManager 창 또는 창을 찾는 데 사용할 수 있는 일부 서비스를 구현합니다 CPaneFrameWnd . 일반적으로 이러한 서비스는 기본 프레임 창 개체에 래핑되므로 직접 호출하지 않습니다. 자세한 내용은 CPaneFrameWnd 클래스를 참조 하세요.
사용자 지정 팁
다음 팁은 개체에 CDockingManager 적용됩니다.
CDockingManager 클래스 는 다음 도킹 모드를 지원합니다.
AFX_DOCK_TYPE::DT_IMMEDIATEAFX_DOCK_TYPE::DT_STANDARDAFX_DOCK_TYPE::DT_SMART
이러한 도킹 모드는 CDockingManager::m_dockModeGlobal 의해 정의되며 CDockingManager::SetDockingMode를 호출하여 설정됩니다.
크기 조정이 불가능한 부동 창을 만들려면 CDockingManager::AddPane 메서드를 호출합니다. 이 메서드는 창의 레이아웃을 담당하는 도킹 관리자에 창을 등록합니다.
예시
다음 예제에서는 클래스의 다양한 메서드를 사용하여 개체를 CDockingManagerCDockingManager 구성하는 방법을 보여 줍니다. 이 예제에서는 모든 도킹 창의 캡션에 팝업 메뉴를 여는 추가 단추를 표시하는 방법과 개체의 도킹 모드를 설정하는 방법을 보여 줍니다. 이 코드 조각은 Visual Studio 데모 샘플의 일부입니다.
CDockingManager *pDockManager = GetDockingManager();
ASSERT_VALID(pDockManager);
pDockManager->AdjustPaneFrames();
pDockManager->EnableDockSiteMenu();
pDockManager->SetDockingMode(DT_STANDARD);
상속 계층 구조
요구 사항
헤더: afxDockingManager.h
CDockingManager::AddDockSite
도크 창을 만들어 컨트롤 막대 목록에 추가합니다.
BOOL AddDockSite(
const AFX_DOCKSITE_INFO& info,
CDockSite** ppDockBar = NULL);
매개 변수
정보
[in] 도킹 창 맞춤이 포함된 정보 구조체에 대한 참조입니다.
ppDockBar
[out] 새 도크 창에 대한 포인터에 대한 포인터입니다.
반환 값
도킹 창이 성공적으로 만들어진 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.
CDockingManager::AddHiddenMDITabbedBar
숨겨진 MDI 탭 막대 창 목록에 막대 창에 핸들을 추가합니다.
void AddHiddenMDITabbedBar(CDockablePane* pBar);
매개 변수
pBar
[in] 막대 창에 대한 포인터
CDockingManager::AddPane
도킹 관리자에 창을 등록합니다.
BOOL AddPane(
CBasePane* pWnd,
BOOL bTail = TRUE,
BOOL bAutoHide = FALSE,
BOOL bInsertForOuterEdge = FALSE);
매개 변수
pWnd
[in, out] 도킹 관리자에 추가할 창을 지정합니다.
bTail
[in] TRUE이면 도킹 관리자의 창 목록 끝에 창을 추가합니다. 그렇지 않으면 FALSE입니다.
bAutoHide
[in] 내부 전용입니다. 항상 기본값 FALSE를 사용합니다.
bInsertForOuterEdge
[in] 내부 전용입니다. 항상 기본값 FALSE를 사용합니다.
반환 값
창이 도킹 관리자에 성공적으로 등록되었으면 TRUE입니다. 그렇지 않으면 FALSE입니다.
설명
이 메서드를 호출하여 크기 조정이 불가능한 부동 창을 도킹 관리자에 등록합니다. 창을 등록하지 않으면 도킹 관리자가 배치될 때 제대로 표시되지 않습니다.
CDockingManager::AdjustDockingLayout
프레임 창에 있는 모든 창의 레이아웃을 다시 계산하고 조정합니다.
virtual void AdjustDockingLayout(HDWP hdwp = NULL);
매개 변수
hdwp
[in] 지연된 창 위치 구조를 지정합니다. 자세한 내용은 Windows 데이터 형식을 참조하세요.
설명
CDockingManager::AddMiniFrame
미니 프레임 목록에 프레임을 추가합니다.
virtual BOOL AddMiniFrame(CPaneFrameWnd* pWnd);
매개 변수
pWnd
[in] 프레임에 대한 포인터입니다.
반환 값
프레임이 미니 프레임 목록에 없으며 성공적으로 추가된 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.
CDockingManager::AdjustPaneFrames
WM_NCCALCSIZE 메시지를 모든 창과 CPaneFrameWnd 창으로 보내도록 합니다.
virtual void AdjustPaneFrames();
설명
CDockingManager::AdjustRectToClientArea
사각형의 맞춤을 조정합니다.
virtual BOOL AdjustRectToClientArea(
CRect& rectResult,
DWORD dwAlignment);
매개 변수
rectResult
[in] 개체에 대한 CRect 참조
dwAlignment
[in] 개체의 CRect 맞춤
반환 값
개체의 CRect 맞춤이 조정되었으면 TRUE입니다. 그렇지 않으면 FALSE입니다.
설명
dwAlignment 매개 변수는 다음 값 중 하나를 가질 수 있습니다.
CBRS_ALIGN_TOP
CBRS_ALIGN_BOTTOM
CBRS_ALIGN_LEFT
CBRS_ALIGN_RIGHT
CDockingManager::AlignAutoHidePane
도킹 창의 크기를 자동 숨기기 모드로 조정하여 도킹 사이트로 둘러싸인 프레임 클라이언트 영역의 전체 너비 또는 높이를 사용합니다.
void AlignAutoHidePane(
CPaneDivider* pDefaultSlider,
BOOL bIsVisible = TRUE);
매개 변수
pDefaultSlider
[in] 도킹 슬라이더 창입니다.
bIsVisible
[in] 도킹 창이 표시되면 TRUE이고, 그렇지 않으면 FALSE입니다.
CDockingManager::AutoHidePane
자동 숨기기 도구 모음을 만듭니다.
CMFCAutoHideToolBar* AutoHidePane(
CDockablePane* pBar,
CMFCAutoHideToolBar* pCurrAutoHideToolBar = NULL);
매개 변수
pBar
[in] 막대 창에 대한 포인터입니다.
pCurrAutoHideToolBar
[in] 자동 숨기기 도구 모음에 대한 포인터입니다.
반환 값
자동 숨기기 도구 모음이 만들어지지 않은 경우 NULL입니다. 그렇지 않으면 새 도구 모음에 대한 포인터입니다.
CDockingManager::BringBarsToTop
지정된 맞춤이 있는 도킹된 막대를 맨 위로 가져옵니다.
void BringBarsToTop(
DWORD dwAlignment = 0,
BOOL bExcludeDockedBars = TRUE);
매개 변수
dwAlignment
[in] 다른 창의 맨 위로 가져온 도크 막대의 맞춤입니다.
bExcludeDockedBars
[in] 도킹된 막대가 맨 위에 있는 것을 제외하려면 TRUE입니다. 그렇지 않으면 FALSE입니다.
CDockingManager::BuildPanesMenu
메뉴에 도킹 창 및 도구 모음의 이름을 추가합니다.
void BuildPanesMenu(
CMenu& menu,
BOOL bToolbarsOnly);
매개 변수
메뉴
[in] 도킹 창 및 도구 모음의 이름을 추가하는 메뉴입니다.
bToolbarsOnly
[in] 메뉴에 도구 모음 이름만 추가하려면 TRUE입니다. 그렇지 않으면 FALSE입니다.
CDockingManager::CalcExpectedDockedRect
도킹된 창의 예상 사각형을 계산합니다.
void CalcExpectedDockedRect(
CWnd* pWnd,
CPoint ptMouse,
CRect& rectResult,
BOOL& bDrawTab,
CDockablePane** ppTargetBar);
매개 변수
pWnd
[in] 도킹할 창에 대한 포인터입니다.
ptMouse
[in] 마우스 위치입니다.
rectResult
[out] 계산된 사각형입니다.
bDrawTab
[in] 탭을 그리려면 TRUE입니다. 그렇지 않으면 FALSE입니다.
ppTargetBar
[out] 대상 창에 대한 포인터에 대한 포인터입니다.
설명
이 메서드는 사용자가 ptMouse로 지정된 지점으로 창을 끌어서 고정한 경우 창이 차지하는 사각형을 계산합니다.
CDockingManager::Create
도킹 관리자를 만듭니다.
BOOL Create(CFrameWnd* pParentWnd);
매개 변수
pParentWnd
[in] 도킹 관리자의 부모 프레임에 대한 포인터입니다. 이 값은 NULL이 아니어야 합니다.
반환 값
항상 TRUE입니다.
CDockingManager::D eterminePaneAndStatus
지정된 지점과 해당 도킹 상태가 포함된 창을 결정합니다.
virtual AFX_CS_STATUS DeterminePaneAndStatus(
CPoint pt,
int nSensitivity,
DWORD dwEnabledAlignment,
CBasePane** ppTargetBar,
const CBasePane* pBarToIgnore,
const CBasePane* pBarToDock);
매개 변수
pt
[in] 확인할 창의 위치입니다.
nSensitivity
[in] 선택한 각 창의 창 사각형을 늘릴 값입니다. 지정된 지점이 이 증가된 지역에 있는 경우 창이 검색 조건을 충족합니다.
dwEnabledAlignment
[in] 도킹 창의 맞춤입니다.
ppTargetBar
[out] 대상 창에 대한 포인터에 대한 포인터입니다.
pBarToIgnore
[in] 메서드가 무시하는 창입니다.
pBarToDock
[in] 도킹된 창입니다.
반환 값
도킹 상태입니다.
설명
도킹 상태는 다음 값 중 하나일 수 있습니다.
| AFX_CS_STATUS 값 | 의미 |
|---|---|
| CS_NOTHING | 포인터가 도크 사이트 위에 있지 않습니다. 따라서 창을 부동 상태로 유지합니다. |
| CS_DOCK_IMMEDIATELY | 포인터가 직접 실행 모드(DT_IMMEDIATE 스타일 사용)의 도크 사이트 위에 있으므로 창을 즉시 도킹해야 합니다. |
| CS_DELAY_DOCK | 포인터는 다른 도킹 창이거나 주 프레임의 가장자리인 도킹 사이트 위에 있습니다. |
| CS_DELAY_DOCK_TO_TAB | 포인터는 창이 탭 창에 도킹되도록 하는 도크 사이트 위에 있습니다. 이는 마우스가 다른 도킹 창의 캡션 위에 있거나 탭 창의 탭 영역 위에 있을 때 발생합니다. |
CDockingManager::D isableRestoreDockState
레지스트리에서 도킹 레이아웃 로드를 사용하거나 사용하지 않도록 설정합니다.
void DisableRestoreDockState(BOOL bDisable = TRUE);
매개 변수
bDisable
[in] 레지스트리에서 도킹 레이아웃 로드를 사용하지 않도록 설정하려면 TRUE입니다. 그렇지 않으면 FALSE입니다.
설명
애플리케이션 상태가 로드되는 경우 도킹 창 및 도구 모음의 현재 레이아웃을 유지해야 하는 경우 이 메서드를 호출합니다.
CDockingManager::D ockPane
창을 다른 창이나 프레임 창에 도킹합니다.
void DockPane(
CBasePane* pBar,
UINT nDockBarID = 0,
LPCRECT lpRect = NULL);
매개 변수
pBar
[in] 도킹할 막대 창에 대한 포인터입니다.
nDockBarID
[in] 도킹할 막대의 ID입니다.
lpRect
[in] 대상 사각형입니다.
CDockingManager::D ockPaneLeftOf
창을 다른 창의 왼쪽에 도킹합니다.
BOOL DockPaneLeftOf(
CPane* pBarToDock,
CPane* pTargetBar);
매개 변수
pBarToDock
[in] pTargetBar의 왼쪽에 도킹할 창에 대한 포인터입니다.
pTargetBar
[in] 대상 창에 대한 포인터입니다.
반환 값
창이 성공적으로 도킹된 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.
CDockingManager::EnableAutoHidePanes
창을 주 프레임에 도킹할 수 있도록 설정하고, 도킹 창을 만들고, 컨트롤 막대 목록에 추가합니다.
BOOL EnableAutoHidePanes(DWORD dwStyle);
매개 변수
dwStyle
[in] 도킹 맞춤입니다.
반환 값
도킹 창이 성공적으로 만들어진 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.
CDockingManager::EnableDocking
도킹 창을 만들고 창을 주 프레임에 도킹할 수 있습니다.
BOOL EnableDocking(DWORD dwStyle);
매개 변수
dwStyle
[in] 도킹 맞춤입니다.
반환 값
도킹 창이 성공적으로 만들어진 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.
CDockingManager::EnableDockSiteMenu
모든 도킹 창의 캡션에 팝업 메뉴를 여는 추가 단추를 표시합니다.
static void EnableDockSiteMenu(BOOL bEnable = TRUE);
매개 변수
bEnable
[in] TRUE이면 Dock 사이트 메뉴를 사용하도록 설정합니다. 그렇지 않으면 FALSE입니다.
설명
도킹 사이트 메뉴에는 창의 도킹 상태를 변경하기 위한 다음 옵션이 표시됩니다.
Floating- 창을 부동Docking- 창이 마지막으로 도킹된 위치의 주 프레임에 창을 도킹합니다.AutoHide- 창을 자동 숨기기 모드로 전환합니다.Hide- 창 숨기기
기본적으로 이 메뉴는 표시되지 않습니다.
CDockingManager::EnablePaneContextMenu
사용자가 마우스 오른쪽 단추를 클릭하고 라이브러리가 WM_CONTEXTMENU 메시지를 처리할 때 애플리케이션 도구 모음 및 도킹 창 목록이 있는 특수 상황에 맞는 메뉴를 표시하도록 라이브러리에 지시합니다.
void EnablePaneContextMenu(
BOOL bEnable,
UINT uiCustomizeCmd,
const CString& strCustomizeText,
BOOL bToolbarsOnly = FALSE);
매개 변수
bEnable
[in] TRUE이면 라이브러리가 자동 상황에 맞는 메뉴에 대한 지원을 켭니다. FALSE이면 라이브러리가 자동 상황에 맞는 메뉴에 대한 지원을 해제합니다.
uiCustomizeCmd
[in] 메뉴의 사용자 지정 항목에 대한 명령 ID입니다.
strCustomizeText
[in] 사용자 지정 항목의 텍스트입니다.
bToolbarsOnly
[in] TRUE이면 메뉴에 애플리케이션 도구 모음 목록만 표시됩니다. FALSE이면 라이브러리에서 애플리케이션 도킹 창을 이 목록에 추가합니다.
CDockingManager::FindDockSite
지정된 위치에 있고 지정된 맞춤이 있는 막대 창을 검색합니다.
virtual CDockSite* FindDockSite(
DWORD dwAlignment,
BOOL bOuter);
매개 변수
dwAlignment
[in] 막대 창의 맞춤입니다.
bOuter
[in] TRUE이면 컨트롤 막대 목록의 머리 위치에서 막대를 검색합니다. 그렇지 않으면 컨트롤 막대 목록에서 비상 위치의 막대를 검색합니다.
반환 값
지정된 맞춤이 있는 도킹 창입니다. 그렇지 않으면 NULL입니다.
CDockingManager::FindPaneByID
지정된 컨트롤 ID로 창을 찾습니다.
virtual CBasePane* FindPaneByID(
UINT uBarID,
BOOL bSearchMiniFrames = FALSE);
매개 변수
uBarID
[in] 찾을 창의 컨트롤 ID를 지정합니다.
bSearchMiniFrames
[in] 검색에 모든 부동 창을 포함하려면 TRUE입니다. 도킹된 창만 포함하려면 FALSE입니다.
반환 값
지정된 컨트롤 ID가 있는 CBasePane 개체이거나, 지정된 창을 찾을 수 없는 경우 NULL입니다.
설명
CDockingManager::FindDockSiteByPane
대상 막대 창의 ID가 있는 막대 창을 반환합니다.
virtual CDockSite* FindDockSiteByPane(CPane* pTargetBar);
매개 변수
pTargetBar
[in] 대상 막대 창에 대한 포인터입니다.
반환 값
대상 막대 창의 ID가 있는 막대 창입니다. 이러한 막대 창이 없으면 NULL입니다.
CDockingManager::FixupVirtualRects
모든 현재 도구 모음 위치를 가상 사각형에 커밋합니다.
virtual void FixupVirtualRects();
설명
사용자가 도구 모음을 끌기 시작하면 애플리케이션은 가상 사각형에서 원래 위치를 기억합니다. 사용자가 도크 사이트에서 도구 모음을 이동하면 도구 모음이 다른 도구 모음을 이동할 수 있습니다. 다른 도구 모음의 원래 위치는 해당 가상 사각형에 저장됩니다.
CDockingManager::FrameFromPoint
지정된 점을 포함하는 프레임을 반환합니다.
virtual CPaneFrameWnd* FrameFromPoint(
CPoint pt,
CPaneFrameWnd* pFrameToExclude,
BOOL bFloatMultiOnly) const;
매개 변수
pt
[in] 확인할 점을 화면 좌표로 지정합니다.
pFrameToExclude
[in] 제외할 프레임에 대한 포인터입니다.
bFloatMultiOnly
[in] 인스턴스가 아닌 프레임을 제외하려면 TRUE입니다. CMultiPaneFrameWnd 그렇지 않으면 FALSE입니다.
반환 값
지정된 지점을 포함하는 프레임입니다. 그렇지 않으면 NULL입니다.
CDockingManager::GetClientAreaBounds
클라이언트 영역의 범위를 포함하는 사각형을 가져옵니다.
CRect GetClientAreaBounds() const;
void GetClientAreaBounds(CRect& rcClient);
매개 변수
rcClient
[out] 클라이언트 영역의 범위를 포함하는 사각형에 대한 참조입니다.
반환 값
클라이언트 영역의 범위를 포함하는 사각형입니다.
CDockingManager::GetDockingMode
현재 도킹 모드를 반환합니다.
static AFX_DOCK_TYPE GetDockingMode();
반환 값
현재 도킹 모드를 나타내는 열거자 값입니다. 다음 값 중 하나일 수 있습니다.
DT_STANDARD
DT_IMMEDIATE
DT_SMART
설명
도킹 모드를 설정하려면 CDockingManager::SetDockingMode를 호출합니다.
CDockingManager::GetDockSiteFrameWnd
부모 창 프레임에 대한 포인터를 가져옵니다.
CFrameWnd* GetDockSiteFrameWnd() const;
반환 값
부모 창 프레임에 대한 포인터입니다.
CDockingManager::GetEnabledAutoHideAlignment
창의 활성화된 맞춤을 반환합니다.
DWORD GetEnabledAutoHideAlignment() const;
반환 값
CBRS_ALIGN_ 플래그의 비트 조합이거나 자동 숨기기 창이 활성화되지 않은 경우 0입니다. 자세한 내용은 CFrameWnd::EnableDocking을 참조 하세요.
설명
이 메서드는 자동 숨기기 컨트롤 막대에 대해 활성화된 맞춤을 반환합니다. 자동 숨기기 막대를 사용하도록 설정하려면 CFrameWndEx::EnableAutoHidePanes를 호출 합니다.
CDockingManager::GetMiniFrames
미니프레임 목록을 가져옵니다.
const CObList& GetMiniFrames() const;
반환 값
도킹 관리자에 속하는 컨트롤 막대가 포함된 미니프레임 목록입니다.
CDockingManager::GetOuterEdgeBounds
프레임의 바깥 가장자리가 들어 있는 사각형을 가져옵니다.
CRect GetOuterEdgeBounds() const;
반환 값
프레임의 바깥 가장자리가 들어 있는 사각형입니다.
CDockingManager::GetPaneList
도킹 관리자에 속하는 창 목록을 반환합니다. 여기에는 모든 부동 창이 포함됩니다.
void GetPaneList(
CObList& lstBars,
BOOL bIncludeAutohide = FALSE,
CRuntimeClass* pRTCFilter = NULL,
BOOL bIncludeTabs = FALSE);
매개 변수
lstBars
[in, out] 현재 도킹 관리자의 모든 창을 포함합니다.
bIncludeAutohide
[in] 자동 숨기기 모드에 있는 창을 포함하려면 TRUE입니다. 그렇지 않으면 FALSE입니다.
pRTCFilter
[in] NULL이 아닌 경우 반환된 목록에는 지정된 런타임 클래스의 창만 포함됩니다.
bIncludeTabs
[in] 탭을 포함하려면 TRUE입니다. 그렇지 않으면 FALSE입니다.
설명
도킹 관리자에 탭 창이 있는 경우 메서드는 CBaseTabbedPane 클래스 개체에 대한 포인터를 반환하며 탭을 명시적으로 열거해야 합니다.
pRTCFilter를 사용하여 특정 창 클래스를 가져옵니다. 예를 들어 이 값을 적절하게 설정하여 도구 모음만 가져올 수 있습니다.
CDockingManager::GetSmartDockingManager
스마트 도킹 관리자에 대한 포인터를 검색합니다.
CSmartDockingManager* GetSmartDockingManager();
반환 값
스마트 도킹 관리자에 대한 포인터입니다.
CDockingManager::GetSmartDockingManagerPermanent
스마트 도킹 관리자에 대한 포인터를 검색합니다.
CSmartDockingManager* GetSmartDockingManagerPermanent() const;
반환 값
스마트 도킹 관리자에 대한 포인터입니다.
CDockingManager::GetSmartDockingParams
도킹 관리자에 대한 스마트 도킹 매개 변수를 반환합니다.
static CSmartDockingInfo& GetSmartDockingParams();
반환 값
현재 도킹 관리자에 대한 스마트 도킹 매개 변수를 포함하는 클래스입니다. 자세한 내용은 CSmartDockingInfo 클래스를 참조 하세요.
설명
CDockingManager::HideAutoHidePanes
자동 숨기기 모드에 있는 창을 숨깁니다.
void HideAutoHidePanes(
CDockablePane* pBarToExclude = NULL,
BOOL bImmediately = FALSE);
매개 변수
pBarToExclude
[in] 숨김에서 제외할 막대에 대한 포인터입니다.
bImmediately
[in] 창을 즉시 숨기려면 TRUE입니다. 자동 숨기기 효과를 사용하여 창을 숨기려면 FALSE입니다.
CDockingManager::InsertDockSite
도크 창을 만들어 컨트롤 막대 목록에 삽입합니다.
BOOL InsertDockSite(
const AFX_DOCKSITE_INFO& info,
DWORD dwAlignToInsertAfter,
CDockSite** ppDockBar = NULL);
매개 변수
정보
[in] 도크 창에 대한 맞춤 정보를 포함하는 구조체입니다.
dwAlignToInsertAfter
[in] 도크 창의 맞춤입니다.
ppDockBar
[out] 도크 창에 대한 포인터에 대한 포인터입니다.
반환 값
도킹 창이 성공적으로 만들어진 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.
CDockingManager::InsertPane
컨트롤 막대 목록에 컨트롤 창을 삽입합니다.
BOOL InsertPane(
CBasePane* pControlBar,
CBasePane* pTarget,
BOOL bAfter = TRUE);
매개 변수
pControlBar
[in] 컨트롤 창에 대한 포인터입니다.
pTarget
[in] 대상 창에 대한 포인터입니다.
bAfter
[in] TRUE이면 대상 창의 위치 뒤에 창을 삽입합니다. 그렇지 않으면 FALSE입니다.
반환 값
컨트롤 창이 컨트롤 막대 목록에 성공적으로 추가되면 TRUE이고, 그렇지 않으면 FALSE입니다.
설명
컨트롤 창이 컨트롤 막대 목록에 이미 있거나 대상 창이 컨트롤 막대 목록에 없는 경우 이 메서드는 false를 반환합니다.
CDockingManager::IsDockSiteMenu
모든 창의 캡션에 팝업 메뉴가 표시되는지 여부를 지정합니다.
static BOOL IsDockSiteMenu();
반환 값
TRUE이면 모든 도킹 창의 캡션에 도킹 사이트 메뉴가 표시됩니다. 그렇지 않으면 FALSE입니다.
설명
CDockingManager::EnableDockSiteMenu를 호출하여 dock 사이트 메뉴를 사용하도록 설정할 수 있습니다.
CDockingManager::IsInAdjustLayout
모든 창의 레이아웃이 조정되는지 여부를 결정합니다.
BOOL IsInAdjustLayout() const;
반환 값
모든 창의 레이아웃이 조정되면 TRUE입니다. 그렇지 않으면 FALSE입니다.
CDockingManager::IsOLEContainerMode
도킹 관리자가 OLE 컨테이너 모드에 있는지 여부를 지정합니다.
BOOL IsOLEContainerMode() const;
반환 값
도킹 관리자가 OLE 컨테이너 모드인 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.
설명
OLE 컨테이너 모드에서는 모든 도킹 창과 애플리케이션 도구 모음이 숨겨집니다. CDockingManager::m_bHideDockingBarsInContainerMode TRUE로 설정한 경우에도 창이 이 모드에서 숨겨집니다.
CDockingManager::IsPointNearDockSite
지정된 지점이 Dock 사이트 근처에 있는지 여부를 확인합니다.
BOOL IsPointNearDockSite(
CPoint point,
DWORD& dwBarAlignment,
BOOL& bOuterEdge) const;
매개 변수
point
[in] 지정된 지점입니다.
dwBarAlignment
[out] 점이 가까운 가장자리를 지정합니다. 가능한 값은 CBRS_ALIGN_LEFT, CBRS_ALIGN_RIGHT, CBRS_ALIGN_TOP 및 CBRS_ALIGN_BOTTOM.
bOuterEdge
[out] 지점이 도크 사이트의 바깥 테두리 근처에 있으면 TRUE이고, 그렇지 않으면 FALSE입니다.
반환 값
지점이 도크 사이트 근처에 있으면 TRUE입니다. 그렇지 않으면 FALSE입니다.
CDockingManager::IsPrintPreviewValid
인쇄 미리 보기 모드가 설정되어 있는지 여부를 확인합니다.
BOOL IsPrintPreviewValid() const;
반환 값
인쇄 미리 보기 모드가 설정된 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.
CDockingManager::LoadState
레지스트리에서 도킹 관리자의 상태를 로드합니다.
virtual BOOL LoadState(
LPCTSTR lpszProfileName = NULL,
UINT uiID = (UINT) -1);
매개 변수
lpszProfileName
[in] 프로필 이름입니다.
uiID
[in] 도킹 관리자의 ID입니다.
반환 값
도킹 관리자 상태가 성공적으로 로드된 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.
CDockingManager::LockUpdate
지정된 창을 잠깁니다.
void LockUpdate(BOOL bLock);
매개 변수
bLock
[in] 창이 잠겨 있으면 TRUE이고, 그렇지 않으면 FALSE입니다.
설명
창이 잠겨 있으면 이동할 수 없으며 다시 그릴 수 없습니다.
CDockingManager::m_bHideDockingBarsInContainerMode
도킹 관리자가 OLE 컨테이너 모드에서 창을 숨길지 여부를 지정합니다.
AFX_IMPORT_DATA static BOOL m_bHideDockingBarsInContainerMode;
설명
애플리케이션이 OLE 컨테이너 모드에 있을 때 모든 창을 주 프레임에 도킹된 상태로 유지하려면 이 값을 FALSE로 설정합니다. 기본적으로 이 값은 TRUE입니다.
CDockingManager::m_dockModeGlobal
전역 도킹 모드를 지정합니다.
AFX_IMPORT_DATA static AFX_DOCK_TYPE m_dockModeGlobal;
설명
기본적으로 각 도킹 창은 이 도킹 모드를 사용합니다. 이 필드를 설정할 수 있는 값에 대한 자세한 내용은 CBasePane::GetDockingMode를 참조하세요.
CDockingManager::m_nDockSensitivity
도킹 민감도를 지정합니다.
AFX_IMPORT_DATA static int m_nDockSensitivity;
설명
도킹 민감도는 프레임워크가 상태를 도킹 상태로 변경하기 전에 부동 창이 도킹 창, 도킹 사이트 또는 다른 창에 접근하는 방법을 정의합니다.
CDockingManager::m_nTimeOutBeforeDockingBarDock
도킹 창이 즉시 도킹 모드로 도킹되기 전의 시간(밀리초)을 지정합니다.
static UINT m_nTimeOutBeforeDockingBarDock;
설명
창이 도킹되기 전에 프레임워크는 지정된 시간 길이를 기다립니다. 이렇게 하면 사용자가 계속 끌어서 있는 동안 창이 실수로 위치에 도킹되지 않습니다.
CDockingManager::m_nTimeOutBeforeToolBarDock
도구 모음이 주 프레임 창에 도킹되기 전의 시간(밀리초)을 지정합니다.
static UINT m_nTimeOutBeforeToolBarDock;
설명
도구 모음이 도킹되기 전에 프레임워크는 지정된 시간 동안 대기합니다. 이렇게 하면 도구 모음이 사용자가 계속 끌어서 있는 동안 실수로 위치에 도킹되지 않습니다.
CDockingManager::OnActivateFrame
프레임 창이 활성화되거나 비활성화될 때 프레임워크에서 호출됩니다.
virtual void OnActivateFrame(BOOL bActivate);
매개 변수
bActivate
[in] TRUE이면 프레임 창이 활성화됩니다. FALSE이면 프레임 창이 비활성화됩니다.
CDockingManager::OnClosePopupMenu
활성 팝업 메뉴에서 WM_DESTROY 메시지를 처리할 때 프레임워크에서 호출됩니다.
void OnClosePopupMenu();
설명
프레임워크는 현재 주 창을 닫을 때 WM_DESTROY 메시지를 보냅니다. 개체가 WM_DESTROY 메시지를 처리할 때 프레임 창에 속하는 개체의 CMFCPopupMenu 알림을 처리하도록 이 메서드를 재정의 CMFCPopupMenu 합니다.
CDockingManager::OnMoveMiniFrame
미니 프레임 창을 이동하기 위해 프레임워크에서 호출됩니다.
virtual BOOL OnMoveMiniFrame(CWnd* pFrame);
매개 변수
pFrame
[in] 미니 프레임 창에 대한 포인터입니다.
반환 값
메서드가 성공하면 TRUE입니다. 그렇지 않으면 FALSE입니다.
CDockingManager::OnPaneContextMenu
창 목록이 있는 메뉴를 빌드할 때 프레임워크에서 호출됩니다.
void OnPaneContextMenu(CPoint point);
매개 변수
point
[in] 메뉴의 위치를 지정합니다.
CDockingManager::P aneFromPoint
지정된 점을 포함하는 창을 반환합니다.
virtual CBasePane* PaneFromPoint(
CPoint point,
int nSensitivity,
bool bExactBar = false,
CRuntimeClass* pRTCBarType = NULL,
BOOL bCheckVisibility = FALSE,
const CBasePane* pBarToIgnore = NULL) const;
virtual CBasePane* PaneFromPoint(
CPoint point,
int nSensitivity,
DWORD& dwAlignment,
CRuntimeClass* pRTCBarType = NULL,
const CBasePane* pBarToIgnore = NULL) const;
매개 변수
point
[in] 확인할 점을 화면 좌표로 지정합니다.
nSensitivity
[in] 선택한 각 창의 창 사각형을 확장할 값입니다. 지정된 지점이 확장된 영역에 있는 경우 창이 검색 조건을 충족합니다.
bExactBar
[in] nSensitivity 매개 변수를 무시하려면 TRUE이고, 그렇지 않으면 FALSE입니다 .
pRTCBarType
[in] NULL이 아닌 경우 메서드는 지정된 형식의 창만 검색합니다.
bCheckVisibility
[in] 표시되는 창만 확인하려면 TRUE입니다. 그렇지 않으면 FALSE입니다.
dwAlignment
[out] 지정된 지점에서 창을 찾을 경우 이 매개 변수에는 지정된 지점에 가장 가까운 창의 측면이 포함됩니다. 자세한 내용은 설명 섹션을 참조하세요.
pBarToIgnore
[in] NULL이 아닌 경우 메서드는 이 매개 변수로 지정된 창을 무시합니다.
반환 값
지정된 지점을 포함하는 CBasePane 파생 개체이거나, 창을 찾을 수 없는 경우 NULL입니다.
설명
함수가 반환되고 창이 발견 되면 dwAlignment 에는 지정된 점의 맞춤이 포함됩니다. 예를 들어 점이 창 맨 위에 가장 가까운 경우 dwAlignment 는 CBRS_ALIGN_TOP 설정됩니다.
CDockingManager::P rocessPaneContextMenuCommand
프레임워크에서 호출하여 지정된 명령에 대한 확인란을 선택하거나 선택 취소하고 표시된 창의 레이아웃을 다시 계산합니다.
BOOL ProcessPaneContextMenuCommand(
UINT nID,
int nCode,
void* pExtra,
AFX_CMDHANDLERINFO* pHandlerInfo);
매개 변수
nID
[in] 메뉴에 있는 컨트롤 막대의 ID입니다.
nCode
[in] 명령 알림 코드입니다.
pExtra
[in] nCodeCCmdUI포인터로 캐스팅되는 void에 대한 포인터입니다.
pHandlerInfo
[in] 정보 구조에 대한 포인터입니다. 이 매개 변수는 사용되지 않습니다.
반환 값
pEXtra가 NULL이 아니고 nCode가 CN_UPDATE_COMMAND_UI 같거나 지정된 nID가 있는 컨트롤 막대가 있는 경우 TRUE입니다.
CDockingManager::RecalcLayout
컨트롤 목록에 있는 컨트롤의 내부 레이아웃을 다시 계산합니다.
virtual void RecalcLayout(BOOL bNotify = TRUE);
매개 변수
bNotify
[in] 이 매개 변수는 사용되지 않습니다.
CDockingManager::ReleaseEmptyPaneContainers
빈 창 컨테이너를 해제합니다.
void ReleaseEmptyPaneContainers();
CDockingManager::RemoveHiddenMDITabbedBar
지정한 숨겨진 막대 창을 제거합니다.
void RemoveHiddenMDITabbedBar(CDockablePane* pBar);
매개 변수
pBar
[in] 제거할 막대 창에 대한 포인터입니다.
CDockingManager::RemoveMiniFrame
미니 프레임 목록에서 지정된 프레임을 제거합니다.
virtual BOOL RemoveMiniFrame(CPaneFrameWnd* pWnd);
매개 변수
pWnd
[in] 제거할 프레임에 대한 포인터입니다.
반환 값
지정된 프레임이 제거되면 TRUE이고, 그렇지 않으면 FALSE입니다.
CDockingManager::RemovePaneFromDockManager
창을 등록 취소하고 도킹 관리자의 목록에서 제거합니다.
void RemovePaneFromDockManager(
CBasePane* pWnd,
BOOL bDestroy,
BOOL bAdjustLayout,
BOOL bAutoHide = FALSE,
CBasePane* pBarReplacement = NULL);
매개 변수
pWnd
[in] 제거할 창에 대한 포인터입니다.
bDestroy
[in] TRUE이면 제거된 창이 제거됩니다.
bAdjustLayout
[in] TRUE이면 도킹 레이아웃을 즉시 조정합니다.
bAutoHide
[in] TRUE이면 자동 숨기기 막대 목록에서 창이 제거됩니다. FALSE이면 일반 창 목록에서 창이 제거됩니다.
pBarReplacement
[in] 제거된 창을 대체하는 창에 대한 포인터입니다.
CDockingManager::ReplacePane
한 창을 다른 창으로 대체합니다.
BOOL ReplacePane(
CDockablePane* pOriginalBar,
CDockablePane* pNewBar);
매개 변수
pOriginalBar
[in] 원래 창에 대한 포인터입니다.
pNewBar
[in] 원래 창을 대체하는 창에 대한 포인터입니다.
반환 값
창이 성공적으로 바뀐 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.
CDockingManager::ResortMiniFramesForZOrder
미니 프레임 목록의 프레임을 사용합니다.
void ResortMiniFramesForZOrder();
CDockingManager::SaveState
도킹 관리자의 상태를 레지스트리에 저장합니다.
virtual BOOL SaveState(
LPCTSTR lpszProfileName = NULL,
UINT uiID = (UINT) -1);
매개 변수
lpszProfileName
[in] 레지스트리 키에 대한 경로입니다.
uiID
[in] 도킹 관리자 ID입니다.
반환 값
상태가 성공적으로 저장되었으면 TRUE입니다. 그렇지 않으면 FALSE입니다.
설명
도킹 관리자의 상태를 레지스트리에 저장하려면 컨트롤 막대의 상태, 자동 숨기기 막대의 상태 및 도킹 관리자에 있는 미니 프레임의 상태를 저장하는 작업이 포함됩니다.
CDockingManager::SendMessageToMiniFrames
지정된 메시지를 모든 미니 프레임에 보냅니다.
BOOL SendMessageToMiniFrames(
UINT uMessage,
WPARAM wParam = 0,
LPARAM lParam = 0);
매개 변수
uMessage
[in] 보낼 메시지입니다.
wParam
[in] 추가 메시지 종속 정보입니다.
lParam
[in] 추가 메시지 종속 정보입니다.
반환 값
항상 TRUE입니다.
CDockingManager::Serialize
보관 파일에 도킹 관리자를 씁니다.
void Serialize(CArchive& ar);
매개 변수
ar
[in] 보관 개체에 대한 참조입니다.
설명
도킹 관리자를 보관 파일에 기록하려면 도킹 컨트롤 막대 및 슬라이더의 수를 결정하고 컨트롤 막대, 미니 프레임, 자동 숨기기 막대 및 MDI 탭 막대를 보관 파일에 쓰는 작업이 포함됩니다.
CDockingManager::SetAutohideZOrder
컨트롤 막대 및 지정된 창의 크기, 너비 및 높이를 설정합니다.
void SetAutohideZOrder(CDockablePane* pAHDockingBar);
매개 변수
pAHDockingBar
[in] 도킹 가능한 창에 대한 포인터입니다.
CDockingManager::SetDockingMode
도킹 모드를 설정합니다.
static void SetDockingMode(
AFX_DOCK_TYPE dockMode,
AFX_SMARTDOCK_THEME theme = AFX_SDT_DEFAULT);
매개 변수
dockMode
새 도킹 모드를 지정합니다. 자세한 내용은 설명 섹션을 참조하세요.
테마
스마트 도킹 표식에 사용할 테마를 지정합니다. AFX_SDT_DEFAULT, AFX_SDT_VS2005, AFX_SDT_VS2008 열거형 값 중 하나일 수 있습니다.
설명
이 정적 메서드를 호출하여 도킹 모드를 설정합니다.
dockMode 는 다음 값 중 하나일 수 있습니다.
DT_STANDARD - Visual Studio .NET 2003에서 구현된 표준 도킹 모드입니다. 끌어는 컨텍스트 없이 창을 끌 수 있습니다.
DT_IMMEDIATE - Microsoft Visio에서 구현된 즉시 도킹 모드입니다. 창은 끌기 컨텍스트로 끌지만 표식은 표시되지 않습니다.
DT_SMART - Visual Studio 2005에서 구현된 스마트 도킹 모드입니다. 창은 끌기 컨텍스트와 함께 끌어와 창이 도킹할 수 있는 위치를 보여 주는 스마트 표식이 표시됩니다.
CDockingManager::SetDockState
컨트롤 막대, 미니 프레임 및 자동 숨기기 막대의 도킹 상태를 설정합니다.
virtual void SetDockState();
CDockingManager::SetPrintPreviewMode
인쇄 미리 보기에 표시되는 막대의 인쇄 미리 보기 모드를 설정합니다.
void SetPrintPreviewMode(
BOOL bPreview,
CPrintPreviewState* pState);
매개 변수
bPreview
[in] 인쇄 미리 보기 모드가 설정된 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.
pState
[in] 미리 보기 상태에 대한 포인터입니다. 이 매개 변수는 사용되지 않습니다.
CDockingManager::SetSmartDockingParams
스마트 도킹의 동작을 정의하는 매개 변수를 설정합니다.
static void SetSmartDockingParams(CSmartDockingInfo& params);
매개 변수
params
[in, out] 스마트 도킹에 대한 매개 변수를 정의합니다.
설명
스마트 도킹 표식의 모양, 색 또는 모양을 사용자 지정하려면 이 메서드를 호출합니다.
스마트 도킹 마커에 대한 기본 모양을 사용하려면 CSmartDockingInfo 클래스의 초기화되지 않은 인스턴스를 매개 변수에 전달합니다.
CDockingManager::ShowDelayShowMiniFrames
미니 프레임의 창을 표시하거나 숨깁니다.
void ShowDelayShowMiniFrames(BOOL bshow);
매개 변수
bShow
[in] 표시된 프레임의 창을 활성화하려면 TRUE입니다. 틀의 창을 숨기려면 FALSE입니다.
CDockingManager::ShowPanes
컨트롤 및 자동 숨기기 막대의 창을 표시하거나 숨깁니다.
virtual BOOL ShowPanes(BOOL bShow);
매개 변수
bShow
[in] 창을 표시하려면 TRUE입니다. 창을 숨기려면 FALSE입니다.
반환 값
항상 FALSE입니다.
CDockingManager::StartSDocking
스마트 도킹 관리자의 맞춤에 따라 지정된 창의 스마트 도킹을 시작합니다.
void StartSDocking(CWnd* pDockingWnd);
매개 변수
pDockingWnd
[in] 도킹할 창에 대한 포인터입니다.
CDockingManager::StopSDocking
스마트 도킹을 중지합니다.
void StopSDocking();
CDockingManager::GetSmartDockingTheme
스마트 도킹 표식을 표시하는 데 사용되는 테마를 반환하는 정적 메서드입니다.
static AFX_SMARTDOCK_THEME __stdcall GetSmartDockingTheme();
반환 값
AFX_SDT_DEFAULT, AFX_SDT_VS2005, AFX_SDT_VS2008 열거형 값 중 하나를 반환합니다.
설명
참고 항목
계층 구조 차트
클래스
CObject 클래스
CFrameWndEx 클래스
CDockablePane 클래스
CPaneFrameWnd 클래스