IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

TEdit disable d'une couleur particulière


Sujet :

C++Builder

Vue hybride

Crayon TEdit disable d'une couleur... 12/02/2007, 21h05
bakaneko Ce n'est peut-être pas la... 13/02/2007, 08h31
slylafone ??? Edit1->Enabled =... 13/02/2007, 10h15
bakaneko Ce que cherche à faire... 13/02/2007, 10h19
slylafone Ah oui autant pour moi. 13/02/2007, 10h53
Sunchaser Bonsoir, Pour l'instant, a... 13/02/2007, 23h55
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut TEdit disable d'une couleur particulière
    Salut, je voudrais savoir comment faire pour mettre de la couleur au texte d'un TEdit qui est enabled = false;

    Je ne veux pas utiliser de l'attribut read only. Je cherche une méthode qui va prendre le message WM_CTLCOLOREDIT (ou autre) et qui va changer la couleur du texte avec un SetTextColor (ou autre).

    Merci bien,

    Crayon

  2. #2
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Ce n'est peut-être pas la solution la plus pratique mais je sais que les composants Edit de la JVCL possèdent une propriété pour changer la couleur utilisée en mode Disabled.

    C'est un peu la solution de facilité (pas de code à faire, qu'une installation) mais c'est toujours pratique

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 137
    Par défaut
    ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Edit1->Enabled = false;
    Edit1->Color = clInactiveCaption;
    Edit1->Font->Color = clInactiveCaptionText;

  4. #4
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Citation Envoyé par slylafone
    ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Edit1->Enabled = false;
    Edit1->Color = clInactiveCaption;
    Edit1->Font->Color = clInactiveCaptionText;
    Ce que cherche à faire Crayon, c'est de mettre son Edit en Enabled = false tout en ayant une couleur de police autre que le gris correspondant. et ton code de change pas ça vu que la propriété Font->Color n'est pas prise en compte.

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 137
    Par défaut
    et ton code de change pas ça vu que la propriété Font->Color n'est pas prise en compte.
    Ah oui autant pour moi.

  6. #6
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonsoir,
    Pour l'instant, a part créer un composant particulier comme sait si bien le faire Maitre Henderson, je n'imagine qu'un dérivé de TCustomEdit déclaré en amont de la classe de la TForm; ce qui implique de créer et d'utiliser le TEdit de manière dynamique.
    .h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    class TMEdit : public TCustomEdit
    {
     
    private:
    		void __fastcall OnPortnawak(TMessage &msg);
    		BEGIN_MESSAGE_MAP
    		MESSAGE_HANDLER(WM_ENABLE, TMessage, OnPortnawak)
    		END_MESSAGE_MAP(TCustomEdit)
    public:		// Déclarations de l'utilisateur
    	__fastcall TMEdit(TComponent* Owner);
    };
     
    //Déclaration de la TForm ...etc ...
    .cpp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    __fastcall TMEdit::TMEdit(TComponent* Owner) : TCustomEdit(Owner)
    {
    }
    //--------------------------------------------------------------------------
    void __fastcall TMEdit::OnPortnawak(TMessage &msg)
    {
    if (msg.WParam == false)
    {
    this->Text = "disabled";
    this->Font->Color = clRed;
    }
     
    }
    //Suite avec la TForm, etc, etc ...
    //---------------------------------------------------------------------------
    __fastcall TForm2::TForm2(TComponent* Owner)
    	: TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    Après, sur un TEdit 'classique', j'ai pas trouvé ...
    (pas encore)

    En espérant t'aider,
    @ +

  7. #7
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Merci à tous pour vos idées, je vais attendre un peu avant de mettre un résolu car je veux voir si quelqu'un aurais une solution sans dérivé de classe ou sans construire/utiliser un composant.

    Si je n'est pas d'autre solution dans quelques jours je vais peut-être me lancer dans la construction de composant utilisant la méthode de Sunchaser.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Faire clignoter une couleur dans Tedit
    Par redoran dans le forum Composants VCL
    Réponses: 11
    Dernier message: 07/09/2010, 15h59
  2. Couleur du texte d'une cellule particulière
    Par $p00ky dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 08/07/2009, 15h24
  3. Réponses: 4
    Dernier message: 22/04/2007, 19h20
  4. Réponses: 1
    Dernier message: 23/02/2003, 06h22
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo