1

我在 Visio 中有一个形状,它是一个组。组形状可以编辑其文本,并且在编辑时,我希望其中一个子形状位于组形状中文本的右侧。

为此,我创建了一个将组形状作为参数的 VBA 函数,并在 shapesheet 上的 TextText 事件中调用它。

因此,例程只需在组形状上调用 BoundingBox(visBBoxUprightText) 以获取文本的边界并将子形状定位到 bbox 的右侧。但边界似乎是错误的。他们有时会回到最后一个字符的左侧或右侧。

visBBoxUprightText 标志是否应该意味着除了在呈现的文本字符周围获取矩形坐标之外的其他含义?

编辑:再看一看,我看到 BoundingBox 方法查看 shape.type 属性以确定边界框包含的内容。如果形状类型是 visGroup ,那么它也将包括子形状,并且似乎没有标志来强制它将组视为简单形状。

所以我想现在的问题是,有没有办法获得文本的边界框,忽略子形状?我尝试放置一个单独的子形状来保存文本,现在它就像一个魅力。

4

1 回答 1

0

Visio 不允许您获取文本的边界框,而忽略分组形状中子形状的文本。

于 2012-07-02T18:29:21.847 回答