我要在PICTUREBOX里画线,可控件自带的LINETO方法太慢是否有方法用API画快点同时可任意改变线条的颜色?
谢谢!!!!

解决方案 »

  1.   

    Public Declare Function MoveToEx Lib "gdi32" Alias "MoveToEx" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, lpPoint As POINTAPI) As Long
    Public Declare Function LineTo Lib "gdi32" Alias "LineTo" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
      

  2.   

    LineTo VB声明 
    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.   

    SetPixelV VB声明 
    Declare Function SetPixelV Lib "gdi32" Alias "SetPixelV" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long 
    说明 
    在指定的设备场景中设置一个像素的RGB值 
    返回值 
    Long,非零表示成功,零表示失败。会设置GetLastError 
    参数表 
    参数 类型及说明 
    hdc Long,一个设备场景的句柄 
    x,y Long,要设置的点,用逻辑坐标表示 
    crColor Long,指定像素的新RGB颜色值 
    注解 
    这个函数比SetPixel快一些,但不会返回设置的实际颜色。可用GetDeviceCaps判断设备是否支持这个函数
     
      

  4.   

    API画图很麻烦的,不过好处就是想往那画往那画,不受限制
      

  5.   

    以上函数我知道,但不知坐标如何定。也就是想在任意位置画。不知哪位高手肯指点一二。?
    THANK YOU !!!!
      

  6.   

    上面的API画线是按照屏幕坐标来画的么
    可不可以按自定义坐标来画
      

  7.   

    怎么设原点,怎么定义坐标?你能写点源码或例子吗?THANK YOU!!
      

  8.   

    我要在PICTUREBOX里画连续线,可随时任意改变线条的颜色?