在将(主)形状添加到页面时,将一些(主)形状添加到 Microsoft Visio 2013 x64 中的另一个(主)形状

Add some (Master) Shapes to another (Master) Shape in Microsoft Visio 2013 x64 when add a (Master) Shape to the Page

我想在 Microsoft Visio 2013 x64 中创建一个新的主控形状,就像 Class 主控形状一样UML Class 模板.

将Class主控形状添加到页面时,它会自动在其自身附加两个成员主控形状和一个分隔主控形状。此外,可以在其中添加更多的Member和Separator Master Shapes。

我以为它通过一些编写的 VBA 代码在自身中添加了其他 Master Shapes; 但是,当我检查 的文件时UML Class (Metric) Stencil 在下面的完整路径中,我知道它没有使用 VBA 代码,根本没有。

D:\Program Files\Microsoft Office\Office15\Visio Content33\USTRME_M.VSSX

文件扩展名是"Visio Stencil (.vssx)"而不是"Visio Macro-Enabled Stencil (.vssm)";所以,它不能有 VBA 代码。

我知道我可以通过在 ShapeSheet 的 Actions 部分添加一些新行来做一些事情;但是,不存在任何操作行来为 Class 形状添加新的成员和分隔符主形状。

图 1 - 分隔符形状在上下文菜单中有两个附加选项,ShapeSheet 中没有任何相关行

图 2 - 显示用于插入分隔符形状的条形

图 3 - 上下文菜单中有两个附加选项且 ShapeSheet 中没有任何相关行的成员形状

图 4 - 显示用于插入成员形状的栏

当我用人民币点击页面中的 Class 形状时,上下文菜单 中有两个新选项:

我看到他们的相关操作部分行。

图 5 - Class 在上下文菜单和 ShapeSheet 中的相关行中有两个附加选项的形状

我做RMB的时候点击添加的Class形状中的Member和Separator Shapes,可以看到"Insert "Member/Separator" before/after";但是,当我直接在页面上添加成员和分隔符主形状时 (不是在 Class 形状中),当我用人民币点击它们时,看不到额外的选项在上下文菜单中。

图 6 - 上下文菜单中没有其他选项的分隔符形状

图 7 - 上下文菜单中没有其他选项的成员形状

我检查了他们的 ShapeSheet,找不到任何与 above-mentioned 操作相关的行。

现在,我的问题是 我怎样才能创建一个新的 Master Shape,它能够接受一些其他 Master Shapes 而无需任何 VBA 代码,例如 [=126] =] UML 中的形状 Class Microsoft 创建的 Stencil?

此功能在 Visio 中称为 "List"(结构化图表)(在 Visio 2010 中引入)。要允许这种功能(允许某些形状 "accept" 其他形状类似于 "class" 形状),您需要通过设置用户 属性 将形状声明为 "list" ] User.msvStructureType="List" 的形状是 sheet。要声明它应该接受的项目类型,您还需要设置单元格 User.msvSDListItemMaster = USE("Your item's master name")。意思是,您可以只绘制一个普通矩形(例如),然后通过添加这两个用户属性将其转换为 "List"。 lists/container 有更多选项可用(例如边距、行为等)。

详细描述此功能的 MSDN 文章:http://blogs.msdn.com/b/visio/archive/2010/01/12/custom-containers-lists-and-callouts-in-visio-2010.aspx