Code:
Option Explicit
Private StartTekenen As Boolean
Private StartX As Single, StartY As Single
Private Sub picTekening_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
StartTekenen = True
StartX = X 'start coordinaten
StartY = Y
End Sub
Private Sub picTekening_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If StartTekenen = True Then
Debug.Print "Button: " & Button
If Button = vbLeftButton Then 'linker muisknop
picTekening.DrawWidth = 1
ElseIf Button = vbRightButton Then 'rechter muisknop
If Shift = vbShiftMask Then 'en Shift
picTekening.DrawWidth = 4
ElseIf Shift = vbCtrlMask Then 'en Ctrl
picTekening.DrawWidth = 8
ElseIf Shift = vbAltMask Then 'en Alt
picTekening.DrawWidth = 12
Else 'geen toets
picTekening.DrawWidth = 2
End If
End If
picTekening.Line (StartX, StartY)-(X, Y) 'teken een lijn
End If
StartX = X 'nieuwe start coordinaten
StartY = Y
End Sub
Private Sub picTekening_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
StartTekenen = False
End Sub
Private Sub picKleur_Click(Index As Integer)
'voorgrondkleur picTekening aanpassen
picTekening.ForeColor = picKleur(Index).BackColor
End Sub
Private Sub picKleur_DblClick(Index As Integer)
'Uitgummen: voorgrondkleur gelijk aan achtergrondkleur
picTekening.ForeColor = picTekening.BackColor
picTekening.DrawWidth = 20
End Sub
Private Sub picAchter_Click()
If picAchter.BackColor = vbWhite Then
picAchter.BackColor = vbBlack 'achtergrondkleur zwart
picTekening.BackColor = vbBlack
Else
picAchter.BackColor = vbWhite 'achtergrondkleur wit
picTekening.BackColor = vbWhite
End If
End Sub
Private Sub picAchter_DblClick()
picAchter.BackColor = vbCyan 'achtergrondkleur lichtblauw
picTekening.BackColor = vbCyan
End Sub
Ik heb ooit eens een paint programma geschreven. Gebruik gewoon picturebox.DrawWidth = 4 (of een andere grootte)