Tracer un ligne droite d'un point en direction du pointeur de la souris

restinpeace666 Messages postés 7 Date d'inscription vendredi 15 octobre 2010 Statut Membre Dernière intervention 1 novembre 2011 - 31 oct. 2011 à 20:25
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 1 nov. 2011 à 17:55
bonjour ou bonsoir a tous cher amis programmeur
je cherche comme le titre le dit a tracer une ligne d'un point précis, en locurance du milieu de ma forme vers la direction de mon pointeur.
je cherche désespérément mais je ne trouve pas forcement mon plaisir alors j'en demande recours a vos service.
le but de cet demande serait pour le petit jeux que je recommence (du a mon disque dur qui a cramer c'est dommage a dire mais bon).

13 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 234
31 oct. 2011 à 20:37
Bonjour,
sous VB6 et sans faire appel à une fonction de l'Api de Windows :
La méthode Line (dans ton aide VB6. Lis-la, ainsi que l'exemple dont elle est assortie)
Quant à savoir où tu pointes sur ton Form (puisque tu dessines sur ton form) : l'évènement mouse_move te donne les coordonnées x et y de ton pointeur sur ton form. Mémorise-les dans une variable générale et relis-les au click ou au Mouse_Down.
Quant à, enfin :
le but de cet demande serait pour le petit jeux que je recommence (du a mon disque dur qui a cramer c'est dommage a dire mais bon).

Ce qui est, pour moi, "dommage", c'est qu'apparemment tu n'avais rien assimilé d'un code probablement copié. Tu n'aurais autrement aucune difficulté à le recommencer (c'est comme pour la bicyclette). Tu es finalement la démonstration de ce que j'ai toujours pensé à propos des affirmations telles que "moi, je comprends et apprends avec des exemples"
Bonne chance.

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
restinpeace666 Messages postés 7 Date d'inscription vendredi 15 octobre 2010 Statut Membre Dernière intervention 1 novembre 2011
31 oct. 2011 à 20:48
veuillez m'excuser par mon manque de compréhension et mon manque de retenue par rapport au travail que j'ai effectuer il y a presque un an de cela
0
restinpeace666 Messages postés 7 Date d'inscription vendredi 15 octobre 2010 Statut Membre Dernière intervention 1 novembre 2011
31 oct. 2011 à 20:51
et ce étant donner que j'ai installer vb6 sous seven et que l'utilisateur qui me la redonner ne possédait pas le dossier d'aide je suis malheureusement pas en mesure de pouvoir lire cet astuce
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 234
31 oct. 2011 à 20:55
Tu es tout excusé ! Il n'y a AUCUN mal.

Juste une précision, pourtant ; je me suis personnellement intéressé à tout ce qui était dessin, graphisme etc... sous VB6 il y a bientôt 10 ans. Mais voilà plus de 8 ans que je suis passé à autre chose. Mais je n'ai rien oublié de ces mécanismes-là ! Pourquoi ? ===>> parce qu'ils étaient TOTALEMENT miens et qu'ils sont donc devenus inoubliables (comme pour la bicyclette ).




____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
restinpeace666 Messages postés 7 Date d'inscription vendredi 15 octobre 2010 Statut Membre Dernière intervention 1 novembre 2011
31 oct. 2011 à 21:01
je précisait juste la chose, je ne cherche pas a m'excuser et pour information j'ai trouver sur internet justement ce que je pense être ce que vous m'avez présenter comme solution:
http://www.vbtutor.net/vb6/lesson18.html
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 234
31 oct. 2011 à 21:05
et ce étant donner que j'ai installer vb6 sous seven et que l'utilisateur qui me la redonner ne possédait pas le dossier d'aide je suis malheureusement pas en mesure de pouvoir lire cet astuce

C'est à partir de tes CD d'installation de VB6, que tu dois réinstaller VB6, par à partir de ce qu'on te "redonnes" !
Il ne s'agit par ailleurs pas d'une "astuce", mais de l'utilisation d'une METHODE de VB6 !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
restinpeace666 Messages postés 7 Date d'inscription vendredi 15 octobre 2010 Statut Membre Dernière intervention 1 novembre 2011
31 oct. 2011 à 21:09
merci beaucoup mais je n'est pas les cd désolé
0
restinpeace666 Messages postés 7 Date d'inscription vendredi 15 octobre 2010 Statut Membre Dernière intervention 1 novembre 2011
31 oct. 2011 à 21:42
ok maintenant que j'ai a la fois ma position de départ et que je sait maintenant la position de mon pointeur je n'arrive pas a faire la ligne a la position de mon pointeur il la trace automatiquement a 0,0
pourquoi? je sait je suis idiot
0
Utilisateur anonyme
1 nov. 2011 à 11:41
Bonjour,

Sans portion de code, difficile de t'aider
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 234
1 nov. 2011 à 11:45
je sait je suis idiot

Non ! Tu essayes simplement de faire du VB sans l'aide VB. Et nul ne saurait aller bien loin ainsi (même les plus avancés d'entre nous ne sauraient s'en passer).
Installe donc MSDN sans attendre.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
restinpeace666 Messages postés 7 Date d'inscription vendredi 15 octobre 2010 Statut Membre Dernière intervention 1 novembre 2011
1 nov. 2011 à 14:46
alors pour la detection du pointeur j'ai mit ca:
Private Declare Function GetCursorPos Lib "user32" ( _
lpPoint As PointAPI) As Long

Private Type PointAPI
X As Long
Y As Long
End Type

et pour la ligne tracer cela ce presente comme celà:(je l'est mit dans un timer donc cela fait des lignes en continue, il me reste a trouver comment faire qu'une seul ligne)
Private Sub Timer1_Timer()
Dim Tampon As PointAPI
GetCursorPos Tampon
Me.Caption = Tampon.X & "-" & Tampon.Y
Line (Form1.Width / 2, Form1.Height / 2)-(Form1.Width / 2 + Tampon.X, Form1.Height / 2 + Tampon.Y), vbRed
End Sub
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 234
1 nov. 2011 à 15:59
1) La fonction GetCursorPos te retourne les coordonnées (en pixels) , non par rapport à l'angle supérieur gauche de ton Form, mais par rapport à l'angle supérieur gauche de ton écran.
2) cette ligne :
Line (Form1.Width / 2, Form1.Height / 2)-(Form1.Width / 2 + Tampon.X, Form1.Height / 2 + Tampon.Y), vbRed 

est donc fausse
3) je ne comprends pas l'utilité d'un timer
4)relis donc ce que je t'ai dit plus haut. Pour mémoire :
Quant à savoir où tu pointes sur ton Form (puisque tu dessines sur ton form) : l'évènement mouse_move te donne les coordonnées x et y de ton pointeur sur ton form. Mémorise-les dans une variable générale et relis-les au click ou au Mouse_Down.
Nul besoin d'un timer et nul besoin de la fonction GetCursorPos. Et tu as les coordonnées par rapport à l'angle supérieur gauche de ton form, pas de l'écran !
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 234
1 nov. 2011 à 17:55
Allez !
Et voilà pour toi l'&absolue nécessité d'installer ton aide VB6

Voilà qui va te tracer, à chaque clic sur ton form, une ligne rouge allant du centre de ton form jusqu'au point cliqué.
Comme tu le vois : ni timer ni la fonction GetCursorPos ! Juste du vb basique de chez basique
Private oux As Long, ouy As Long

Private Sub Form_Click()
  Me.Line (Me.ScaleWidth / 2, Me.ScaleHeight / 2)-(oux, ouy), vbRed
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  oux X:   ouy Y
End Sub

Une précision : j'ai accepté cette fois-ci, mais lis donc ma signature. Je ne viendrai plus pour t'aider tant que tu n'auras pas installé cette aide, surtout pour des choses simples comme celle-ci.




____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0