private static IVisio.VisVerticalAlignTypes _map_isd_valign_to_visio_valign(VA.Drawing.AlignmentVertical v) { switch (v) { case VA.Drawing.AlignmentVertical.Top: return(IVisio.VisVerticalAlignTypes.visVertAlignTop); case VA.Drawing.AlignmentVertical.Center: return(IVisio.VisVerticalAlignTypes.visVertAlignMiddle); case VA.Drawing.AlignmentVertical.Bottom: return(IVisio.VisVerticalAlignTypes.visVertAlignBottom); default: throw new System.ArgumentOutOfRangeException(); } }
private static IVisio.VisUICmds _map_valign_to_uicmd(VA.Drawing.AlignmentVertical v) { switch (v) { case VA.Drawing.AlignmentVertical.Top: return(IVisio.VisUICmds.visCmdDistributeTop); case VA.Drawing.AlignmentVertical.Center: return(IVisio.VisUICmds.visCmdDistributeMiddle); case VA.Drawing.AlignmentVertical.Bottom: return(IVisio.VisUICmds.visCmdDistributeBottom); default: throw new System.ArgumentOutOfRangeException(); } }
public void Distribute(IList <IVisio.Shape> target_shapes, VA.Drawing.AlignmentVertical valign) { this.AssertApplicationAvailable(); this.AssertDocumentAvailable(); int shape_count = this.GetTargetSelection(target_shapes); if (shape_count < 1) { return; } var cmd = _map_valign_to_uicmd(valign); this.Client.VisioApplication.DoCmd((short)cmd); }
public void Align(IList <IVisio.Shape> target_shapes, VA.Drawing.AlignmentVertical align) { this.AssertApplicationAvailable(); this.AssertDocumentAvailable(); int shape_count = this.GetTargetSelection(target_shapes); if (shape_count < 2) { return; } using (var undoscope = new VA.Application.UndoScope(this.Client.VisioApplication, "Align Shapes")) { bool glue_to_guide = false; var selection = Client.Selection.Get(); var halign = IVisio.VisHorizontalAlignTypes.visHorzAlignNone; var valign = _map_isd_valign_to_visio_valign(align); selection.Align(halign, valign, glue_to_guide); } }