如何在关闭后显示CDockablePane

时间:2014-05-22 15:14:55

标签: c++ mfc

我理解CDockablePanes会在程序关闭然后再次打开时记住它们的状态,但我不明白我应该如何显示之前使用过的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和OnButtonFct()。我只需要知道如何显示窗格。

谢谢!

1 个答案:

答案 0 :(得分:0)

我发现它...似乎MFC保存了程序保留的整个状态。因此,当应用程序启动时,面板会显示,但随后应用程序加载最后一个状态并隐藏面板。我能够通过使用相同的行再次使其可见:

MyPane.ShowPane(TRUE, FALSE, TRUE);

在按钮推送事件上而不是在创建过程中。

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

m_bSaveState = FALSE;