plhea
Messages postés45Date d'inscriptiondimanche 13 mars 2005StatutMembreDernière intervention19 mars 2006
-
24 sept. 2005 à 22:58
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 2006
-
25 sept. 2005 à 14:16
bonjour j'ai un petit problème il faut que je trace un disque et non pas un cercle c'est à dire un cercle plein :)
est ce qu'on est obligé de procéder comme ça :
For i = 1 To Rayon
Circle (20, 20), i, vbRed
Next i
je n'ai rien contre ça mais c'est incroyablement lent...
avez vous mieux?
plhea
A voir également:
Tracer un arc de cercle
Tracer un arc de cercle sans centre - Meilleures réponses
plhea
Messages postés45Date d'inscriptiondimanche 13 mars 2005StatutMembreDernière intervention19 mars 2006 25 sept. 2005 à 10:44
waouuuuu c'est parfait romeo!!
exactement ce que je cherchais c'est hyper rapide!
une petite modification quand même pour avoir un disque simple avec une seule couleur...
Private Sub Form_Click()
Dim xCentre, yCentre, rayon As Integer
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 25 sept. 2005 à 00:54
un disque ou un cercle je ne comprend pas c'est confus pour moi
enfin teste cela colle le code dans une feuille
pour tester click droit de la souris en déplacant celle-ci pour tracer le cercle
Option Explicit
Private m_Dragging As Boolean
Private X1 As Single
Private Y1 As Single
Private X2 As Single
Private Y2 As Single
Private Sub DrawCircle()
Dim cx As Single
Dim cy As Single
Dim dx As Single
Dim dy As Single
Dim radius As Single
cx = X1
cy = Y1
dx = X1 - X2
dy = Y1 - Y2
radius = Sqr(dx * dx + dy * dy)
Circle (cx, cy), radius
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
m_Dragging = True
DrawMode = vbInvert
X1 = X
Y1 = Y
X2 = X
Y2 = Y
DrawCircle
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Not m_Dragging Then Exit Sub
DrawCircle
X2 = X
Y2 = Y
' Draw the new circle.
DrawCircle
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
m_Dragging = False
DrawMode = vbCopyPen
ForeColor = vbRed
DrawCircle
ForeColor = vbBlack
End Sub
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 20061 25 sept. 2005 à 01:11
Willi, ton code est intéressant, je l'ai ajouté à ma liste de code, mais, le cercle créé n'est pas plein.
quelques lignes de codes en plus feront l'affaire.
A+
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 25 sept. 2005 à 01:14
Oui mais c'est que j'avais pas trop pigé le sens "je trace un disque et non pas un cercle c'est à dire un cercle plein"
Je vais essayer ton code de suite sa ne peut etre que interessant
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 20061 25 sept. 2005 à 14:16
Ce n'est rien. tout le plaisir pour moi.
et, en passant, copies la fonction de Willi, elle peut te servir. (comme ca tu n'auras pas à chercher le jour ou tu
la voudra.)