【发布时间】:2015-08-30 20:37:03
【问题描述】:
我正在使用 MFC 功能包 2008 编写软件。我的应用程序基于此应用程序的旧版本。旧版本没有使用功能包编写。在这个应用程序的旧版本中,有 CToolBar 和 3 个 CDialogBars。如下所示:
在我的应用程序中,我将 CToolBar 更改为 CMFCToolbar 并将 CDialogBars 更改为 CPaneDialogs。我不知道如何设置 CPaneDialogs 以产生与旧应用程序相同的视觉效果?如何将 CPaneDialogs 停靠在 CMFCToolbar 的左侧?
总结一下,我做了什么:
1) 以这种方式创建 CPaneDialogs:
if (!m_LoadDlgBar.Create(_T("DialogBar"),this, 0,IDD_REGBAR,CBRS_TOP | CBRS_FLYBY |CBRS_GRIPPER| WS_CLIPCHILDREN,IDD_REGBAR))
{
TRACE0("Failed to create dialog bar\n");
return -1; // fail to create
}
2) 对接:
EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_CommBar); // this is CMFCToolbar
DockPaneLeftOf(&m_LoadDlgBar, &m_CommBar);
DockPaneLeftOf(&m_TCPIPDlgBar, &m_LoadDlgBar);
DockPaneLeftOf(&m_ConnDlgBar, &m_TCPIPDlgBar);
3) 显示窗格:
m_LoadDlgBar.ShowPane(TRUE,FALSE,FALSE);
这是结果:
所有的 CPaneDialogs 都停靠在同一个地方,在 CMFCToolbar 上。
【问题讨论】:
标签: c++ visual-studio-2008 mfc mfc-feature-pack