ToolBar 이어붙이기

ToolBar를 이어 붙이기

CMainFrame에 다음과 같은 함수를 추가한다.

void CMainFrame::DockControlBarLeftOf(CToolBar* Bar, CToolBar* LeftOf)
{
 CRect rect;
 DWORD dw;
 UINT n;

 // get MFC to adjust the dimensions of all docked ToolBars
 // so that GetWindowRect will be accurate
 RecalcLayout(TRUE);

 LeftOf->GetWindowRect(&rect);
 rect.OffsetRect(1,0);
 dw=LeftOf->GetBarStyle();
 n = 0;
 n = (dw&CBRS_ALIGN_TOP) ? AFX_IDW_DOCKBAR_TOP : n;
 n = (dw&CBRS_ALIGN_BOTTOM && n==0) ? AFX_IDW_DOCKBAR_BOTTOM : n;
 n = (dw&CBRS_ALIGN_LEFT && n==0) ? AFX_IDW_DOCKBAR_LEFT : n;
 n = (dw&CBRS_ALIGN_RIGHT && n==0) ? AFX_IDW_DOCKBAR_RIGHT : n;

 // When we take the default parameters on rect, DockControlBar will dock
 // each Toolbar on a seperate line. By calculating a rectangle, we
 // are simulating a Toolbar being dragged to that location and docked.
 DockControlBar(Bar,n,&rect);
}

사용예)

m_wndToolBar1.EnableDocking(CBRS_ALIGN_ANY);
 m_wndToolBar2.EnableDocking(CBRS_ALIGN_ANY);
 EnableDocking(CBRS_ALIGN_ANY);
 DockControlBar(&m_wndToolBar1);
 DockControlBarLeftOf(&m_wndToolBar2,&m_wndToolBar1);

출처 : CodeProject
http://www.codeproject.com/docking/toolbar_docking.asp?df=100&forumid=54&exp=0&select=1013370

답글 남기기

이메일 주소는 공개되지 않습니다.