Exemplo n.º 1
0
 public void AddNodes(MsoSegmentType segmentType, MsoEditingType editingType, Single x1, Single y1)
 {
     object[] paramArray = new object[4];
     paramArray[0] = segmentType;
     paramArray[1] = editingType;
     paramArray[2] = x1;
     paramArray[3] = y1;
     InstanceType.InvokeMember("AddNodes", BindingFlags.InvokeMethod, null, ComReference, paramArray, XlLateBindingApiSettings.XlThreadCulture);
 }
Exemplo n.º 2
0
 public void Insert(int index, MsoSegmentType segmentType, MsoEditingType editingType, Single x1, Single y1, Single x2, Single y2, Single x3, Single y3)
 {
     object[] paramArray = new object[9];
     paramArray[0] = index;
     paramArray[1] = segmentType;
     paramArray[2] = editingType;
     paramArray[3] = x1;
     paramArray[4] = y1;
     paramArray[5] = x2;
     paramArray[6] = y2;
     paramArray[7] = x3;
     paramArray[8] = y3;
     InstanceType.InvokeMember("Insert", BindingFlags.InvokeMethod, null, ComReference, paramArray, XlLateBindingApiSettings.XlThreadCulture);
 }
 /// <summary>设置 Index 指定的结点后面的段的段类型。如果该结点为一条曲线段的控制点,则该方法设置该曲线的段类型。请注意,该方法可能由于插入或删除相邻的结点而影响结点总数。
 /// </summary>
 /// <param name="Index">要设置段类型的顶点。</param>
 /// <param name="SegmentType">指定是直线段还是曲线段。</param>
 public void SetSegmentType(int Index, MsoSegmentType SegmentType)
 {
     _objaParameters = new object[2] { Index, SegmentType };
     _objShapeNodes.GetType().InvokeMember("SetSegmentType", BindingFlags.InvokeMethod, null, _objShapeNodes, _objaParameters);
 }
        /// <summary>在当前形状中添加一点,然后绘制一个从当前节点到添加的最后一个节点的线条。
        /// </summary>
        /// <param name="SegmentType">要添加的线段的类型。</param>
        /// <param name="EditingType">顶点的编辑属性。</param>
        /// <param name="X1">如果新线段的 EditingType 为 msoEditingAuto,则此参数指定从文档左上角到新线段终点的水平距离(以磅为单位)。如果新节点的 EditingType 为 msoEditingCorner,则此参数指定从文档左上角到新线段的第一个控制点的水平距离(以磅为单位)。</param>
        /// <param name="Y1">如果新线段的 EditingType 为 msoEditingAuto,则此参数指定从文档左上角到新线段终点的水平距离(以磅为单位)。如果新节点的 EditingType 为 msoEditingCorner,则此参数指定从文档左上角到新线段的第一个控制点的水平距离(以磅为单位)。</param>
        /// <param name="X2">如果新线段的 EditingType 为 msoEditingCorner,则此参数指定从文档左上角到新线段的第二个控制点的水平距离(以磅为单位)。如果新线段的 EditingType 为 msoEditingAuto,则不为该参数指定值。</param>
        /// <param name="Y2">如果新线段的 EditingType 为 msoEditingCorner,则此参数指定从文档左上角到新线段的第二个控制点的水平距离(以磅为单位)。如果新线段的 EditingType 为 msoEditingAuto,则不为该参数指定值。</param>
        /// <param name="X3">如果新线段的 EditingType 为 msoEditingCorner,则此参数指定从文档左上角到新线段的第二个控制点的水平距离(以磅为单位)。如果新线段的 EditingType 为 msoEditingAuto,则不为该参数指定值。</param>
        /// <param name="Y3">如果新线段的 EditingType 为 msoEditingCorner,则此参数指定从文档左上角到新线段的第二个控制点的水平距离(以磅为单位)。如果新线段的 EditingType 为 msoEditingAuto,则不为该参数指定值。</param>
        public void AddNodes(MsoSegmentType SegmentType, MsoEditingType EditingType, float X1, float Y1, float? X2 = null, float? Y2 = null, float? X3 = null, float? Y3 = null)
        {
            _objaParameters = new object[8] {
                SegmentType,
                EditingType,
                X1,
                Y1,
                X2 == null ? System.Type.Missing : X2,
                Y2 == null ? System.Type.Missing : Y2,
                X3 == null ? System.Type.Missing : X3,
                Y3 == null ? System.Type.Missing : Y3
            };

            _objFreeformBuilder.GetType().InvokeMember("AddNodes", BindingFlags.InvokeMethod, null, _objFreeformBuilder, _objaParameters);
        }
 /// <summary>在任意多边形形状中插入节点。
 /// </summary>
 /// <param name="Index">Long 型。形状节点的编号,将在该节点后插入新节点。</param>
 /// <param name="SegmentType">线段类型。</param>
 /// <param name="EditingType">编辑的类型。</param>
 /// <param name="X1">如果新线段的 EditingType 为 msoEditingAuto,那么此参数就以磅为单位指定文档的左上角与新线段的终点之间的水平距离。如果新节点的 EditingType 为 msoEditingCorner,那么此参数就以磅为单位指定文档的左上角与新线段的第一个控制点之间的水平距离。</param>
 /// <param name="Y1">如果新线段的 EditingType 为 msoEditingAuto,则此参数就以磅为单位指定从文档左上角到新线段终点的垂直距离。如果新节点的 EditingType 属性为 msoEditingCorner,则此参数就以磅为单位指定从文档左上角到新线段第一个控制点的垂直距离。</param>
 /// <param name="X2">如果新线段的 EditingType 属性为 msoEditingCorner,则此参数就以磅为单位指定从文档左上角到新线段第二个控制点的水平距离。如果新线段的 EditingType 为 msoEditingAuto,则不用为此参数指定值。</param>
 /// <param name="Y2">如果新线段的 EditingType 为 msoEditingCorner,则此参数就以磅为单位指定从文档左上角到新线段第二个控制点的垂直距离。如果新线段的 EditingType 为 msoEditingAuto,则不用为此参数指定值。</param>
 /// <param name="X3">如果新线段的 EditingType 为 msoEditingCorner,则此参数就以磅为单位指定从文档的左上角到新线段终点之间的水平距离。如果新线段的 EditingType 为 msoEditingAuto,则不用为此参数指定值。</param>
 /// <param name="Y3">如果新线段的 EditingType 为 msoEditingCorner,则此参数就以磅为单位指定从文档左上角到新线段终点的垂直距离。如果新线段的 EditingType 为 msoEditingAuto,则不用为此参数指定值。</param>
 public void Insert(int Index, MsoSegmentType SegmentType, MsoEditingType EditingType, float X1, float Y1, float X2 = 0f, float Y2 = 0f, float X3 = 0f, float Y3 = 0f)
 {
     _objaParameters = new object[9] { Index, SegmentType, EditingType, X1, Y1, X2, Y2, X3, Y3 };
     _objShapeNodes.GetType().InvokeMember("Insert", BindingFlags.InvokeMethod, null, _objShapeNodes, _objaParameters);
 }