c++ - MFC 无可见边框/框架样式
问题描述
我想在 MFC 应用程序中有多个可停靠窗格类。问题是当它们处于停靠状态时,我无法让它们显示它们的框架/边框,因此,当它们都停靠时,您无法检测到它们或弄清楚它们在哪里分开。
我正在从 CDockablePane 类创建两个类。
class MFCDockPanelLeft : public CDockablePane
然后在大型机中,我尝试使用 CBRS_BORDER_ANY 或 WS_THICKFRAME 创建它们,但是当它停靠时它会继续隐藏边框。
UINT style = WS_CHILD | CBRS_LEFT | CBRS_FLOAT_MULTI | CBRS_BORDER_BOTTOM | CBRS_BORDER_LEFT | CBRS_BORDER_ANY;
DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS | CBRS_BORDER_ANY;
DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE | CBRS_BORDER_ANY ;
dock_paneTop->Create(strTitle, this, CRect(0, 0, 200, 400), TRUE, ID_VIEW_PANETOP,style, dwTabbedStyle, dwControlBarStyle);
有没有办法让边框或一些视觉线显示两个窗口正在分割的区域。
编辑:使用视觉管理器后,例如使用 MS Office 2007 样式,将添加边框:
解决方案
您可以创建自己的 PaneDivider 类(派生自 CPaneDivider)并自定义其视觉效果。或者更容易实现:如果您使用功能包,您可以创建自定义 VisualManager 类(派生自 CMFCVisualManagerOffice2007)。
如果其中一种方法可以满足您的要求,我可以给您更多提示。请告诉我。
推荐阅读
- python - Python 和 Tweepy:CSV 文件中的结果
- android - 在运行时将文本视图添加到 relativlayout
- swift - 从文本字段输入在现有表中创建新行。SwiftUI(故事板)
- r - RStudio README.Rmd 和 README.md 都应该分阶段使用'git commit --no-verify'来覆盖这个检查
- azure-data-lake - ADLS 是否支持符号或别名?
- c# - datagridview c#的参数超出范围异常
- android - 未使用导航组件将片段添加到后台堆栈
- reactjs - React 16+ 中的 React、Enzyme、Redux 单元测试连接组件
- google-sheets - 查找(并返回)包含公式的单元格范围
- python - 使用 xampp 从 python 函数显示 print()