Office 2021/2022 风格的视觉主题现已推出。新类 CBCGPVisualManager2022 实现了以下视觉样式:彩色、深灰色、白色和黑色。这些新样式已添加到 BCGP_VISUAL_THEME 枚举中:
BCGP_VISUAL_THEME_OFFICE_2022_COLORFUL
BCGP_VISUAL_THEME_OFFICE_2022_DARK_GRAY
BCGP_VISUAL_THEME_OFFICE_2022_WHITE
BCGP_VISUAL_THEME_OFFICE_2022_BLACK
请查看 BCGPMSOfficeDemo、BCGPVisualStudioGUIDemo、BCGPControls、BCGPOrganizer、DrawCLI 和写字板示例,了解这个新的视觉主题。
Ribbon Bar
CBCGPribbonEdit:添加了自动完成列表支持。SetAutoCompleteList 和 IsAutoCompleteList 方法已添加到此类。要使用匹配项填充列表,您必须在功能区所有者窗口类(通常是 CMainFrame)中处理新注册的消息 BCGM_RIBBONEDIT_ON_FILL_AUTOCOMPLETE_LIST。请查看 RibbonGadgets 示例以了解此功能的实际应用。
CBCGPribbonBar::ExportImageToIcon 有一个新的可选参数 bAutoScale。如果 Ribbon 图像是 SVG,则返回的图标将根据当前 DPI 自动缩放。
CBCGPribbonBar::ForceRecalcLayout 有一个新的可选参数 bRebuildGlobalFonts。如果此参数为 FALSE,则不会重新创建全局字体。现在对该方法的大多数内部调用都将 FALSE 传递给该参数。
功能区设计师补充:
添加了 Office 2022 彩色、白色、深灰色和黑色视觉主题。
功能区编辑框控件具有新的“自动完成列表”属性。
网格和报告控件
CBCGPGridCtrl:当用户在网格过滤器栏中键入文本并且组子项与过滤器匹配时,实现了自动扩展网格组的功能。m_bAutoExpandGroups 添加到 BCGP_GRID_FILTERBAR_OPTIONS 和 BCGP_GRID_FILTERBAR_PARAM 结构中。此外,EnableFilterBar 方法还有一个新的可选参数 bAutoExpandGroups。请查看 BCGPControls 示例(“扩展树控件”视图)以了解此功能的实际效果。
如果最初选择了原始行,方法 CBCGPGridRow::ReplaceItem 将恢复选择。
日历和计划
CBCGPCalendar:一种新的虚拟方法 GetWeekDay 允许指定自定义工作日标签。默认情况下,使用系统短工作日。
CBCGPPlannerManagerCtrl:实现了绘制持续时间少于 24 小时的多天约会的能力。添加了新方法 SetMultiDayLessThan24 和 IsMultiDayLessThan24。请查看 BCGPCalendarDemo 示例(“月”视图)以了解此功能的实际效果。
控件
CBCGPColorButton:当用户按下 Enter 键时,现在显示颜色弹出窗口。
CBCGPComboBox:现在创建了一个具有中心垂直对齐的嵌入式编辑框。
CBCGPComboBox:改进了某些视觉主题中选定项目的外观。
CBCGPGroup:添加了标题水平对齐和多行支持。请查看 BCGPControls 示例以了解此新功能的实际应用。
添加了新的注册消息 BCGM_ROUNDED_CORNERS_ALLOWED:处理此消息以告知是否允许圆角用于特定控制。
CBCGPWinUITiles:方法 SetRoundedShapes 有一个新的可选参数 dblCornerRadius(默认为 2)。新方法 GetCornerRadius 返回先前指定的角半径。
MSAA 和 CodedUI 测试
CBCGPPopupWindow:改进了 MSAA 支持。
CBCGPRibbonCategory:位于功能区类别右下角的最小化按钮现在可以通过键盘访问。
CBCGPribbonCommandsComboBox:改进了 MSAA 支持。
CBCGPRibbonMDITabsTitle:当标题不可见时,MSAA 状态现在是正确的。
CBCGPribbonBar:改进了对功能区键盘导航的讲述人支持。
其他
CBCGPWindowsManagerDlg:增加了在项目工具提示中显示完整路径的能力。CBCGPWindowsManagerDlg 有一个新的可选参数 bShowPathInTooltips。相同的参数被添加到 CBCGPMDIFrameWnd::EnableWindowsDialog 方法中。
CBCGPMessageBox:如果在消息框参数中指定了hwndOwner,该窗口将作为消息框的父窗口。
CBCGPRegistrySP:方法 create 有一个新的可选参数 bForceDefault。如果此参数为 TRUE,则将始终使用默认的 Windows 注册表。
CBCGPDrawManager:添加了一个新方法 DrawRoundRect。调用此方法可以绘制一个圆角平滑的圆角矩形。
CBCGPToolBarImages:图像提取方法(ExtractIcon、ExtractBitmap 和 ExtractSimplifiedIcon)有一个新的可选参数 sizeIconSVG:如果图像列表包含 SVG 图标,则导出的图像将缩放到指定的尺寸。
CBCGPToolBoxButton:新方法GetParentPage 返回一个指向按钮所在页面的指针。
CBCGPEditCtrl:实现了标准的键盘加速器(例如 Ctrl+C 或 Ctrl+V)处理。调用新方法 SetProcessClipboardAccelerators 以启用此功能。IsProcessClipboardAccelerators 方法告知是否启用了标准键盘加速器处理。
示例和示例
BCGPCalendarDemo:在月视图中添加了持续时间少于 24 小时的多天约会演示。
BCGPControls:添加了具有多行标题和各种文本对齐演示的组,颜色选择器自定义形状和扩展的树控件在过滤栏更改时自动扩展组。
MenuQuestionBox:添加了如何使用键盘快捷键激活问题框的演示。
RibbonGadgets:添加了如何使用自动完成列表创建功能区编辑框的演示。
以下示例和示例中添加了新的 Office 2022 视觉主题:
BCGPControls
BCGPGridExample
BCGPMSOfficeDemo
BCGPOrganizer
BCGPOutlookDemo
BCGPVisualStudioGUIDemo
DrawCli
WordPad
NotificationBadgesDemo
PropSheetDemo
RibbonDialogDemo
RibbonGadgets
RibbonMDIDemo
RibbonSimplifiedMode
RibbonStartPageDemo
ThemedFileDialog
MDIEditorDemo:添加了如何使用 Python 风格的编辑器方案的示例。
修复
解决了在指定自定义应用程序存储(例如 XML 文件)时从注册表读取 Windows 选项的问题。在之前的产品版本中,框架尝试从默认应用商店获取一些系统设置,例如 ColorPrevalence、AccentColor 或 AppsUseLightTheme。
CBCGPButton:解决了在控制失去焦点时重绘默认按钮的问题。
CBCGPCircularGaugeImpl:解决了 DPI 超过 100% 时针头尺寸不正确的问题。
CBCGPComboBox:修复了自动隐藏垂直滚动条的错误(鼠标悬停时滚动条未出现)。
对话框和表单:解决了布局更改后重绘控件信息提示的问题。
CBCGPStrokeStyle:当指定自定义破折号列表时,方法 CompareWith 现在可以正常工作。
创建功能区的组合框或自动完成弹出窗口时不再播放系统声音。
CBCGPListBox:修复了在删除位于标题行之前的项目后标题行重绘不正确的错误。
框架窗口:最大化框架窗口时不再指定 Windows 11 圆角。这可以防止在最大化状态下不正确地重绘非客户区。
解决了在某些窗口样式的情况下窗口/控件边框大小不正确的问题。
CBCGPPropList:解决了就地工具提示覆盖的属性按钮的问题。现在,当用户将鼠标光标悬停在按钮上时,就地工具提示会消失。
CBCGPPropList:双击组复选框不再展开/折叠组。
CBCGPPopupMenu:解决了在屏幕右边缘附近创建第一级菜单时第三级弹出菜单上的级联弹出方向问题。
CBCGPInfoBoxRenderer:改进了圆角和下拉阴影外观。
CBCGPScrollBar:解决了在控制被破坏后处理一些消息的问题。
CBCGPBrowseForFolderDlg:修复了在未指定“非文件夹”标志时忽略“包含隐藏”标志的错误。
CBCGPToolBoxEx:解决了删除特定页面后剩余页面索引不正确的问题。
CBCGPToolBar:解决了将带有嵌入式工具栏的停靠窗格拖到具有不同 DPI 的其他显示器后控件布局不正确的问题。仅当工具栏具有组合框或编辑框等控件时才会发生这种情况。
CBCGPGridCtrl:当网格缩放因子或 DPI 已更改时,过滤栏字体正确缩放。
CBCGPRecentFilesListBox:解决了绘图根(驱动器)文件夹的问题。
CBCGPribbonComboBox:解决了在高 DPI 环境中计算器图标绘制不正确(未缩放)的问题。
CBCGPUserTool:解决了从弹出菜单调用自定义工具的问题。
CBCGPribbonPanel:解决了 DPI 更改后控件填充不正确的问题。
渝公网安备50010702505508