int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
} if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
} // TODO: Delete these three lines if you don't want the toolbar to
// be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar); return 0;
}
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar); return 0;
以上代码,先设置工具条可以停靠,在设置主框架窗口可以停靠。
我不解,主框架窗口,本身就是主窗口,是别的窗口的容器,它自己能往哪停靠呢?
GetWindowRect和GetClientRect的区别把。。
http://www.kaifa6.com/v/mfcshouce/Class/CFrameWnd_EnableDocking.htmutton
Call this function to enable dockable control bars in a frame window.
以上是允许工具条停靠在任何位置,说的就是可以停靠在父窗口的任何位置吧 EnableDocking(CBRS_ALIGN_ANY);
以上是允许主框架窗口停靠。指的是主框架停靠在父窗口的任何位置吧
可是,主框架的父窗口是谁呢?它没有父窗口呀?
以下描述的意思是,允许工具条停靠在主框架窗口。
CFrameWnd::EnableDocking
Call this function to enable dockable control bars in a frame window.
但是,m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);也是允许工具条停靠在主框架上呀,
二者难道都是指同样的意思吗?不会吧。