我是 MFC 的新手。我刚刚使用向导创建了一个 SDI 应用程序,然后尝试修改生成的代码来控制每个视图、工具栏或菜单的布局:
...
m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC)
...
DockPane(&m_wndToolBar); // m_wndToolBar is a tool bar
...
DockPane(&m_wndFileView);
m_wndClassView.AttachToTabWnd(&m_wndFileView, DM_SHOW, TRUE, &pTabbedBar);
DockPane(&m_wndOutput);
// w_wndFileView, m_wndClassView, m_wndOutput are some views.
...
但它似乎不起作用:窗口总是表现得像他们记得用户上次操作的内容一样。例如,最后 3 行代码创建了 3 个视图,如下所示:
我运行代码并关闭,然后将它们修改为:
DockPane(&m_wndFileView);
DockPane(&m_wndOutput);
m_wndClassView.AttachToTabWnd(&m_wndOutput, DM_SHOW, TRUE, &pTabbedBar);
我想它应该看起来像这样但失败了(这个截图不是运行结果,我手动更改了布局):
它保持上次关闭时的布局(如图1)。此外,可以记住任何用户手动更改布局。所以为什么?谁说要这样做?