MFC DockablePane 停靠问题

利用MFC的DockablePane在MainFrame.cpp中添加代码后,DockablePane已经可以停靠,但是得不到我需要的样子。现在得到的界面如图:我想要的结... 利用MFC的DockablePane 在 MainFrame.cpp中添加代码后,DockablePane已经可以停靠,但是得不到我需要的样子。
现在得到的界面如图:

我想要的结果:

比较两图,主要是停靠窗口的高度范围不同,还有右侧status窗口没显示。

在mainframe.cpp OnCreate函数中添加的代码:
m_MyPane.Create(_T("MyPane"), this, CRect(0, 0, 200, 200), TRUE, 966,
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI)//创建左侧的myPane窗口

m_MyPane_set.Create(_T("set"), this, CRect(00, 0, 200, 200), TRUE, 2345,
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI);//创建左侧的set窗口

m_MyPane_status.Create(_T("status"), this, CRect(00, 0, 200, 200), TRUE, 23498,
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_RIGHT | CBRS_FLOAT_MULTI);//创建右侧的status窗口

this->EnableDocking(CBRS_ALIGN_ANY);
m_MyPane.EnableDocking(CBRS_LEFT); //左侧的myPane窗口
m_MyPane_set.EnableDocking(CBRS_LEFT);//左侧的set窗口
m_MyPane_status.EnableDocking(CBRS_RIGHT); //右侧的status窗口

DockPane(&m_MyPane); //停靠myPane窗口,(默认停靠的顶部和菜单栏持平,怎么改???,应该停靠在view区域,而现在停靠在frame区域)。
m_MyPane_set.AttachToTabWnd(&m_MyPane,DM_SHOW);
DockPane(&m_MyPane_status); ////停靠右侧的status窗口,(为什么初始化时不显示???)
展开
 我来答
任明星Ming
推荐于2018-05-07 · TA获得超过798个赞
知道小有建树答主
回答量:1061
采纳率:100%
帮助的人:1147万
展开全部
你想要的结果是通常是带了CSplitter进行窗口分割了的,且分割的窗口都是和TabCtrl在同一个父窗口下。

但你的那个出问题的是和tabctrl的父窗口是同级的了。

解决办法是,在mainframewnd下面,在创建一个子窗口的CFrameWnd,在这个FrameWnd里面创建3个子窗口。
微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式