SÉLECTION PAR UN CLICK

cs_RDX Messages postés 117 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 27 août 2005 - 11 août 2004 à 21:32
cs_korg Messages postés 26 Date d'inscription jeudi 9 mai 2002 Statut Membre Dernière intervention 25 mars 2006 - 19 août 2004 à 10:51
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/25337-selection-par-un-click

cs_korg Messages postés 26 Date d'inscription jeudi 9 mai 2002 Statut Membre Dernière intervention 25 mars 2006
19 août 2004 à 10:51
Merci !
cs_RDX Messages postés 117 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 27 août 2005
19 août 2004 à 09:29
Pour les autres :

En remplaçant

If RB + 30 > R And RB - 30 < R Then
...

par

If RB <= R Then
...

on selectionera le cercle en cliquant sur le cercle et a l'interieur.

Bon boulot Korg.
cs_korg Messages postés 26 Date d'inscription jeudi 9 mai 2002 Statut Membre Dernière intervention 25 mars 2006
18 août 2004 à 17:23
Merci à vous pour vos suggestions.
tmcuh Messages postés 458 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 18 avril 2009
13 août 2004 à 15:49
Const col = 50 'nombre de colonne
Const ligne = 7 'nombre de ligne
form load()
Dim i As Integer, j
Dim compte As Integer
compte = 1 'valeur d'initialisation car existe déjà un index 1
For i = 1 To col
For j = 1 To ligne
compte = compte + 1
Load led(compte)
led(compte).Top = led(compte - 1).Top + led(i).Height 'distance du haut
led(compte).Left = led(compte - 1).Left 'distance à gauche
led(compte).Visible = True
Next j
led(compte).Left = led(compte).Left + led(compte).Height 'déplace sur la droite
led(compte).Top = 0 'remet en haut
Next i
Picture1.Width = col * led(1).Width
Picture1.Height = ligne * led(1).Height
end sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Dim i As Integer
For i = 1 To (col * ligne)
If X <= (led(i).Left + led(i).Height) And Y <= (led(i).Top + led(i).Width) Then: Exit For 'trouve la coordonnée
Next i
colorie i, True, mecol
End If
End Sub
Function colorie(index As Integer, Optional Exclusif As Boolean, Optional Couleur As ColorConstants = vbBlack)
If Exclusif = True Then 'force à colorier comme on le désire
led(index).BackColor = Couleur
Exit Function
End If
If Couleur <> vbWhite Then 'si on veut faire changer de couleur
If led(index).BackColor = vbBlack Then 'si blanc, on colorie
led(index).BackColor = Couleur
Else 'si déjà d'une couleur
led(index).BackColor = vbBlack 'rend la couleur d'origine
End If
Else 'réinitialiser la led
led(index).BackColor = vbBlack
End If
End Function
**********************************

j'ai du faire un afficheur led et voici une partie de mon code, je pense qu'il te sera utilse pour les cercle car la formule...oulaaaa pas mathématicien moi :)
Il te suffit d'une picturebox et d'un shape (nomée led(1))

Amicalement TMCUH
cs_korg Messages postés 26 Date d'inscription jeudi 9 mai 2002 Statut Membre Dernière intervention 25 mars 2006
12 août 2004 à 09:51
Merci, c'est encourageant!
cs_RDX Messages postés 117 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 27 août 2005
11 août 2004 à 21:32
Ca marche, maintenant que tu as fait la ligne, bidouille le pour la selection d'un cercle (facile) :

equation carthésienne du cercle :

(x-a)²+(y-b)²=R²

avec le centre de coordonées C(a,b) et le rayon R.

allez 8/10 parce ke c'est ta premiere source et que c'est pas foireux.
Rejoignez-nous