Malen

Mit den ersten 3 Routinen (MouseDown/Up/Move) läßt sich das Grundgerüst eines Malprogramms erstellen.

1.Erweiterung:
Buttons für Maldicke und Farbe erstellen.

2. Erweiterung:
Erstellen von Kreise mit dem “circle”-Befehl, wieder mit Farbe , Dicke und (neu) mit Fillstyle und Fillfarbe

3. Erweiterung::
“Regenbogen”-Button, während des Malens wird die Farbe zufallsgeneriert verändert

4. Erweiterung:
Einführung des Menü-Editors. Einige oder alle Buttons werden durch Menüs ersetzt.

 

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
down = 1
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If down = 1 Then PSet (X, Y), QBColor(farbe)
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
down = 0
End Sub

Private Sub M_dick_Click()
DrawWidth = 20
End Sub

Private Sub M_dünn_Click()
DrawWidth = 2
End Sub

Private Sub M_mittel_Click()
DrawWidth = 6
End Sub

Private Sub m_rot_Click()
farbe = 12
End Sub

Private Sub M_grün_Click()
farbe = 11
End Sub

Nochmal mit den Erweiterungen 1-4
Option Explicit
Dim malen, farbe, kreise, down, radius, regenbogen

Private Sub Command1_Click()
DrawWidth = 30
End Sub

Private Sub Command10_Click()
FillColor = QBColor(14)
End Sub

Private Sub Command11_Click()
FillColor = QBColor(10)
End Sub

Private Sub Command12_Click()
regenbogen = 1
kreise = False
malen = False
End Sub

Private Sub Command2_Click()
DrawWidth = 8
End Sub

Private Sub Command3_Click()
farbe = 12
End Sub

Private Sub Command4_Click()
farbe = 0
End Sub

Private Sub Command5_Click()
farbe = 15
End Sub

Private Sub Command6_Click()
malen = True
kreise = False
regenbogen = 0
End Sub

Private Sub Command7_Click()
regenbogen = 0
kreise = True
malen = False
End Sub

Private Sub Command8_Click()
radius = 1000
End Sub

Private Sub Command9_Click()
radius = 300
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
down = 1
If kreise = True Then Circle (X, Y), radius, QBColor(farbe)
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If malen = True And down = 1 Then PSet (X, Y), QBColor(farbe)
If regenbogen = 1 And down = 1 Then PSet (X, Y), QBColor(Rnd * 15)
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
down = 0
End Sub

Private Sub menu_grün_Click()
farbe = 10
End Sub

Private Sub menu_kreise_Click()
regenbogen = 0
kreise = True
malen = False
End Sub

Private Sub menu_malen_Click()
malen = True
kreise = False
regenbogen = 0
End Sub

Private Sub menu_rot_Click()
farbe = 12
End Sub