1

我正在使用自定义窗格创建一个单词插件。

我还创建了一个带有复选框控件的功能区,它根据选中的更改事件显示/隐藏自定义窗格。

如果我只有一个单词实例,一切都很好。

当我创建另一个 word 文档实例时,单击文档 2 中的复选框会触发文档 1 的事件并隐藏窗格。

如何为每个 word 实例分别同步功能区和自定义窗格?

谢谢。

4

1 回答 1

3

对于 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

它们都描述了您必须如何使用事件来跟踪每个文档/窗口的控件状态。

于 2015-10-11T14:43:05.600 回答