我想在 Microsoft Visio 2013 x64 中创建一个新的主形状,就像UML 类模板中的类主形状一样。
将类主形状添加到页面时,它会自动在其自身附加两个成员主形状和一个分隔主形状。此外,还可以在其中添加更多的成员和分隔符主形状。
我认为它通过一些编写的 VBA 代码在自身中添加了其他主形状;但是,当我检查UML Class (Metric) Stencil中的文件时以下完整路径,我发现它不使用 VBA 代码,根本不使用。
D:\Program Files\Microsoft Office\Office15\Visio Content\1033\USTRME_M.VSSX
文件扩展名是“Visio Stencil (.vssx)”而不是“Visio Macro-Enabled Stencil (.vssm)”;因此,它不能有 VBA 代码。
我知道我可以通过在 ShapeSheet 的“操作”部分中添加一些新行来执行某些操作;但是,不存在任何操作行来为类形状添加新的成员和分隔符主形状。
图 1 - 分隔符形状,上下文菜单中有两个附加选项,但 ShapeSheet 中没有任何相关行
图 2 - 显示用于插入分隔符形状的栏
图 3 - 成员形状,上下文菜单中有两个附加选项,但 ShapeSheet 中没有任何相关行
图 4 - 显示用于插入成员形状的栏
当我单击页面中放置的类形状时,它在上下文菜单中出现了两个新选项:
- 显示模板参数
- 展现刻板印象
我看到了它们的相关操作的部分行。
图 5 - 上下文菜单中带有两个附加选项的 Shape 类以及 ShapeSheet 中的相关行
当我在添加的类形状中单击“成员”和“分隔符”形状时,可以看到“在之前/之后插入“成员/分隔符””;但是,当我直接在页面上添加成员和分隔符主形状时(不在类形状中),当我单击它们时,在上下文菜单中看不到额外的选项。嗯>
图 6 - 上下文菜单中没有其他选项的分隔符形状
图 7 - 上下文菜单中没有其他选项的成员形状
我检查了他们的 ShapeSheet,但找不到上述操作的任何相关行。
现在,我的问题是如何创建一个新的主形状,并且能够接受其他一些主形状,而无需任何 VBA 代码(例如 Microsoft 创建的 UML 类模板中的类形状)?
最佳答案
此功能在 Visio 中称为“列表”(结构图)(在 Visio 2010 中引入)。要允许这种功能(允许某些形状“接受”其他形状,类似于“类”形状),您需要通过在其属性中设置用户属性 User.msvStructureType="List"将形状声明为“列表”形状片材。要声明它应该接受的项目类型,您还需要设置单元格 User.msvSDListItemMaster = USE("Your item's master name")。意味着,您可以只绘制一个普通矩形(例如),然后通过添加这两个用户属性将其转换为“列表”。列表/容器有更多可用选项(例如边距、行为等)。
MSDN 文章详细描述了此功能:http://blogs.msdn.com/b/visio/archive/2010/01/12/custom-containers-lists-and-callouts-in-visio-2010.aspx
关于shapes - 将(主)形状添加到页面时,在 Microsoft Visio 2013 x64 中将一些(主)形状添加到另一个(主)形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27998652/