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