工具条停靠,小弟我能理解,但是主框架窗口停靠,是什么意思呢
工具条停靠,我能理解,但是主框架窗口停靠,是什么意思呢?
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
------解决方案--------------------
CFrameWnd::EnableDocking
Call this function to enable dockable control bars in a frame window.
------解决方案--------------------
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
以上是允许工具条停靠在任何位置,说的就是可以停靠在父窗口的任何位置吧
EnableDocking(CBRS_ALIGN_ANY);
以上是允许主框架窗口停靠。指的是主框架停靠在父窗口的任何位置吧
可是,主框架的父窗口是谁呢?它没有父窗口呀?
以下描述的意思是,允许工具条停靠在主框架窗口。
CFrameWnd::EnableDocking
Call this function to enable dockable control bars in a frame window.
但是,m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);也是允许工具条停靠在主框架上呀,
二者难道都是指同样的意思吗?不会吧。
------解决方案--------------------
一个是可以停靠,一个是可以被停靠
- C/C++ code
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
------解决方案--------------------
CFrameWnd::EnableDocking
Call this function to enable dockable control bars in a frame window.
------解决方案--------------------
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
以上是允许工具条停靠在任何位置,说的就是可以停靠在父窗口的任何位置吧
EnableDocking(CBRS_ALIGN_ANY);
以上是允许主框架窗口停靠。指的是主框架停靠在父窗口的任何位置吧
可是,主框架的父窗口是谁呢?它没有父窗口呀?
以下描述的意思是,允许工具条停靠在主框架窗口。
CFrameWnd::EnableDocking
Call this function to enable dockable control bars in a frame window.
但是,m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);也是允许工具条停靠在主框架上呀,
二者难道都是指同样的意思吗?不会吧。
------解决方案--------------------
一个是可以停靠,一个是可以被停靠