一直在模仿,从未超越。
CMainFrame中
创建对象
CMapPane m_MapPane;//这个对象类,必须要是CDockablePane的子类。
-------------------------------
在CMainFrame::OnCreate中,
// 创建自己的盘子
CString strClassView1;
bNameValid = strClassView1.LoadString(IDS_CLASS_VIEW);
ASSERT(bNameValid);
if (!m_MyPane.Create(strClassView1, this, CRect(0, 0, 200, 200), TRUE, ID_VIEW_CLASSVIEW, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI))
{
TRACE0("未能创建“类视图”窗口\n");
return FALSE; // 未能创建
}
m_MyPane.EnableDocking(CBRS_ALIGN_ANY);//启用窗格的停靠到主框架。
DockPane(&m_MyPane);//停靠指定的窗格到框架窗口
---------------------------------------------------
添加菜单,然后菜单绑定消息显示/隐藏 自己的盘子(此处根据自己的需要放在类中,本例放在doc里面)
((CMainFrame*)AfxGetMainWnd())->m_MapPane.ShowPane(TRUE, TRUE, TRUE); //第一个参数为显示,隐藏
---------------------------------------------------------------------------------------
注意事项,
一显示刷新出问题,未能解决。各种刷新不同步,全试过了
二,记忆功能。。明天搞定。