管理侧栏——Word 2007高级应用(九)
2008-10-14 20:18:23 来源:WEB开发网核心提示: 对于Code #02,以下几点是需要说明的: GetMyBlogsPane() 方法会判断是否存在标题为"My Blogs"、父窗口为当前窗口的侧边栏,管理侧栏——Word 2007高级应用(九)(3),有则返回,无则创建,它不完整,如果运行的话将会出现一些古怪的行为,
对于Code #02,以下几点是需要说明的:
GetMyBlogsPane() 方法会判断是否存在标题为"My Blogs"、父窗口为当前窗口的侧边栏,有则返回,无则创建。不难看出,该方法总是返回与当前窗口关联的侧边栏。
CollectMyBlogsPanes() 方法负责回收废弃的侧边栏。
考验脑力区
CollectMyBlogsPanes() 方法里的递减for循环可以改为递增for循环或者foreach吗?
之前我们在ThisAddIn类里面处理侧边栏的添加和相关事件,现在需要把这些代码迁移到BloggingRibbon类里。
首先,把MyBlogsPaneVisibleChanged() 从ThisAddIn类移到BloggingRibbon类,并做适当调整:
接着,修改MyBlogs按钮的Click事件的Event Handler:
然后,在ThisAddIn类里面处理Microsoft.Office.Interop.Word.Application.DocumentChange事件:
以及在InternalStartup() 方法里添加如下这行代码:
this.Application.DocumentChange += new Word.ApplicationEvents4_DocumentChangeEventHandler(DocumentChange);
最后,就是删除废弃/多余的代码了。然而,现在的插件处于一个中间状态,它不完整,如果运行的话将会出现一些古怪的行为,接下来将会分析并解决这个问题。
[]
更多精彩
赞助商链接