Cet article décrit un exemple de dessin à la souris en VB. Cet exemple réalise que la couleur et la largeur de la ligne peuvent être définies par soi-même. Lorsque vous appuyez sur le bouton de la souris, le dessin démarre et le point de départ initial est enregistré si l'état de dessin n'est pas défini. dans l'état de dessin, le processus sera quitté. Dans l'état de dessin, une ligne droite est tracée du point de départ au point de souris actuel, puis le point de souris actuel est utilisé comme nouveau point de départ. le bouton de la souris est relâché.
Les codes de fonction spécifiques sont les suivants :
VERSION 5.00Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "comdlg32.ocx" Début du formulaire VB.Form Form1 Légende = "Dessin de la souris" ClientHeight = 6420 ClientLeft = 60 ClientTop = 345 ClientWidth = 7710 LinkTopic = "Form1" ScaleHeight = 6420 ScaleWidth = 7710 StartUpPosition = 3 'Fenêtre par défaut Début VB.CommandButton Command2 Caption = "Effacer" Hauteur = 495 Gauche = 5640 TabIndex = 7 Haut = 1440 Largeur = 1335 Fin Début VB.Frame Frame1 Caption = "Largeur de ligne" Hauteur = 2655 Gauche = 5520 TabIndex = 2 Haut = 2880 Largeur = 1935 Début VB.OptionButton Option4 Légende = "8" Hauteur = 495 Gauche = 240 TabIndex = 6 Haut = 1800 Largeur = 1215 Fin Début VB.OptionButton Option3 Légende = "4" Hauteur = 375 Gauche = 240 TabIndex = 5 Haut = 1320 Largeur = 1335 Fin Début VB.OptionButton Option2 Légende = "2" Hauteur = 375 Gauche = 240 TabIndex = 4 Haut = 840 Largeur = 1095 Fin Début VB.OptionButton Option1 Légende = "1" Hauteur = 255 Gauche = 240 TabIndex = 3 Haut = 480 Valeur = -1 'True Largeur = 1335 Fin Fin Début VB.CommandButton Command1 Caption = "Définir la couleur" Hauteur = 495 Gauche = 5640 TabIndex = 1 Haut = 600 Largeur = 1215 Fin Début MSComDlg.CommonDialog CommonDialog1 Gauche = 4200 Haut = 3840 _ExtentX = 847 _ExtentY = 847 _Version = 393216 Fin Début VB.PictureBox Picture1 Hauteur = 5535 Gauche = 480 ScaleHeight = 5475 ScaleWidth = 4515 TabIndex = 0 Haut = 480 Largeur = 4575 EndEndAttribute VB_Name = "Form1" Attribut VB_GlobalNameSpace = FalseAttribute VB_Creatable = FalseAttribute VB_PredeclaredId = TrueAttribute VB_Exposed = FalseDim x1 As Integer 'Point de départ Coordonnée X Dim y1 As Integer 'Point de départ Coordonnée Y Dim x2 As Integer 'Point final Coordonnée X Dim y2 As Integer 'Point final Coordonnée Y Dim flag As Boolean 'Dessin paramètre du drapeau Ligne colorPrivate Sub Command1_Click() En cas d'erreur Reprendre Suivant CommonDialog1.CancelError = True CommonDialog1.DialogTitle = "Color" CommonDialog1.ShowColor If Err <> 32755 Then Picture1.ForeColor = CommonDialog1.Color End IfEnd Sub'Effacer les graphiques dans Picture1 Private Sub Command2_Click() Picture1.ClsEnd Sub'Définir la ligne largeur Sous-option privée1_Click() Picture1.DrawWidth = 1Fin du sous-privé Option2_Click() Picture1.DrawWidth = 2Fin du sous-privé Option3_Click() Picture1.DrawWidth = 4Fin du sous-privé Option4_Click() Picture1.DrawWidth = 8Fin du sous-privé Form_Load() Picture1.Scale (0, 0)-(400, 400 ) drapeau = FalseEnd SubPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, _X As Single, Y As Single)'Lorsque le bouton de la souris est enfoncé, le dessin démarre et enregistre le point de départ initial flag = True x1 = X y1 = YEnd SubPrivate Sub Picture1_MouseMove(Button En tant qu'entier, Shift en tant qu'entier, _X en tant que simple, Y en tant que Single)'Si vous n'êtes pas en état de dessin, quittez le processus'Si vous êtes en état de dessin, tracez une ligne droite du point de départ au point actuel de la souris'Ensuite, utilisez le point actuel de la souris comme nouveau point de départSi drapeau = False Then Quitter Sub End Si flag = True Then x2 = Integer, Shift As Integer, _X As Single, Y As Single)' Le dessin se termine lorsque le bouton de la souris est relâché flag = FalseEnd Sub
Il y a des commentaires relativement détaillés dans le programme, je pense qu'il sera facile à comprendre pour les lecteurs. Les lecteurs peuvent modifier le programme selon leurs propres préférences pour le rendre plus parfait !