zhucheyong 发表于 2021-11-12 16:22:38

请问大佬怎么让vba生成的直线,起点居中与当前图形

请问大佬GMS怎么让vba生成的直线,居中与当前图形
代码如下:
Public Sub 添加垂直线()
ActiveDocument.Unit = cdrMillimeter
' 定义单位mm
Dim s As Shape
Dim b
b = ActiveSelection.SizeHeight '当前图形高度
' 创建垂直线
Set s = ActiveLayer.CreateLineSegment(0, 0, 0, b)
End Sub想实现,这个生成的垂直线会从页面左下角为起点,怎么写使直线起点在图形左下角或中间为呢?(0, 0, 0, b)0定义位置了不起作用https://www.52cnp.com/forum.php?mod=image&aid=37741&size=300x300&key=2e957f4011417ae5&nocache=yes&type=fixnone

jiangyu 发表于 2021-11-13 10:40:09

Set s = ActiveLayer.CreateLineSegment(0, 0, 0, b)这里面前面两个0是直线段一端的坐标xy,后面0,b是直线段另一端的坐标xy。


    Public Sub 添加垂直线()
    ActiveDocument.Unit = cdrMillimeter
    ' 定义单位mm
    Dim s As Shape
    Dima, b
    x = ActiveSelection.LeftX' 横坐标
    y = ActiveSelection.BottomY ' 纵坐标
    a = ActiveSelection.SizeWidth '当前图形宽度
    b = ActiveSelection.SizeHeight '当前图形高度

    ' 创建垂直线
    Set s = ActiveLayer.CreateLineSegment(x+a/2, y, x+a/2, y+b)
    End Sub

xuru 发表于 2021-11-20 12:00:21

:lol受教了,学习中 @jiangyu
页: [1]
查看完整版本: 请问大佬怎么让vba生成的直线,起点居中与当前图形