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 :

Problème de couleur sur un Cedit


Sujet :

MFC

  1. #1
    Membre confirmé
    Avatar de Kalite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Points : 553
    Points
    553
    Par défaut Problème de couleur sur un Cedit
    Bonjour,


    J'ai suivi le FAQ pour changer la couleur de mon controle CEdit.
    J'ai deux mode sur mon controle Alert (couleur rouge) et Valide (couleur verte) mais je voudrait pouvoir revenir à la couleur par default du controle si je revoie NULL sa crache en release.
    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
    22
    23
    24
    25
    26
     
    HBRUSH CCustomMaskEdit::CtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    	HBRUSH hbr = NULL;
     
    	// TODO: Change any attributes of the DC here
    	if ( !IsReadOnly() )
    	{
    		if ( m_bAlert )
    		{
    			pDC->SetTextColor(m_TextColor);
    			pDC->SetBkColor(m_RedColor);
    			hbr = (HBRUSH) m_brushRed;
    		}
    		if ( m_bValid )
    		{
    			pDC->SetTextColor(m_TextColor);
    			pDC->SetBkColor(m_GreenColor);
    			hbr = (HBRUSH) m_brushGreen;				
    		}
    	}
     
     
    	// TODO: Return a non-NULL brush if the parent's handler should not be called
    	return hbr;
    }

  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
    Points : 17 323
    Points
    17 323
    Par défaut
    si ton hbr est null renvoi : GetStockObject(WHITE_BRUSH);

  3. #3
    Membre confirmé
    Avatar de Kalite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Points : 553
    Points
    553
    Par défaut
    Oki sa Marche mais le truck c'est que voudrai récupérer la couleur que le thème visuel donnerai au controle en temps normal.

    Sinon j'ai voulu appeler la fonction CtlColor de la classe mère mais elle n'éxiste pas Pourquoi ? (Je ne connai pas bien le mécanisme des messages reflex)

  4. #4
    Membre confirmé 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
    Points : 521
    Points
    521
    Par défaut
    ben normalement, le fait de retourner NULL devrait utiliser le gestionnaire normal (de la fenetre mère). c'est bizarre que ça ne fonctionne pas en Release, j'ai déjà procédé de la meme maniere sans jamais avoir de soucis ...

    vérifies que c'est bien le fait de retourner NULL qui fait planter l'appli ...

    @+

  5. #5
    Membre confirmé
    Avatar de Kalite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Points : 553
    Points
    553
    Par défaut
    j'ai commenter le handler et sa s'affiche correctement alors j'en ai conclu que c'était sa.

    Mais j'ai deux First-chance exception in testDLL.exe (KERNEL32.DLL): 0xC0000005: Access Violation. donc je voir ce qui génère sa car sa vien peut etre de la aussi.

    Suite:
    bon la je sais que je suis pas dans les meilleur en C++ mais bon: un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int main (void)
    {
         return 0;
    }
    qui fait sa :
    First-chance exception in testDLL.exe (KERNEL32.DLL): 0xC0000005: Access Violation.
    La sa commence a devenir obscure

  6. #6
    Membre confirmé
    Avatar de Kalite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Points : 553
    Points
    553
    Par défaut
    Bon j'ai trouver mon problème est qui était le suivant :
    Fonction recevant le message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HBRUSH CtlColor(CDC* pDC, CWnd* pwnd, UINT nCtlColor);
    au lieu de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HBRUSH  CtlColor(CDC* pDC, UINT nCtlColor);
    Donc viola c'est résolue. Et effectivement quand tu passe null sa marche très bien.

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

Discussions similaires

  1. Problème de couleur sur une scène.
    Par ibrakola dans le forum Développement 2D, 3D et Jeux
    Réponses: 9
    Dernier message: 03/07/2012, 00h14
  2. Réponses: 0
    Dernier message: 23/09/2009, 19h36
  3. Problème de couleur sur un champ de formulaire
    Par flab78 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 24/06/2008, 14h23
  4. Problème de couleur sur écran portable
    Par Aitone dans le forum Périphériques
    Réponses: 17
    Dernier message: 16/01/2007, 12h55
  5. Réponses: 5
    Dernier message: 17/11/2006, 17h49

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