begin process at 2008 07 06 03:11:51
1 205 441 membres
21 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : pb de parcours de collection... [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (angelia)

pb de parcours de collection... le 17/02/2004 13:25:40

angelia

Bonjour à tous,
j'explique mon pb :
je veux changer la couleur de certains composants (controles) de toute mon appli par une couleur choisie par l'utilisateur et stockée dans une variable (en fait il y a plusieurs couleurs stockées dans une variable tableau nommée couleurs() ).
je dois dire que parmis ces composants, ii y a des activeX non Vb notamment ceux fait par un developpeur qui sont nommée Rey... comme les boutons qui sont des ReyCommand, etc...
je veux donc parcourir tous les controls de tous les formulaires, analyser si il sont des boutons ("Reycommand") et changer une de leurs propriétés.
Dans un premier temps c'est ce que je veux faire... et je n'y arrive pas
en fait déjà lorsque je déclare


Public Sub AppliquerCouleur()
Dim formulaire As Form
Dim Composant As control

vous voyez qu'il me met le mot "control" avec un petit "c" alors que je le choisi dans la liste déroulante qu'il me propose et qui'il est mentionné avec un "C" (majuscule) !!
Et du coup dans la suite de mon code je mets ceci :


For Each formulaire In Forms
For Each Composant In formulaire.Controls
If Composant.typeof = "ReyCommand" Then
Composant.OfficeOverColor = Couleurs(0)
End If
Next
Next

il me dit au débogage que l'objet (sous entendu "composant" ne gère pas cette propriété ou cette méthode (sous entendu "typof") !
j'espere m'etre bien fait comprendre.
Merci d'avance pour vos réponses.

Re : pb de parcours de collection... le 17/02/2004 15:25:50

labout

labout

Je ne connais pas le composant de Renfield mais avec un composant vb je ferais cela

Dim formulaire As Form
Dim Composant As Control
For Each formulaire In Forms
For Each Composant In formulaire.Controls
If TypeOf Composant Is CheckBox Then
Composant.BackColor = RGB(250, 128, 200)
End If
Next
Next
@+

Re : pb de parcours de collection... le 17/02/2004 15:31:24

crenaud76
Si avec TypeOf ca ne passe pas, essaye de faire un test sur la propriété Name des controles :

If lcase$(Composant.Name) Like "reycmd*" then ...

Si tout tes ReyCommand buttons sont nommés ReyCmdOK, reyCmdAnnuler, etc ...
Ca marchera peut-être ?
Christophe R.

Re : pb de parcours de collection... le 17/02/2004 16:12:39

angelia

merci les gars de votre aide, je suis arrivé à ce que je voulais et à priori cela marche sauf que il ne me parcours que les form chargés or moi je voudrais qu'il parcours tous les form de mon appli même si ils ne sont pas chargés !
voici le code que j'ai fait (avec votre aide):


Public Sub AppliquerCouleur()
Dim formulaire As Form
Dim Composant As control

For Each formulaire In Forms
For Each Composant In formulaire.Controls
If TypeOf Composant Is ReyCommand Then
Composant.OfficeOverColor = Couleurs(0)
End If
Next
Next

End Sub


vous remarquez quand même que le mot clé control dans ma décalration :" Dim Composant as control" reste avec un c minuscule !!!! bizzare non? !
et donc comment faire pour changer la couleur de mes bouton pour tous les formulaires (chargés ou non) ?!

Re : pb de parcours de collection... le 17/02/2004 16:29:37

labout

labout

Tu fais appel à la fonction dans l'évènement Load de chaque form avec les paramétre le tableau de couleur

que tu mets dans un module
AppliquerCouleur(couleurs)

@+

Re : pb de parcours de collection... le 17/02/2004 16:30:52

labout

labout

Tu fais appel à la fonction dans l'évènement Load de chaque form avec les paramétre le tableau de couleur

que tu mets dans un module
AppliquerCouleur(couleurs)

@+

Re : pb de parcours de collection... le 17/02/2004 16:46:06

angelia

c'est exactement ce que je viens de faire et cela fonctionne !, comme quoi les grands esprits se rencontrent bien que je pense qu'en Vb mon esprit est loin d'avoir atteint le tiens !
Merci encore

Re : pb de parcours de collection... le 17/02/2004 16:49:36

angelia

en fait voici ma procédure dans un module :


Public Sub AppliquerCouleur(formulaire As Form)
Dim Composant As control
For Each Composant In formulaire.Controls
If TypeOf Composant Is ReyCommand Then
If Composant.ButtonType = 1 Then
Composant.OfficeOverColor = Couleurs(0)
End If
ElseIf TypeOf Composant Is ReyFrame Then
Composant.BorderColor = Couleurs(0)
ElseIf TypeOf Composant Is ReyTextBox Then
Composant.LegendBackColor = Couleurs(0)
End If
Next
End Sub



et voici comment je l'appel dans le load de chaque form


Call AppliquerCouleur(Me)


et le tour est jouer!
Merci encore de ton aide


Classé sous : pb, code, composant, couleurs, reycommand

Participer à cet échange

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS