Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Huiswerkvragen: Exacte vakken (https://forum.scholieren.com/forumdisplay.php?f=17)
-   -   [INF] Visual basic, lijnen tekenen (https://forum.scholieren.com/showthread.php?t=1690985)

Gast12321 16-05-2008 11:23

[INF] Visual basic, lijnen tekenen
 
Kan iemand mij vertelllen hoe ik een lijn in VB teken die dikker is?

Ik kan op dit moment alleen de x en y-coordinaat van het begin en eindpunt opgeven, maar ik zou graag een dikkere lijn willen tekenen.

pietervdb 05-06-2008 17:19

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)


Alle tijden zijn GMT +1. Het is nu 13:04.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.