以VS2010为例,创建一个MFC多文档应用程序,在第二步Aplication Type中的Project style选Visual Studio风格。然后点Finish。
这个模板程序创建了FileView、ClassView、OutputWnd、PropertiesWnd这4个停靠窗口。下面以ClassView为例说明停靠窗口及其内部控件的建立过程。
一、建立停靠窗
1、以CDockablePane为基类,创建ClassView类,类名为CClassView
2、在主框架类CMainFrame(位于MainFrm.h)中定义CClassView 的对象m_wndClassView(稍后在CClassView 中会看到一个CViewTree的对象与此对象同名,注意他们的含义是不同的),ClassView这个停靠窗口就是主框架创建过程中,用m_wndClassView这个对象创建的。
3、在MainFrm.cpp的OnCreate函数内的// Enable enhanced windows management dialog 之前创建停靠窗ClassView。语句如下:
if (!m_wndClassView.Create(_T( "Title" ), this, CRect(0, 0, 200, 200), TRUE, ID_VIEW_CLASSVIEW, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI))
{
TRACE0("Failed to create Class View window\n");
return FALSE; // failed to create
}
m_wndClassView.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_wndClassView);
注:第一个参数是停靠窗口的标题
this表示在当前位置(也就是主框架)创建此停靠窗
CR