我理解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()。我只需要知道如何显示窗格。
谢谢!
答案 0 :(得分:0)
我发现它...似乎MFC保存了程序保留的整个状态。因此,当应用程序启动时,面板会显示,但随后应用程序加载最后一个状态并隐藏面板。我能够通过使用相同的行再次使其可见:
MyPane.ShowPane(TRUE, FALSE, TRUE);
在按钮推送事件上而不是在创建过程中。
似乎还有一种方法可以通过在CWinAppEx构造函数中添加以下内容来禁用自动“加载上次状态”行为。
m_bSaveState = FALSE;