Ejemplo n.º 1
0
        public void DistributeHorizontal(VisioScripting.Models.TargetShapes targets, VisioScripting.Models.AlignmentHorizontal halign)
        {
            this._client.Application.AssertApplicationAvailable();
            this._client.Document.AssertDocumentAvailable();

            int shape_count = targets.SetSelectionGetSelectedCount(this._client);

            if (shape_count < 1)
            {
                return;
            }

            IVisio.VisUICmds cmd;

            switch (halign)
            {
            case VisioScripting.Models.AlignmentHorizontal.Left:
                cmd = IVisio.VisUICmds.visCmdDistributeLeft;
                break;

            case VisioScripting.Models.AlignmentHorizontal.Center:
                cmd = IVisio.VisUICmds.visCmdDistributeCenter;
                break;

            case VisioScripting.Models.AlignmentHorizontal.Right:
                cmd = IVisio.VisUICmds.visCmdDistributeRight;
                break;

            default: throw new System.ArgumentOutOfRangeException();
            }

            var application = this._client.Application.Get();

            application.DoCmd((short)cmd);
        }
Ejemplo n.º 2
0
        public void AlignHorizontal(VisioScripting.Models.TargetShapes targets, VisioScripting.Models.AlignmentHorizontal align)
        {
            this._client.Application.AssertApplicationAvailable();
            this._client.Document.AssertDocumentAvailable();

            int shape_count = targets.SetSelectionGetSelectedCount(this._client);

            if (shape_count < 2)
            {
                return;
            }

            IVisio.VisHorizontalAlignTypes halign;
            var valign = IVisio.VisVerticalAlignTypes.visVertAlignNone;

            switch (align)
            {
            case VisioScripting.Models.AlignmentHorizontal.Left:
                halign = IVisio.VisHorizontalAlignTypes.visHorzAlignLeft;
                break;

            case VisioScripting.Models.AlignmentHorizontal.Center:
                halign = IVisio.VisHorizontalAlignTypes.visHorzAlignCenter;
                break;

            case VisioScripting.Models.AlignmentHorizontal.Right:
                halign = IVisio.VisHorizontalAlignTypes.visHorzAlignRight;
                break;

            default: throw new System.ArgumentOutOfRangeException();
            }

            const bool glue_to_guide = false;

            using (var undoscope = this._client.Application.NewUndoScope("Align Horizontal"))
            {
                var selection = this._client.Selection.Get();
                selection.Align(halign, valign, glue_to_guide);
            }
        }