Cdockablepane без кнопки закрытия
Привет,
У меня есть 2 отдельных закрепляемых панели в моем приложении
Я могу удалить кнопку закрытия в каждой CDockablePane, удалив флаги "AFX_CBRS_CLOSE" в функции create.
Если они разделены на фрейме, то у них нет кнопки закрытия, но как только я объединяю их в одни и те же вкладки, появляется кнопка закрытия.
Пожалуйста, помогите мне.
Спасибо.
Что я уже пробовал:
Чтобы решить эту проблему, я переопределил функцию virtual CTabbedPane*CreateTabbedPane(); в каждом подклассе класса dockablepane.
CTabbedPane* CClassView::CreateTabbedPane() { CTabbedPane* pTabbedPane = CDockablePane::CreateTabbedPane(); ASSERT_VALID(pTabbedPane); // remove AFX_CBRS_CLOSE flag; #define AFX_NON_CLOSE_DOCKING_PANE_STYLEAFX_CBRS_FLOAT | AFX_CBRS_RESIZE | AFX_CBRS_AUTOHIDE pTabbedPane->SetControlBarStyle(AFX_NON_CLOSE_DOCKING_PANE_STYLE); pTabbedPane->RecalcLayout(); return pTabbedPane; }
После очистки параметра реестра при первом запуске приложения панель с вкладками, содержащая несколько закрепляемых панелей, не имеет кнопки закрытия.
При простом повторном открытии приложения, ничего не делая с ним, панель с вкладками, содержащая несколько закрепляемых панелей, имеет кнопку закрытия.
Я поделился образцом приложения, созданного в VS2008, в приведенном ниже пути onedrive.
https://aspiresysinc-my.sharepoint.com/:u:/g/personal/sujitha_ramamoorthy_aspiresys_com/EXpl4YmZ9JlAqTz4w_YKIJsBcOziO9tyNsqF9UFBub8-0w?e=dntvIa
В моем примере приложения tabbedpane будет присвоен 2 закрепляемых панелей им fileview и представления классов.
В vs2015 я также столкнулся с той же проблемой.
Я не хочу каждый раз очищать настройки реестра перед открытием приложения.