6.15--如何编程 显示或隐藏 控制栏(工具栏、状态栏)?

来源:互联网 发布:linux禁止ping ip地址 编辑:程序博客网 时间:2024/05/22 14:09

      只需要在含有控制栏的窗口类中调用CFrameWnd::ShowControlBar()即可,如下:

void CMainFrame::OnViewToolbar()
{
       ShowControlBar(&m_wndToolBar, true ,false);//第二个参数为TRUE是显示,为FALSE时隐藏
}

 

可以通过调用EkIsBarVisible()来检查控制栏当前是否可见,该函数的实现部分如下所示:

BOOL EkIsBarVisible(CControlBar* pBar)
{
      ASSERT_VALID(pBar);
      return ( (pBar->GetStyle() & WS_VISIBLE) != 0 );
}

 

借助该函数可以将控制栏在显示和隐藏状态下切换,并相应的改变相关 菜单 或 工具栏按钮 的状态。

void CMainFrame::OnViewNewToolbar()
{
       ShowControlBar(&m_wndNewToolbar,!EkIsBarVisible(&m_wndToolBar),false); 
}

void CMainFrame::OnUpdateViewNewToolbar(CCmdUI* pCmdUI)
{
       pCmdUI->SetCheck(EkIsBarVisible(&m_wndNewToolbar));
}

 

      关于为什么不在工具栏中直接调用Showwindow(SW_HIDE)来隐藏或显示工具栏,原因是,这个过程包括许多与父窗口和浮动窗体相关的准备工作。

原创粉丝点击