【发布时间】:2015-10-11 10:48:56
【问题描述】:
我正在创建一个带有自定义窗格的单词插件。
我还创建了一个带有复选框控件的功能区,该控件根据选中的更改事件显示/隐藏自定义窗格。
如果我只有一个单词实例,一切都会很好。
当我创建另一个 word 文档实例时,单击文档 2 中的复选框会触发文档 1 的事件并隐藏窗格。
如何为每个 word 实例分别同步功能区和自定义窗格?
谢谢。
【问题讨论】:
标签: ms-word ribbon word-addins
我正在创建一个带有自定义窗格的单词插件。
我还创建了一个带有复选框控件的功能区,该控件根据选中的更改事件显示/隐藏自定义窗格。
如果我只有一个单词实例,一切都会很好。
当我创建另一个 word 文档实例时,单击文档 2 中的复选框会触发文档 1 的事件并隐藏窗格。
如何为每个 word 实例分别同步功能区和自定义窗格?
谢谢。
【问题讨论】:
标签: ms-word ribbon word-addins
对于 Word,重要的是要注意新的文档窗口通常不等同于 Word 应用程序的新实例。 Word 是伪 SDI,这意味着它为每个文档打开一个单独的窗口,而不是多个文档共享同一个应用程序窗口。但只有一个应用程序实例。
您所描述的是任何伪 SDI 应用程序的问题:功能区和自定义任务窗格显示并保持创建它们的窗口的状态。为了让它们“跟踪”单个窗口,您需要跟踪哪个文档窗口当前具有焦点并相应地更改状态的代码。例如,请参见此处的讨论: http://msdn.developer-works.com/article/11561210/SDI+app+challenge+(custom+task+panes)
以及本文中的“管理多应用程序窗口中的自定义任务窗格”部分:https://msdn.microsoft.com/en-us/library/aa942864.aspx#WordAndInfoPath
它们都描述了您必须如何使用事件来跟踪每个文档/窗口的控件状态。
【讨论】: