DESSINER

fdiedler2000 Messages postés 383 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 1 décembre 2008 - 25 janv. 2007 à 20:49
Cacophrene Messages postés 251 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 4 mars 2008 - 28 janv. 2007 à 10:40
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41258-dessiner

Cacophrene Messages postés 251 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 4 mars 2008 1
28 janv. 2007 à 10:40
Salut !

Quant à moi je pense qu'une description un peu moins lapidaire de ton code serait la bienvenue.

Cordialement,
Cacophrène
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 janv. 2007 à 12:41
StartX et StartY ne servent a rien .
Me.CurrentX et Me.CurrentY sont les cooordonnées qui sont utilisées comme départ pour Line, Print, etc....

dans MouseDown, tu l'initialise
dans MouseMove, tu n'a qu'a tracer depuis cette position jusqu'au point (X;Y) survollé par ta souris... CurrentX et CurrentY sont ensuite automatiquement mis à jour avec X et Y...

je vois nullement l'interet de créer deux variables pour cela, ca fait double emploi.

et ton code a surtout un TRES gros désavantage : tu utilises des Long, ton tracé sera moins précis, voire COMPLETEMENT FAUX si tu change le ScaleMode de ta Form...
(joli, mais faux)... utilises le ScaleMode '5 - Inch' pour t'en convaincre.
phpnuke Messages postés 14 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 28 septembre 2007
26 janv. 2007 à 12:19
NON Renfield ce n'et pas comme tu l'as dit mais voila la correction.
Avec ta source on fait juste une ligne mais cela ne m'interesse pas.

Private startX As Long
Private startY As Long
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbLeftButton Then
startX = X
startY = Y
End If
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Form1.Line (startX, startY)-(X, Y)
End If
End Sub
phpnuke Messages postés 14 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 28 septembre 2007
26 janv. 2007 à 09:48
Merce Renfield enfin un commentaire inteligent
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
26 janv. 2007 à 08:58
Down ne sert pas

startX et startY pourraient disparaitre également :

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbLeftButton Then
Me.CurrentX = X
Me.CurrentY = Y
End If
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbLeftButton Then
Me.Line -(X, Y)
End If
End Sub
fdiedler2000 Messages postés 383 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 1 décembre 2008
25 janv. 2007 à 20:49
ca sert à quoi cette source ????
Rejoignez-nous