在我们的一个应用程序中,我使用了一些 MFC 类来允许停靠侧边栏窗口,大致如下:
CDialogBar* bar = new CDialogBar;
bar->Create(this, IDD, WS_CHILD | WS_VISIBLE | CBRS_RIGHT | CBRS_TOOLTIPS, IDD));
bar->EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_RIGHT | CBRS_ALIGN_LEFT);
DockControlBar(bar, AFX_IDW_DOCKBAR_RIGHT);
这一切都很好。
我现在想在另一个应用程序中做类似的事情。不幸的是,它已被更改为使用 MFC“功能包”中的一些类,这些类非常漂亮,但这种方法不再有效(它断言,我可以通过一些小的修改来修复它,但侧边栏不会出现)。这些新类的文档很糟糕,所以我很难弄清楚我应该做什么。我尝试了似乎是“新”方法:
CPaneDialog* pane = new CPaneDialog;
pane->Create("pane", this, TRUE, IDD, WS_VISIBLE | WS_CHILD, IDD);
EnableDocking(CBRS_ALIGN_RIGHT | CBRS_ALIGN_LEFT);
AddPane(pane);
DockPane(pane);
这在出现一个侧边栏窗口时起作用,但它似乎不可移动并且没有正确绘制。
我觉得我在黑暗中拍摄这一切。有人知道正确的方法是什么吗?