VB6 - Récupérer les valeurs de la souris
Résolu/Fermé
A voir également:
- VB6 - Récupérer les valeurs de la souris
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Recuperer video youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
- Quelle touche pour débloquer la souris ? - Guide
- Impossible de récupérer mon compte gmail - Guide
7 réponses
Bonjour,
Pour récupérer la position de la souris dans une Form, moi j'utilise les évènements Form_MouseDown, Form_MouseUp et Form_MouseMove.
Pour tracer une ligne, il y la méthode Line.
A+.
Pour récupérer la position de la souris dans une Form, moi j'utilise les évènements Form_MouseDown, Form_MouseUp et Form_MouseMove.
Pour tracer une ligne, il y la méthode Line.
A+.
Bonjour Amigo,
Dans l'idée j'ai rien contre mais avec ces évenements comme récupérer les valeurs x et y de la souris ?
Où je l'ai trouve, en fait je veux faire un programme qui au premier clic récupère les valeurs de la souris et les stocke dans 2 variables et ensuite lors du second clic stock dans deux autres variables et avec ces quatre variables (départ de X et Y et fin de X et Y) tracer une ligne.
Comment faire s'i lte plaît ? Peux-tu me montrer le code stp ?
Merci beaucoup !
Dans l'idée j'ai rien contre mais avec ces évenements comme récupérer les valeurs x et y de la souris ?
Où je l'ai trouve, en fait je veux faire un programme qui au premier clic récupère les valeurs de la souris et les stocke dans 2 variables et ensuite lors du second clic stock dans deux autres variables et avec ces quatre variables (départ de X et Y et fin de X et Y) tracer une ligne.
Comment faire s'i lte plaît ? Peux-tu me montrer le code stp ?
Merci beaucoup !
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
4 juil. 2008 à 10:53
4 juil. 2008 à 10:53
Bonjour,
1ère chose a faire, déclarer tes variables au desssus du module
Dim vardepx as integer
Dim vardepy as integer
Dim clicking as integer
Et ta fonction va... Fonctionner.
Sauf que tu doit remettre clicking à 0 au 2ém passage.
Mais amigo a raison, il faut employer les événements souris de la feuille, là tu à directement le X et le Y par rapport à ta forme.
A+
1ère chose a faire, déclarer tes variables au desssus du module
Dim vardepx as integer
Dim vardepy as integer
Dim clicking as integer
Et ta fonction va... Fonctionner.
Sauf que tu doit remettre clicking à 0 au 2ém passage.
Mais amigo a raison, il faut employer les événements souris de la feuille, là tu à directement le X et le Y par rapport à ta forme.
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Exemple de dessin de lignes sur une Form
Ouvre un nouveau projet et place un controle Line (Line1) sur la Form (Form1)
Colle ce code dans le code de la Form et execute
Appuyer sur le bouton1 de la souris et garder appuyé, déplacer la souris et relacher le bouton.
Exemple de dessin de lignes sur une Form
Ouvre un nouveau projet et place un controle Line (Line1) sur la Form (Form1)
Colle ce code dans le code de la Form et execute
Appuyer sur le bouton1 de la souris et garder appuyé, déplacer la souris et relacher le bouton.
Option Explicit Dim x1, x2, y1, y2 Dim Btn As Boolean Private Sub Form_Load() Me.Line1.Visible = False Me.AutoRedraw = True Me.DrawWidth = 3 End Sub Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) x1 = X: y1 = Y: Btn = True End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) x2 = X: y2 = Y If Btn Then With Me.Line1 .x1 = x1 .y1 = y1 .x2 = x2 .y2 = y2 .Visible = True End With End If End Sub Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) x2 = X: y2 = Y: Btn = False Me.Line1.Visible = False Me.Line (x1, y1)-(x2, y2) End Sub
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
4 juil. 2008 à 13:15
4 juil. 2008 à 13:15
Petit exercice.. dessine sur la forme ou tout autre objet qui possède un hdc.
Nouveau Projet et coller le code dans le module de la forme.
Tant que le bouton de la souris est enfoncé, la ligne suit le curseur.
Option Explicit Const PS_SOLID = 0 Private Type POINTAPI X As Long Y As Long End Type Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long Private Declare Function CreatePen Lib "gdi32" (ByVal nPenStyle As Long, ByVal nWidth As Long, ByVal crColor As Long) As Long Private Declare Function LineTo Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long Private Declare Function MoveToEx Lib "gdi32" (ByVal hdc As Long, _ ByVal X As Long, ByVal Y As Long, lpPoint As Any) As Long Const Epp = 10 Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) DeleteObject SelectObject(Me.hdc, CreatePen(PS_SOLID, Epp, RGB(0, 255, 0))) MoveToEx Me.hdc, X, Y, &H0 End Sub 'Mettre ce code dans Form_MouseUp pour une ligne droite Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button <> 1 Then Exit Sub DeleteObject SelectObject(Me.hdc, CreatePen(PS_SOLID, Epp, RGB(0, 255, 0))) LineTo Me.hdc, X, Y Me.Refresh End Sub
Nouveau Projet et coller le code dans le module de la forme.
Tant que le bouton de la souris est enfoncé, la ligne suit le curseur.