如何显示CDockablePane已关闭后

How to show CDockablePane after it has been closed

本文关键字:CDockablePane 何显示 显示      更新时间:2023-10-16

我理解CDockablePane在程序关闭时记住它们的状态,然后再次打开,但我不明白我应该如何显示在以前使用中关闭的CDockablePane。

这是我的初始化代码:
    DWORD dwPaneStyle = WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_FLOAT_MULTI;
    MyPane.Create(_T("MyPane"), this, CRect(0, 0, 0, 120), TRUE, ID_VIEW_MYPANE, dwPaneStyle | CBRS_BOTTOM));
    MyPane.ShowPane(TRUE, FALSE, TRUE);

这将创建我的窗格,然后将其设置为显示,但由于某种原因,我无法在主框架中看到它…我错过了什么?

另外,我希望能够在按下某个按钮时显示窗格。我已经准备好了MessageMap和onbuttonfact()。我只需要知道如何显示窗格。

谢谢!

我找到了…似乎MFC保存了程序的整个状态。当应用启动时,面板会显示出来,但随后应用会加载最后一个状态并隐藏面板。我可以使它再次可见,通过使用相同的行:

MyPane.ShowPane(TRUE, FALSE, TRUE);

,而不是在创建过程中。

似乎还有一种方法可以通过在CWinAppEx构造函数中添加以下内容来禁用自动"加载最后状态"行为。

m_bSaveState = FALSE;