如何重绘Word 2003菜单栏

时间:2020-03-06 14:28:41  来源:igfitidea点击:

我有一个Word 2003 .dot模板,它可以根据活动文档的情况更改其菜单。
Word.Application的DocumentChange,DocumentOpen和NewDocument事件触发设置CommandBarButton控件的.Visible和.Enabled属性。

在切换活动文档时,通过正确更改"可见"属性公开的控件会正确显示,但是已启用/禁用的文本按钮不会更改外观。我们可以通过将启用的控件悬停在它们之上来显示它们,但是禁用的控件只有在我们将窗口放在前面时才会重新绘制。

是否有一种简单的方法可以将重绘消息发送到菜单栏,以模拟隐藏和暴露?

解决方案

我们正在使用控件的visible和enabled属性。但是我们是否尝试隐藏/取消隐藏整个命令栏以刷新它?

application.CommandBars.ActiveMenuBar.visible = false
application.CommandBars.ActiveMenuBar.visible = true