我们正在尝试创建一个 VSTO Word 2013文档插件,在用户编辑时覆盖文档上的可视指示符,以使他们了解所输入信息的问题。看来这可以通过绘制形状来完成,例如下面的示例。在我们的例子中,我们不希望这些形状与文档一起保存,我们只是希望在编辑安装了addin的文档时可以使用它们。任何人都可以解释我们如何做到这一点?
private void DrawIt()
{
object oRng = Globals.ThisDocument.Application.Selection.Range;
var doc = Globals.ThisDocument.InnerObject;
var shape = doc.Shapes.AddLine(100f, 100f, 100f, 200f, ref oRng);
if (shape == null) return;
shape.Visible = Microsoft.Office.Core.MsoTriState.msoTrue;
shape.Line.DashStyle = Microsoft.Office.Core.MsoLineDashStyle.msoLineDash;
shape.Line.Weight = 3;
}
答案 0 :(得分:2)
我95%确定Word对象模型中没有任何内容允许您执行您之后的操作。正如您所发现的,形状被视为文档的一部分。没有用于以任何其他方式显示任意形状的内置机制。您可以通过管理自己的窗口手动执行此操作 - 获取包含文档的窗口的Hwnd,然后使用Win32(和/或WinForms / WPF)创建要显示的UI。