Propriété Style d'un CommandButton en Read-Only [Résolu]

Signaler
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
-
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
-
Salut à tous,

j'ai un petit problème concernant la modification de la propriété Style d'un CommandButton pendant l'execution, en effet je ne peux pas la modifier car VB m'affiche que la propriété est en "read-only".

Et le problème c'est que ce bouton est dans un usercontrol, donc à la limite si on peut pas la modifier pendant l'execution c'est pas grave, mais j'aimerais que l'on puisse la modifier dans le mode "design" (j'ai créé une propriété Style à mon usercontrol qui correspond à la propriété Style du bouton).

Merci d'avance ;)

Ciaò
MadMatt
Vb System Library

5 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
104
Bah non, tu peux pas ! Je sais, c'est énervant, mais c'est comme cà ! C'est comme les propriétés sorted par exemple :(

En même temps, changer le style d'un commandbutton ne change pas l'apparence du bouton, le passer à Graphical permet juste de lui appliquer des images, donc autant le mettre par défaut à Graphical...
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
j'oubliais...
une solution serait donc d'avoir 2 boutons indexés, chacun d'un style graphical, et de traiter le bouton (l'autre invisible) en fonction du choix graphical

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009

Salut DKS,
tiens tu as changé ton avatar non ?

Ben ouais mais si je le met en graphical, alors le style XP ne peut plus s'appliquer.

Le principe c'est que je fais correspondre les propriétés de l'usercontrol à celle du bouton, comme ça j'en rajoute (je fais un "bouton amélioré"), et donc en voulant recopier les propriétés de base d'un commandbutton la j'ai pas réussi.

Et c'est impossible meme si je suis en mode IDE (alors qu'en mode IDE cette propriété on peut la modifier si c'était un CommandButton tout simple

Ciaò
MadMatt
Vb System Library
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
salut MadM@tt
pourquoi çà ne peut pas marcher....
le bouton est un usercontrol.
donc testons :

nouveau projet, ajouter UserControl (nommé UC1), avec propriété AutoRedraw= true

le code de l'UC1 contient :

Option Explicit

Private Sub UserControl_ReadProperties(PropBag As
PropertyBag)
'   si on
est en conception, fond blanc écrit DESIGN
'  
sinon, fond rouge EXECUTION
    If UserControl.Ambient.UserMode Then
        UserControl.BackColor = vbRed
        UserControl.Print "EXECUTION"
    Else
        UserControl.BackColor = vbWhite
        UserControl.Print"DESIGN"

    End If
End Sub

<small>Coloration
syntaxique automatique [AFCK] </small>
       

tu poses cet UC sur la Form, et tu vois la différence entre design et execution....
(il faut fermer la fenêtre en édition pour refresh l'UC)

ensuite tu crées un 2e UC (nommé UC2), pareil, même code, mais avec la propriété ControlContainer =true en plus.
tu y poses une instance de UC1 (dans UC2)

tu poses UC2 sur la form....
tout s'explique

là c'est pareil, ton bouton est considéré comme en mode execution en permanence
voili voilou
++
PCPT  [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009

"ton bouton est considéré comme en mode execution en permanence" >> bouh c'est nul lol

Krot, bon ben je vais devoir faire tu bricolage comme tu le suggère, le problème c'est que je les sous classe, donc ça sera pas si facile. Enfin bon je vais bricoler, merci pour les infos ;)

Ciaò
MadMatt
Vb System Library