OVH Cloud OVH Cloud

personnaliser auto

5 réponses
Avatar
jerome
Bonjour,

J'ai plusieurs contrôles label et textbox sur plusieurs fenêtres dont je
voudrais pouvoir changer le style, la taille, la couleur de texte etc...
Existe-t-il un moyen qui ne soit pas trop fastidieux pour modifier tout ses
contrôles en même temps.

Par exemple, si je choisis dans mon appli de changer la couleur des textes,
je voudrais que cela agisse sur tous les contrôles de l'appli.
Cependant, je ne me vois pas écrire :
form1.label1.forecolor = &H80000003&
form1.label2.forecolor = &H80000003&
form1.text1.forecolor = &H80000003&
...
form2.label1.forecolor = &H80000003&
form2.text1.forecolor = &H80000003&
etc

Donc, si vous avez une idée ?

Merci
Jerome

5 réponses

Avatar
Patrice Henrio
Il faut créer des groupes de contrôles.
Une autre solution est de parcourir la collection "controls"
For each C in Form1.controls
C.forecolor = &H80000003&
Next C

"jerome" a écrit dans le message de
news:3fa79612$0$24833$
Bonjour,

J'ai plusieurs contrôles label et textbox sur plusieurs fenêtres dont je
voudrais pouvoir changer le style, la taille, la couleur de texte etc...
Existe-t-il un moyen qui ne soit pas trop fastidieux pour modifier tout


ses
contrôles en même temps.

Par exemple, si je choisis dans mon appli de changer la couleur des


textes,
je voudrais que cela agisse sur tous les contrôles de l'appli.
Cependant, je ne me vois pas écrire :
form1.label1.forecolor = &H80000003&
form1.label2.forecolor = &H80000003&
form1.text1.forecolor = &H80000003&
...
form2.label1.forecolor = &H80000003&
form2.text1.forecolor = &H80000003&
etc

Donc, si vous avez une idée ?

Merci
Jerome




Avatar
jerome
"Patrice Henrio" a écrit dans le
message de news:
Il faut créer des groupes de contrôles.
Une autre solution est de parcourir la collection "controls"
For each C in Form1.controls
C.forecolor = &H80000003&
Next C



Merci, mais créer de tels groupes serait très désordonnés (se rapeller quel
index correspond tel commande etc)
Par contre, ton autre code me semblait intéressant, mais ne semble pas
fonctionner !
J'obtiens une erreur d'execution '438'.
N'y a-t-il pas une référence à déclarer ?

Jerome


"jerome" a écrit dans le message de
news:3fa79612$0$24833$
> Bonjour,
>
> J'ai plusieurs contrôles label et textbox sur plusieurs fenêtres dont je
> voudrais pouvoir changer le style, la taille, la couleur de texte etc...
> Existe-t-il un moyen qui ne soit pas trop fastidieux pour modifier tout
ses
> contrôles en même temps.
>
> Par exemple, si je choisis dans mon appli de changer la couleur des
textes,
> je voudrais que cela agisse sur tous les contrôles de l'appli.
> Cependant, je ne me vois pas écrire :
> form1.label1.forecolor = &H80000003&
> form1.label2.forecolor = &H80000003&
> form1.text1.forecolor = &H80000003&
> ...
> form2.label1.forecolor = &H80000003&
> form2.text1.forecolor = &H80000003&
> etc
>
> Donc, si vous avez une idée ?
>
> Merci
> Jerome
>
>




Avatar
jerome
"jerome" a écrit dans le message de news:
3fa7d9ec$0$1059$
"Patrice Henrio" a écrit dans le
message de news:
> Il faut créer des groupes de contrôles.
> Une autre solution est de parcourir la collection "controls"
> For each C in Form1.controls
> C.forecolor = &H80000003&
> Next C

Merci, mais créer de tels groupes serait très désordonnés (se rapeller


quel
index correspond tel commande etc)
Par contre, ton autre code me semblait intéressant, mais ne semble pas
fonctionner !
J'obtiens une erreur d'execution '438'.
N'y a-t-il pas une référence à déclarer ?

Jerome



C'est bon, j'ai trouvé la solution !!!
Le seul hic, c'est que si un contrôle n'a pas la même propriété qu'un autre
(les Boutons n'ont pas la propriétés Forecolor par exemple), cela ne
fonctionne pas.
Ce qui fait que même si ce n'est que les labels et textbox que je veux
modifier, cela n'est pas possible si d'autres contrôles sont présents avec
des propriétés différentes.

Jerome
Avatar
jerome
"jerome" a écrit dans le message de news:
3fa7dd20$0$1058$

"jerome" a écrit dans le message de news:
3fa7d9ec$0$1059$
> "Patrice Henrio" a écrit dans le
> message de news:
> > Il faut créer des groupes de contrôles.
> > Une autre solution est de parcourir la collection "controls"
> > For each C in Form1.controls
> > C.forecolor = &H80000003&
> > Next C
>
> Merci, mais créer de tels groupes serait très désordonnés (se rapeller
quel
> index correspond tel commande etc)
> Par contre, ton autre code me semblait intéressant, mais ne semble pas
> fonctionner !
> J'obtiens une erreur d'execution '438'.
> N'y a-t-il pas une référence à déclarer ?
>
> Jerome

C'est bon, j'ai trouvé la solution !!!
Le seul hic, c'est que si un contrôle n'a pas la même propriété qu'un


autre
(les Boutons n'ont pas la propriétés Forecolor par exemple), cela ne
fonctionne pas.
Ce qui fait que même si ce n'est que les labels et textbox que je veux
modifier, cela n'est pas possible si d'autres contrôles sont présents avec
des propriétés différentes.

Jerome



Oups ! désolé, désolé !
j'ai fini par trouvé (assez rapidement d'ailleurs) la solution.
Pour les intéressés :

Dim C As Control
For Each C In Me.Controls
If TypeOf C Is TextBox Or TypeOf C Is Label Then ' Definis quels controls
sont à modifier
C.ForeColor = &H80000009
End If
Next C
Avatar
Patrice Henrio
Finalement tu y es arrivé tout seul. J'avais bien pensé au moment de
l'écrire qu'il y aurait quelque chose du genre typeof.


"jerome" a écrit dans le message de
news:3fa7de0c$0$7814$

"jerome" a écrit dans le message de news:
3fa7dd20$0$1058$
>
> "jerome" a écrit dans le message de news:
> 3fa7d9ec$0$1059$
> > "Patrice Henrio" a écrit dans le
> > message de news:
> > > Il faut créer des groupes de contrôles.
> > > Une autre solution est de parcourir la collection "controls"
> > > For each C in Form1.controls
> > > C.forecolor = &H80000003&
> > > Next C
> >
> > Merci, mais créer de tels groupes serait très désordonnés (se rapeller
> quel
> > index correspond tel commande etc)
> > Par contre, ton autre code me semblait intéressant, mais ne semble pas
> > fonctionner !
> > J'obtiens une erreur d'execution '438'.
> > N'y a-t-il pas une référence à déclarer ?
> >
> > Jerome
>
> C'est bon, j'ai trouvé la solution !!!
> Le seul hic, c'est que si un contrôle n'a pas la même propriété qu'un
autre
> (les Boutons n'ont pas la propriétés Forecolor par exemple), cela ne
> fonctionne pas.
> Ce qui fait que même si ce n'est que les labels et textbox que je veux
> modifier, cela n'est pas possible si d'autres contrôles sont présents


avec
> des propriétés différentes.
>
> Jerome
>
Oups ! désolé, désolé !
j'ai fini par trouvé (assez rapidement d'ailleurs) la solution.
Pour les intéressés :

Dim C As Control
For Each C In Me.Controls
If TypeOf C Is TextBox Or TypeOf C Is Label Then ' Definis quels controls
sont à modifier
C.ForeColor = &H80000009
End If
Next C