BCGControlBar 库专业版和 BCGSuite for MFC 32.1 版可用! 此版本包括 Visual Studio 2022 支持、Windows 11 中改进的框架和弹出窗口外观、网格文本溢出、新的选中组合框控件以及其他新功能和改进。
1、添加了 Visual Studio 2022 支持:
源文件完全符合 Visual 2022 C++ 编译器。
我们所有的示例和示例都使用 VS 2022 进行了全面测试。
评估版包含 VS 2022 所需的 DLL 和库。
2、改进了 Windows 11 中的框架和弹出窗口外观(参见屏幕截图):

在所有弹出窗口中实现圆角,例如菜单、浮动停靠窗格等。此外,您可以指定框架(对话框、弹出菜单等)在 Windows 11 下是否具有圆角(适用于所有视觉主题)。此外,框架和对话框的边框颜色由应用程序强调色指定(见截图)。

默认情况下,圆角在带有标准 Windows 标题(如 Windows Native 或 Scenic)的视觉主题中可用,但您可以通过设置以下新 globalData 成员来自定义此外观:
m_FrameCornerType
m_DlgCornerType
m_MiniFrameCornerType
m_PopupMenuCornerType
此外,您可以处理新注册的消息 BCGM_GETWINDOWCORNERTYPE 并为特定窗口返回适当的角类型。请查看 BCGPMSOfficeDemo(见截图)

和 BCGPVisualStudioGUIDemo(见截图)示例,了解如何自定义角部外观。

3、Ribbon Bar
激活Ribbon简化模式时,减少了快速访问工具栏的高度。
CCBCGPRibbonButton:添加了对中等大小 (20x20) 图标的支持(用于Ribbon简化模式)。 CBCGPRibbonButton 构造函数有一个新的可选参数“HICON hIconMedium”,并且将 GetMediumIcon / SetMediumIcon 方法添加到此类中。 RibbonSimplifiedMode 示例现在演示了如何使用Ribbon中的图标资源。
CCBCGPRibbonBar:实现了自定义最小化按钮外观和行为的能力。您可以覆盖一个新的虚拟方法 CreateMinimizeButton 并返回您的自定义、CBCGPRibbonMinimizeButton 派生的最小化按钮。为了演示这一新功能,我们在 RibbonSimplifiedMode 示例中添加了一个自定义最小化按钮,您可以了解如何使用最小化按钮实现类似 Outlook 365 的简化模式切换(请参见屏幕截图)。

CCBCGPRibbonBar:一个新方法 GetMinimizeButton 返回一个指向最小化按钮的指针。
4、可视化管理器和主题
编辑框和工具栏编辑控件:改进了 Window 原生主题中的控件外观(见截图)。

工具箱:改进了 Window 原生主题中的组外观(见截图)。在以前的产品版本中,我们使用了提供过时(Vista 风格)外观的 Windows 主题 API。

CBCGPVisualManager:新方法 GetWindowCornerType 指定顶级框架/对话框或弹出窗口是否具有圆角(仅限 Windows 11)。默认情况下,只有带有默认 (DWM) 标题的视觉主题才有圆角。如果您希望在应用程序在 Windows 11 下运行时自定义特定的窗口外观,请在自定义可视化管理器中覆盖此方法。
5、网格和报告控件
实现了类似 Excel 的文本溢出:当你在一个单元格中输入大量文本时,它会溢出到相邻的单元格(见截图)。如果您希望在特定单元格类型中禁用文本溢出,请调用新方法 CBCGPGridCtrl::EnableTextOverflowing 以启用文本溢出并覆盖新的虚拟方法 CBCGPGridItem::IsTextOverflowingAllowed。 BCGPGridExample(“单元格类型”视图)演示了这个新功能。

新增网格单元格选择动画效果:当您单击单个单元格时,选择边框将从之前的位置平滑移动(见截图)。请调用新的 CBCGPGridCtrl::SetChangeSelectionTransitionTime 方法来启用此功能。

6、控件
一个新类 CBCGPCheckComboBox 实现了一个带有选中下拉列表的组合框(见截图)。请查看 BCGPControls 示例以查看此新控件的运行情况。

CBCGPEdit:实现了在控件聚焦时显示提示(提示横幅)的能力。 BCGPControls 示例演示了这个新功能。
CBCGPTreeCtrlEx:实现了标准树视图通知,例如 NM_CLICK、NM_DBLCLK、NM_RCLICK、NM_RDBLCLK 和 NM_SETFOCUS。
7、杂项
CBCGPToolBarImages:一种新方法 PrepareSVGImages 将 SVG 图标转换为内部图像轮(位图)。
CBCGPPropList:一种新方法 SetButtonsAppearance 允许指定属性按钮外观。默认情况下,当属性被聚焦时,总是显示按钮并且下拉按钮变得可见。请查看 BCGPControls 示例(“属性网格”视图)以查看此新功能的实际效果。
智能对接标记:
旧的光栅位图资源被 SVG 替换:当应用程序在高 DPI 环境中摩擦时,停靠标记不再模糊。
CBCGPSmartDockingParams 有 2 个新成员:m_clrToneSrcHot 和 m_clrToneDestHot。指定这些选项允许为自定义突出显示的标记着色(见截图)。

请查看 SmartDockingDemo 示例以了解这些添加的实际效果。
CBCGPTabWnd:一种新方法 SetActiveTabExtraHeight 允许通过添加一些额外的高度来额外突出显示活动选项卡(见截图)。
此外,CBCGPMDITabParams 有一个新成员 m_nActiveTabExtraHeight,因此您也可以在 MDI 选项卡中使用此功能(请参见屏幕截图)。
请查看 TabControl 和 MDITabsDemo 示例以了解此新功能的实际效果。
8、示例和示例
BCGPControls:演示了新的 CBCGPCheckComboBox 控件和编辑框提示横幅改进。
BCGPGridExample:添加文本溢出和单元格选择动画演示。
BCGPMSOfficeDemo 和 BCGPVisualStudioGUIDemo:添加了如何在 Windows 11 中自定义框架/弹出边角外观的演示。
RibbonSimplifiedMode:添加了自定义最小化按钮和在简化模式下使用图标的演示。
SmartDockingDemo:添加了如何使用基于 SVG 的自定义停靠标记的演示。
TabControl 和 MDITabsDemo:添加了活动选项卡额外高度演示。
9、修复
CBCGPButton:修复了 BCM_SETNOTE 和 BCM_GETNOTE 消息处理中的一些问题。
甘特图:解决了水平滚动条初始化不正确的问题。
CBCGPToolBarImages::CreateRegionFromImage:解决了处理 32bpp 图像的一些问题。
弹出对话框:解决了对话框可调整大小时布局初始大小不正确的问题。
Windows 原生主题:解决了关闭 Windows 高对比度黑色模式后全局颜色不正确的问题。
CBCGPEdit:解决了 EM_SETCUEBANNER / EM_GETCUEBANNER 消息处理的一些问题。
CBCGPComboBox:解决了 CB_SETCUEBANNER / CB_GETCUEBANNER 消息处理的一些问题。
CCBCGPRibbonPanel:解决了当功能区画廊控件(调色板)没有文本标签时在简化模式下布局不正确的问题。
CBCGPSVGGradient:解决了级联梯度变换的一些问题。
CBCGPTabWnd:修复了当控件具有 OneNote、VS 2005 或 Left/Right Rounded 样式并分配了自定义(大号)字体时可能出现的视觉伪影。
渝公网安备50010702505508