MFC多文档界面(MDI)应用程序中,子框架中的停靠窗口CDockablePane状态保存

在主框架中,向导生成的几个停靠窗CDockablePane状态会自动保存,即在第二次打开时,停靠窗的大小和位置会和上次的状态一致,这对于使用者来说是非常友好的。但如果想在子框架中有自己的停靠窗且保存状态,就不是很容易了。经过研究,采用如下方法一定可以将子框架的停靠窗状态保存下来。

创建并显示停靠窗,在子框架的OnCreate函数中实现,和主框架相同,在此不在赘述。下面重点将子框架如何实现状态保存。

1、保存状态
有两个地方,一个是APP类中的虚函数SaveCustomState()中遍历所有子框架,对状态进行保存,保存在状态需要取不同的名字。
以下为参考例子:
void CProtocolTestToolsApp::SaveCustomState()
{
POSITION pos = theApp.pDocT_Protocol->GetFirstDocPosition();
while (pos != NULL)
{
CProtocolTestToolsDoc* pDoc = (CProtocolTestToolsDoc*)(theApp.pDocT_Protocol)->GetNextDoc(pos);
if (pDoc == NULL) break;
POSITION pos1 = pDoc->GetFirstViewPosition();
if (pos1 != NULL)
{
CProtocolTestToolsView* pView = (CProtocolTestToolsView*)pDoc->GetNextView(pos1);

	CChildFrame* pParent = (CChildFrame*)pV
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值