De functie heeft de volgende parameters:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer,
X As Single, Y As Single)
Button: het nummer van de muisknop linker- of rechter.
Shift: waarde die aangeeft of je eveneens op de Shift-toets hebt geduwd.
X,Y: x-positie en ypositie van de plaats waar u klikt met de muis.
Oefening: Plaats onderstaande code eens in het event, zodat
je in het immediate window kunt zin wat er gebeurt:
Debug.print Button,Shift,X,Y
Hoe kunnen we nu tekenen?
In een formulier bestaan twee systeemvariabelen (hoeft u dus niet te declareren) waarin een positie in het formulier bijgehouden wordt. Als we de linkermuisknop induwen gaan we die positie bijhouden als volgt:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer,
X As Single, Y As Single)
If Button = 1 Then '
Check of de linkermuisknop is ingedrukt
CurrentX = X: CurrentY
= Y ' bewaar de muispositie in CurrentX en CurrentY
End If
End Sub
Als we muisknop ingeduwd houden en de muis bewegen, wordt het event MouseMove aangeroepen. Dus moeten we hierin de code plaatsen om een lijntje te tekenen vanaf de voorgaande muispositie:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single)
If Button = 1 Then '
Check of de linkermuisknop is ingedrukt
'Teken
nu een lijntje vanaf het punt (CurrentX,CurrentY)
'naar het punt (X,Y)
Line -(X, Y)
End If
End Sub
Vanaf nu kunnen we tekenen!
Zorg er wel voor dat Autoredraw van het formulier op True
staat, zodat de tekening behouden blijft.
Oefening: Vul de voorgaande oefening aan met een menu zodat je
kunt kiezen uit de lijndikte 1, 2 en 4, en uit de kleuren Zwart, Rood Blauw,
Geel en Groen .
De dikte van de lijnen kunt u kiezen door de eigenschap DrawWidth
in te stellen.
De kleur van de lijnen kunt u instellen met de eigenschap ForeColor.
De eigenschap FillStyle zet u op Solid.
Bij het opstarten moet de lijndikte op één staan en de
kleur op zwart. (Ook in het menu!)
Oefening: Maak ook nog een menu-optie bij om het formulier te wissen! Gebruik een MessageBox met een JA- en NEE-knop, om de gebruiker te laten bevestigen of hij het formulier echt wil wissen of niet