随笔-145  评论-173  文章-70  trackbacks-0
如何显示和隐藏工具栏,前面已经很详细的解释了如何创建工具栏,那么如何显示和隐藏了。
经过以前的锻炼,已经知道了显示和隐藏的话只需要用ShowWindow(),然后在相关的参数中设置为显示还是隐藏而已。
那么此处也很简单,添加一个菜单,相应的消息响应函数,实现显示和隐藏。
于是代码为:
void CMainFrame::OnNewTool() 
{
    
// TODO: Add your command handler code here
    static CRect rectNew;
    
if(m_newToolBar.IsWindowVisible())
    
{
        m_newToolBar.ShowWindow(SW_HIDE);
    }

    
else
    
{
        m_newToolBar.ShowWindow(SW_SHOW);
    }

    RecalcLayout();  
//必须重新设置窗口布局,否则即使工具栏显示,窗口外观也会变化
    DockControlBar(&m_newToolBar);
}

然后如何实现菜单的勾勾呢?利用消息UP_COMMAND_UI对应的响应函数来实现。
void CMainFrame::OnUpdateNewTool(CCmdUI* pCmdUI) 
{
    
// TODO: Add your command update UI handler code here
    pCmdUI->SetCheck(m_newToolBar.IsWindowVisible());
}

此消息就控制了如何显示菜单等等显示。


注记:在上面的显示和隐藏中,必须用到:RecalLayout()来重新设置,否则的话即使隐藏了,但是还是会显示出来工具栏所在的空间,而不会将这部分抹除。调用了之后,一旦隐藏了,那么此部分没有用处,就会隐藏了,实现了功能。
posted on 2010-02-17 17:09 deercoder 阅读(758) 评论(0)  编辑 收藏 引用 所属分类: MFC程序设计入门

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理