用VS2010自动生成的MDI程序,左侧的“类视图”和“文件视图”如何在程序启动时就自动隐藏,并且鼠标移上去可以展开,重新 docked,尝试了下,都有问题
就如
http://topic.csdn.net/u/20110711/18/eacfe752-2a88-4dbf-b465-a702abe47c11.html
这个帖子里面的图形那样但不要求每次都自动隐藏,第一次自动隐藏即可!

解决方案 »

  1.   

    CDockablePane::SetAutoHideMode(TRUE, ...);可以
      

  2.   

    至于第一次的话,可以在App类的InitInstance函数中调用CleanState(_T("WorkSpace"));
      

  3.   

    至于第一次的话,可以在App类的InitInstance函数中调用CleanState(_T("WorkSpace"));
      

  4.   


    首先感谢你的回答,
    但我在CMainFrame::CreateDockingWindows()里面单独使用SetAutoHideMode是不行的,
    是有一个侧栏按钮,但BAR没隐藏,而且点击AutoHide按钮重新停靠有也问题你可以详细说下如何控制的吗?
      

  5.   

    你的DockablePane上是不是不止一个标签项?(2个以上)
    你可以用上面的代码作用在output那个窗口,应该没有问题
      

  6.   

    MSDN上有句话这样说的:
    Call this method to switch a dockable pane to autohide mode programmatically. The pane must be docked to the main frame window (CDockablePane::GetDefaultPaneDivider must return a valid pointer to the CPaneDivider). 
      

  7.   

    m_wndFileView.GetParentTabbedPane()->SetAutoHideMode(TRUE, CBRS_LEFT);
      

  8.   

    楼主为啥不肯用
    m_wndFileView.showPane呢?方法都告诉你了
      

  9.   

    我这样用没有问题,VS2008SP1,新建MDI工程,CMainFrame类的OnCrate函数最后return之前加上上面这句
      

  10.   


    呵呵,你好,好看到了你的提示,但是用ShowPane()也没解决问题
      

  11.   


    你在VS2008下隐藏和重新停靠都没问题么?
    我用你的方法,鼠标移动到file view侧栏按钮上就会crash
      

  12.   

    没有,新建一个MDI工程,VS2008SP1,然后在CMainFrame::OnCreate函数return 0;之前加上
    上面这句,没有问题。鼠标移动上去没有问题,点击也没问题,
      

  13.   


    我这却一直在crash,你能传下你的程序,我下载看看到底有什么不同!
      

  14.   

    我用的是VS2008SP1,就是默认建了MDI工程,然后Finish。在CMainFrame类的OnCreate函数中加了上面一句而已~
      

  15.   


    正确!  重新试了下,确实可以了,非常感谢~只是第一次启动时,file view会卡2秒种才隐藏,有个很明显的交错的窗口,你有吗?
      

  16.   

    在App类的InitInstance函数中调用CleanState(_T("WorkSpace"));
    这句也加上,不过要注意加的地方,不要加错了~