C#进行Visio二次开发之组合形状操作
2010-09-30 22:45:23 来源:WEB开发网至此,完成万里长征第一步,也证实分解后的图形,可以通过移动位置的方式实现,虽然定位形状我们不能靠 ActiveWindow.Page.Shapes.ItemFromID(60)来定位,但是我们可以通过埋在形状中的设备类型参数来实现形状的定位的(这里我在设计模具的时候,把两个形状的的设备类型属性分别设置为“阀A"和”阀B“)。
进一步分析整体组合形状的ShapeSheet参数发现,里面有一个很重要的参数,如下图所示:
查看原图(大图)
F1查看其帮助说明,如下所示
因此可以看到,可以通过该属性的设置,来实现组合形状的分离操作,在图纸上实际操作一下,把0修改为1或者2,果然可以实现子形状的选择操作了。
建立一个操作函数,来实现选择模式的修改,如下所示:
/// <summary>
/// 设置形状的选择属性
/// </summary>
/// <param name="targetShape">指定的形状</param>
/// <param name="selectMode">
/// 0 仅选择组合形状。
/// 1 首先选择组合形状
/// 2 首先选择组合的组成部分
/// </param>
[CLSCompliant(false)]
public static void SetGroupSelectMode(Visio.Shape targetShape, int selectMode)
{
targetShape.get_CellsSRC((short)VisSectionIndices.visSectionObject, (short)VisRowIndices.visRowGroup,
(short)VisCellIndices.visGroupSelectMode).FormulaU = selectMode.ToString();
}
更多精彩
赞助商链接