【发布时间】:2015-05-06 19:31:13
【问题描述】:
目标:
首先,我应该说我想做什么,然后我将在下一个(描述)部分描述我为实现我的目标所做的工作。 em>
我想从功能区“插入”选项卡中的图表部件部分的普通容器创建一个自定义列表主形状。然后,我想创建另一个主形状,它可以将用作创建的自定义列表主形状的成员形状。
换句话说,我想将我创建的主形状添加到我的自定义列表主形状,就像附加成员和分隔符主形状 到 UML 模板的 Class Master Shape。
因此,我在实现我在接下来的部分中描述的目标方面遇到了一些问题。
说明:
我在“Visio Stencil (.vssx)”文件中创建了一些新的主形状,如下所示:
图 1 - 新创建的主控形状和使用过的主控形状
- Property Master Shape(绿框):由 UML 类模板的成员主形状(蓝框)创建。
- 对象主形状(红框):是从功能区插入选项卡中图表部件部分的普通容器创建的。
创建属性主形状以用作对象主形状中的成员形状,就像在 UML 模板的类主形状中使用的成员主形状一样。
图 2 - 类主形状及其初始成员
从Member Master Shape创建的Property Master Shape已更改如下:
-
我向其中添加了一个形状数据(图 3)。
图 3 - Property Master Shape 的“Shape Data”对话框
-
我添加了 一个数据图形项(图 4)。
图 4 - Property Master Shape 的“数据图形”和“数据图形项”对话框
-
我更改了用户定义单元格部分中的“User.MemberName”公式ShapeSheet窗口如下(图5):
=MID(SUBSTITUTE(TRIM(SHAPETEXT(TheText)),"[",""),1,FIND(" ",SUBSTITUTE(TRIM(SHAPETEXT(TheText)),"[",""))-1)代替:
=SHAPETEXT(TheText)图 5 - Property Master Shape 的“ShapeSheet”窗口
从 Plain Container 创建的 Object Master Shape 已更改如下:
-
我更改了 ShapeSheet 窗口的用户定义的单元格和事件部分中单元格的内容,如图 6:
图 6 - 更改内容后 ShapeSheet 窗口的用户定义单元格和事件部分中的单元格
代替:
图 7 - ShapeSheet 窗口的用户定义单元格和事件部分中的单元格在更改其内容之前
问题:
第一个问题:
为什么属性主形状的实例在添加到对象主形状的实例后没有/不是正确排列和放置就像添加实例一样(s) Member Master Shape 到 UML Stencil 的 Class Master Shape 的实例(图 8)?
图 8 - 将 Object Master Shape 的一个实例和 Property Master Shape 的一个实例与 UML Stencil 及其初始成员的 Class Master Shape 的一个实例进行比较
第二个问题:
为什么对象主形状的实例在将其/它们附加到页面后不添加其初始成员,就像在添加实例后添加初始成员一样UML Stencil 的 Class Master Shape 到页面(图 9)?
图 9 - 将 Object Master Shape 的一个实例与 UML Stencil 的 Class Master Shape 的一个实例进行比较
我添加了以下公式来实现这个目标;但是,我认为它不起作用:
=IF(LISTMEMBERCOUNT()=0,DOCMD(2270),0)
第三个问题:
为什么没有在 Object Master Shape 的实例中显示 Bar 以插入 Property Master Shape 的实例,就像在的实例中显示 Bar UML Stencil 的 Class Master Shape 以插入其成员(图 10)?
图 10 - 将 Object Master Shape 的实例与 UML Stencil 的 Class Master Shape 的实例进行比较,以显示 Bar 以插入相关的成员
第四个问题:
为什么对象主形状的实例接受所有主形状的实例,除了属性主形状的实例,而不是实例只接受 UML 模板的成员和分隔符主形状的实例的 UML 模板的类主形状(图 11)?
图 11 - 将接受所有主形状实例的对象主形状实例与仅接受成员实例的 UML 模板的类主形状实例进行比较和 UML 模板的分隔符主形状
我在 用户定义的单元格部分中为 "User.msvSDListItemMaster" 设置了 =USE("Property") ShapeSheet 窗口; 但是,我认为它不起作用。
第五个问题:
为什么不显示用于将属性主形状的添加实例上的成员插入到对象主形状的实例中的选项,如附加实例( s) 将 UML 模板的成员和分隔符主形状转换为 UML 模板的类主形状的实例(图 12)?
图 12 - 将 Object Master Shape 的一个实例和 Property Master Shape 的一个实例与 UML Stencil 及其成员的 Class Master Shape 的一个实例进行比较,以显示添加的插入成员的选项成员
第 6 个(最终)问题:
为什么当我将其主对象更改为列表时,对象主形状的实例的行为和行为类似于容器?
【问题讨论】:
标签: shape visio shapes stencils shapesheet