就是WIN自带的那个画图工具的刷子功能,“/”“\”这两个的算法,本来以为很简单啊,但是实现起来却很是麻烦,自己绕的有点糊涂了,盼望高手指点一下,特别是刷子还可以根据鼠标的方向变换刷子的宽度,希望大家多多指点啊

解决方案 »

  1.   

    Dim XStart As Single, YStart As SinglePrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
        If Button <> 1 Then Exit Sub
        Me.DrawWidth = 2
        XStart = X
        YStart = Y
    End SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
        If Button <> 1 Then Exit Sub
        Line (XStart, YStart)-(X, Y)
        XStart = X
        YStart = Y
    End Sub
      

  2.   

    上面的效果不好,改一下Dim XStart As Single, YStart As SinglePrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
        If Button <> 1 Then Exit Sub
        Me.DrawMode = 13
        Me.DrawWidth = 3
        XStart = X
        YStart = Y
    End SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
        If Button <> 1 Then Exit Sub
        Line (XStart, YStart)-(X, Y)
        XStart = X
        YStart = Y
    End Sub
      

  3.   

    Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
        If Button <> 1 Then Exit Sub
        Me.DrawMode = 13
        Me.DrawWidth = 3
        XStart = X
        YStart = Y
    End SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
        Me.MousePointer = 2  '设置鼠标形状
        If Button <> 1 Then Exit Sub
        Line (XStart, YStart)-(X, Y)
        XStart = X
        YStart = Y
    End Sub
      

  4.   

    http://vbworld.sxnw.gov.cn/vbbooks/VBSE/api4.htm#Q13