CControlBar::GetDockingFrame的一点问题

本文探讨了CControlBar::GetDockingFrame函数在MFC中的作用,特别是当工具栏以浮动窗口显示时如何保持其位置不变。通过孙鑫的MFC视频教程,了解到该函数用于获取控制条停靠的框架窗口,对于理解和实现浮动工具栏的显示与隐藏位置管理具有重要意义。
摘要由CSDN通过智能技术生成

这个函数的MSDN: http://msdn.microsoft.com/zh-cn/library/vstudio/41z5kzz8.aspx

今天看孙鑫的MFC视频第9课的浮动工具栏时,视频里有说当一个浮动窗口为一个独立的小窗口显示时,显示和隐藏后的位置不变,网上看到如下实现代码:

CRect rect;
	CFrameWnd* pParentFrame = m_newToolBar.GetDockingFrame();
	if (m_newToolBar.IsFloating())
	{
		pParentFrame->GetWindowRect(&rect);
	}
	if (m_newToolBar.IsWindowVisible())
	{
		m_newToolBar.ShowWindow(SW_HIDE);
	}
	else
	{
		m_newToolBar.ShowWindow(SW_SHOW);
	}
	RecalcLayout();
	DockControlBar(&m_newToolBar);
	if(!rect.IsRectEmpty())
	{
		FloatControlBar(&m_newToolBar,CPoint(rect.left,rect.top));
	}
上面代码中的GetDockingFrame我刚开始看不明白,我觉得这样是返回的主框架窗口的对象,怎么用它调用GetWindowRect获取的是工具栏的位置呢?后来看到下面片段(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值