请问如何设置lineto的起始点?moveto么?我用过了不行阿。请各位前辈指点。或者我根本不会用。谢谢!!

解决方案 »

  1.   

    Private Declare Function MoveToEx Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpPoint As Long) As LongMoveToEx(X,Y,0)
      

  2.   

    【VB声明】
      Private Declare Function LineTo Lib "gdi32" Alias "LineTo" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long【说明】
      用当前画笔画一条线,从当前位置连到一个指定的点。这个函数调用完毕,当前位置变成x,y点 【返回值】
      Long,非零表示成功,零表示失败 【备注】
      如重复调用这个函数和一个几何画笔,从而创建一系列线段,那么除非在一个路径的场景中调用,否则不会认为这些线段已结合到一起【参数表】
      hdc ------------  Long,设备场景的句柄  x,y ------------  Long,线段终点位置,采用逻辑坐标表示。这个点不会实际画出来;它不属于线段的一部分
      

  3.   

    Option Explicit
    Private Declare Function MoveToEx Lib "gdi32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, lpPoint As POINTAPI) As Long
    Private Declare Function LineTo Lib "gdi32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
    Private Type POINTAPI
        x As Long
        y As Long
    End TypePrivate Sub Command1_Click()
        Dim lpPoint As POINTAPI
        '设置起始点 (10,10)
        MoveToEx Me.hdc, 10&, 10&, lpPoint
        '画一根在坐标(110,110)长度为100的直线
        LineTo Me.hdc, 110&, 110&
            
    End SubPrivate Sub Form_Load()
        Me.AutoRedraw = False
    End Sub