悬浮工具栏的显示

wade_2003 2008-12-08 11:17:38

悬浮工具栏隐藏后重新显示的时候却不在原来的位置显示,而是停靠在客户区的顶层,请教可以用什么办法?
除了用showcontrolbar()函数。
...全文
128 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongyu627 2011-10-14
  • 打赏
  • 举报
回复
void CMainFrame::OnViewNewtool()
{
// TODO: Add your command handler code here

static CRect FloatingRect;
static CRect UnFloatingRect;
static BOOL blsFloating=FALSE;

if(m_newToolBar.IsWindowVisible())
{
if(m_newToolBar.IsFloating()){
m_newToolBar.GetDockingFrame()->GetWindowRect(&FloatingRect);
blsFloating=TRUE;}
m_newToolBar.GetDockingFrame()->GetWindowRect(&UnFloatingRect);
if(FloatingRect!=UnFloatingRect){
blsFloating=FALSE;
}
m_newToolBar.ShowWindow(SW_HIDE);
GetMenu()->GetSubMenu(2)->CheckMenuItem(2,MF_BYPOSITION|MF_UNCHECKED);
DockControlBar(&m_newToolBar);
}
else if(blsFloating)
{
CPoint pt;
pt.x=FloatingRect.left;
pt.y=FloatingRect.top;
m_newToolBar.ShowWindow(SW_SHOW);
FloatControlBar(&m_newToolBar,pt);
RecalcLayout();
GetMenu()->GetSubMenu(2)->CheckMenuItem(2,MF_BYPOSITION|MF_CHECKED);
blsFloating=TRUE;
}
else
{

m_newToolBar.ShowWindow(SW_SHOW);
GetMenu()->GetSubMenu(2)->CheckMenuItem(2,MF_BYPOSITION|MF_CHECKED);
DockControlBar(&m_newToolBar);
blsFloating=FALSE;

}

RecalcLayout();
}
wade_2003 2008-12-18
  • 打赏
  • 举报
回复

没有人理我就自己给分了!呵呵!

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧