前页 后页

显示合成图

您可以将元素定义为复合元素(使用“新建图|复合结构图”上下文菜单选项),在这种情况下,该元素具有一个子复合图,该子复合图描述了该元素的子结构。您也可以使用上下文菜单选项在元素上显示“合成图”,或者将元素重铸为框架,或者在元素上添加隔离专区。通常,重新定义Composite元素外观的Shape Script有效地规避了这些选项的效果,但是您可以编辑脚本以响应“ Show Compatment in Compartment”选项,并在中间的子隔间中显示子Composite Diagram。元素。

为了显示合成图,该脚本要求布局类型为“边框”,并且在绘制时将合成图添加到主要形状的中心子形状中。因此,定义的Shape Script语句是:

形状主体

{

layouttype =“ Border”;

if(HasProperty(“ ShowComposedDiagram”,“ true”))

{

addsubshape(“ ComposedDiagram”,“ CENTER”);

}

形状组成图

{

DrawComposedDiagram();

}

}

例子

包含组成图的Shape Script的示例为:

形状主体

{

//设置边框类型

layouttype =“ Border”;

//设置奶油色

setfillcolor(255,255,200);

//为对象绘制一个基本矩形。

矩形(0,0,100,100);

//在形状顶部添加一些填充

addsubshape(“ Padding”,“ N”);

//检查上下文菜单选项的设置

if(HasProperty(“ ShowComposedDiagram”,“ true”))

{

//将组成图添加到对象的中心

addsubshape(“ ComposedDiagram”,“ CENTER”);

}

//在形状底部添加一些填充。

addsubshape(“ Padding”,“ S”);

形状填充

{

//设置此元素的高度

preferredHeight = 20;

//将填充颜色设置为灰色

setfillcolor(128,128,128);

//绘制一个矩形,它将占用对象的宽度,

//高度为20像素。

矩形(0,0,100,100);

}

形状组成图

{

//绘制组成图。

DrawComposedDiagram();

}

}

该脚本生成形状:

An example shape script that illustrates how to include the contents of a composite diagram within a shape.

当前仅支持将组合图用作主要形状的中心子形状。将图添加到任何其他位置将导致组成的图无法正确绘制或完全不绘制。该图可以是子形状的子形状,但前提是父形状和子形状都具有“ CENTER”方向。例如:

//这个形状脚本很好,因为形状E是形状C的中心,也就是形状D的中心;也就是说,所有导致// DrawComposedDiagram的形状均为“ CENTER”。

形状主体

{

layouttype =“ Border”;

矩形(0,0,100,100);

addsubshape(“ D”,“ CENTER”);

成形

{

layouttype =“ Border”;

addsubshape(“ C”,“ CENTER”);

C形

{

layouttype =“ Border”;

addsubshape(“ E”,“ CENTER”);

addsubshape(“ Padding”,“ N”);

addsubshape(“填充”,“ S”);

形状E

{

DrawComposedDiagram();

}

形状填充

{

preferredHeight = 20;

setfillcolor(10,30,80);

矩形(0,0,100,100);

}

}

}

}

//此形状脚本不好-形状E为“ CENTER”,形状C为“ S”,形状D为“ CENTER”;因为形状C的方向是“ S”

//该图不会绘制。

形状主体

{

layouttype =“ Border”;

矩形(0,0,100,100);

addsubshape(“ D”,“ CENTER”);

成形

{

layouttype =“ Border”;

addsubshape(“ C”,“ S”); // <-这很糟糕,DrawComposedDiagram调用的所有父子形状必须为

//面向“ CENTER”

C形

{

layouttype =“ Border”;

addsubshape(“ E”,“ CENTER”);

addsubshape(“ Padding”,“ N”);

addsubshape(“填充”,“ S”);

形状E

{

DrawComposedDiagram();

}

形状填充

{

preferredHeight = 20;

setfillcolor(10,30,80);

矩形(0,0,100,100);

}

}

}

}

笔记

  • 要显示合成图,请使用“新图|应在图中元素的上下文菜单中选择“在隔间中显示合成图”选项
  • 组成图以自然大小显示,因此父元素不能调整为小于组成图的大小

学到更多