Я пишу программное обеспечение с помощью MFC Feature Pack 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.
Вы начинаете стыковку с DockPane, поэтому вместо использования CFrameWndEx :: DockPane используйте CFrameWndEx :: DockPaneLeftOf
PS: это статья предоставляет небольшую помощь, но, к сожалению, он просто царапает поверхность.