MFC中的工具栏隐藏与显示问题。 10
我在MFC中自己手动添加了一个工具栏,并添加一个菜单项,点击这个菜单来隐藏与显示这个工具栏。但当工具栏为浮动状态时隐藏后,再显示,工具栏显示的位置不是隐藏前的位置了。注:...
我在MFC中自己手动添加了一个工具栏,并添加一个菜单项,点击这个菜单来隐藏与显示
这个工具栏。 但当工具栏为浮动状态时隐藏后,再显示,工具栏显示的位置不是隐藏前的位置了。
注: 不用 ShowControlBar 用 ShowWindow 实现。。 展开
这个工具栏。 但当工具栏为浮动状态时隐藏后,再显示,工具栏显示的位置不是隐藏前的位置了。
注: 不用 ShowControlBar 用 ShowWindow 实现。。 展开
1个回答
展开全部
可能不能用ShowWindow()或者,SetWindowPos()来显示浮动窗口。
函数 FloatControlBar()可以用来显示。
代码如下:
增加数据成员:
CRect m_rectBar; CPoint point; BOOL IsFloat; m_ToolBar是CToolBar对象
{
if(m_ToolBar.IsWindowVisable())
{
if(IsFloat=m_ToolBar.IsFloating)
{
m_ToolBar.GetWindowRect(&rect);
}
m_ToolBar.ShowWindow(SW_HIDE);
RecalcLayoout();
DockControlBar(&m_ToolBar);
}
else
{
m_ToolBar.ShowWindow(SW_SHOW);
if(IsFloat)
{
point.x=m_rectBar.left;
point.y=m_rectBar.top;
FloatControlBar(&m_rectBar,point);
}
else
{
RecalcLayout();
DockControlBar();
}
}
函数 FloatControlBar()可以用来显示。
代码如下:
增加数据成员:
CRect m_rectBar; CPoint point; BOOL IsFloat; m_ToolBar是CToolBar对象
{
if(m_ToolBar.IsWindowVisable())
{
if(IsFloat=m_ToolBar.IsFloating)
{
m_ToolBar.GetWindowRect(&rect);
}
m_ToolBar.ShowWindow(SW_HIDE);
RecalcLayoout();
DockControlBar(&m_ToolBar);
}
else
{
m_ToolBar.ShowWindow(SW_SHOW);
if(IsFloat)
{
point.x=m_rectBar.left;
point.y=m_rectBar.top;
FloatControlBar(&m_rectBar,point);
}
else
{
RecalcLayout();
DockControlBar();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询