我的要求是这样的:
主框架有工具栏A,模板1有工具栏B,模板2有工具栏C。
我现在在childframe的wm_create消息处理函数里面实现了工具栏B和C的切换,没有任何问题。
现在的问题是主框架的工具栏A,如何来控制A的显示,当B或者C显示的时候A不要显示,当模板1和2都被关闭时显示A。我试过这样的做法,当打开模板1或者模板2的时候把A隐藏,这个是可以的,当模板1和模板2都被关闭时我用showwindow想把A显示出来却不能成功。该如何处理,谢谢!

解决方案 »

  1.   

    如果工具栏是CToolBar类
    那么显示工具栏应该调用
    void ShowControlBar( CControlBar* pBar, BOOL bShow, BOOL bDelay );
    而不是
    ShowWindow 
      

  2.   

    MFC中的工具栏是被Controlbar包裹的, 需要调用ShowControlBar
      

  3.   

    CFrameWnd::ShowControlBarvoid ShowControlBar(CControlBar* pBar,BOOL bShow,BOOL bDelay);参数: pBar 指向将显示或隐含的控件条。  
    bShow 如果为TRUE,则指定控件条将被显示;如果为FALSE,则隐藏。  
    bDelay 如果为TRUE,则延迟显示控件条;如果为FALSE,则立即显示。  说明:调用此成员函数显示或隐藏一个控件条。