我们有一个使用Windows Ribbon Framework用于UI的应用程序。应用程序本身是用Delphi编写的,并使用Windows Ribbon Framework for Delphi与功能区API进行交互。
我们的功能区XML将很少的命令放入Quick Access工具栏。然后,可以使用内置功能区机制(选择下拉/下拉按钮并单击命令名称)或选择打开配置对话框的More commands
命令来删除/添加命令。
我遇到的问题是我无法找到获取QA集合中当前命令状态的方法(无论它们是否可见)。
在上面的示例(图片)中,我想检测前五个命令是否被检查,而最后一个命令是不是这样,我可以相应地准备配置对话框。
我可以枚举IUICollection
并访问存储在其中的项目。我也可以为每个项目获得UI_PKEY_CommandId
。但是,我无法找到读取已检查/未检查状态的方法。我尝试阅读集合中所有项目的UI_PKEY_BooleanValue
和UI_PKEY_Enabled
,但它们不会返回该状态。
我还试图监控IUICommandHandler.UpdateProperty
但是在选中/取消选中此项时不会调用它(除了使用UI_PKEY_Label
键调用它之外)。
Ribbon API是否支持此功能?