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

MFC Discussion :

Modifier la couleur d'un CEdit!


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Par défaut Modifier la couleur d'un CEdit!
    Salut,

    J'essaye de modifier la couleur d'un CEdit mais j'y arrive pas voici le code que j'ai fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            CDC* pDC = GetDC(); 
            //a,b,c et d sont les coordonnées qui définisent la zone de mon CEdit
        pDC->Rectangle(a, b, c, d);
        pDC->SetBkMode(OPAQUE);
        pDC->SetBkColor(RGB(250,250,250));
    Cela ne donne rien est ce que vous avez une idée pourquoi?

    J'ai regardé la FAQ mais j'ai pas trop compris le code! J'ai pas compris l'histoire
    de "...intercepter le message "reflect" =WM_CTLCOLOR..."
    Le code de la FAQ se trouve ici http://cpp.developpez.com/faq/vc/?pa...#CEditCtlColor

    Merci pour votre aide

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    hé bien le contrôle edit ne gère pas les couleurs.
    en faisant une classe dérivée de CEdit on peut sur cette classe intercepter le message correspondant a la gestion des couleurs ,ces messages sont reflect
    car renvoyer a l'usage du contrôle.
    il faut juste intercepter le message indiqué par la faq.
    voir aussi ce post d'une classe template qui fait le boulot de manière générique:
    http://cpp.developpez.com/faq/vc/?pa...s#SetColorCtrl

  3. #3
    Membre chevronné Avatar de stephdim
    Profil pro
    Inscrit en
    Août 2007
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 462
    Par défaut
    Bonsoir,

    Le controle 'Edit' ne gère pas les couleurs comme le dit Farscape, par contre il demande a la fenetre parente de les régler pour lui.
    Ceci ce fait par l'intermediaire du message WM_CTLCOLOR.
    Voir la MSDN sur ce message pour plus de détails.

    @+

Discussions similaires

  1. modifier la couleur d'un texte dans un input text
    Par mic79 dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 05/01/2005, 16h45
  2. [BP]Borland Pascal : modifier les couleurs par défaut.
    Par Pipoland dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 12/10/2004, 21h32
  3. [JTabbedPane] Modifier la couleur de l'onglet
    Par Pill_S dans le forum Composants
    Réponses: 6
    Dernier message: 17/09/2004, 12h44
  4. [C#] [DataGrid] Modifier la couleur d'une ligne
    Par nalaya dans le forum Windows Forms
    Réponses: 4
    Dernier message: 27/08/2004, 12h11
  5. Modifier la couleur de fond d'un popupmenu
    Par lil_jam63 dans le forum Composants VCL
    Réponses: 6
    Dernier message: 05/08/2004, 20h23

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