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 :

couleurs des éléments 3D d'une appli


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 76
    Par défaut
    ça n'inspire plus personne ?

  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
    re salut,
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    HBRUSH CTestDlgDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
     
    	// TODO: Change any attributes of the DC here
       switch(nCtlColor)
       {
     
    /* CTLCOLOR_BTN            button control
       CTLCOLOR_DLG            dialog box
       CTLCOLOR_EDIT           edit control
       CTLCOLOR_LISTBOX        list box
       CTLCOLOR_MSGBOX         message box
       CTLCOLOR_SCROLLBAR      scroll bar
       CTLCOLOR_STATIC         static text, frame, or rectangle 
    */
          // Intercepte le message pour la dialogue et les statics.
    	  case CTLCOLOR_EDIT:
          case CTLCOLOR_DLG: // le fond de la dialogue
          case CTLCOLOR_STATIC  :// un static 
    	  case CTLCOLOR_LISTBOX:// une list box
    	  case CTLCOLOR_BTN:    // un bouton .
              //  Fixe la couleur d’ecriture du texte
             pDC->SetTextColor(m_ClrCtlText);
    		 pDC->SetBkColor(m_bkColor);
             // Fixe le fond en transparent  pour le texte
    		 if(nCtlColor!=CTLCOLOR_EDIT) pDC->SetBkMode(TRANSPARENT);
             // retourne le handle de la brush pour le fond si il existe.
             if(m_HbrClrCtlBk ) hbr = m_HbrClrCtlBk;
          break;
       } 
    	// TODO: Return a different brush if the default is not desired
       return hbr;
    }
    en commentaire tu as tous les styles de controles a trapper .
    pour la couleur de fond c'est SetBkColor ou m_bkColor correspond à la couleur qui sert a fabriquer m_HbrClrCtlBk

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 76
    Par défaut
    ben j'ai toujours mes boutons qui réagissent pas. mes combos sont comme d'hab sauf que quand elles sont ouvertes, le bg et le texte sont bien changés.
    les message box ne réagissent pas non plus :

    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
    27
    28
    29
    30
    31
    32
    33
    	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); 
     
    	// TODO: Change any attributes of the DC here 
    	switch(nCtlColor) 
    	{ 
     
    	/* CTLCOLOR_BTN            button control 
    	CTLCOLOR_DLG            dialog box 
    	CTLCOLOR_EDIT           edit control 
    	CTLCOLOR_LISTBOX        list box 
    	CTLCOLOR_MSGBOX         message box 
    	CTLCOLOR_SCROLLBAR      scroll bar 
    	CTLCOLOR_STATIC         static text, frame, or rectangle 
    		*/ 
    		// Intercepte le message pour la dialogue et les statics. 
    		//case CTLCOLOR_EDIT: 
    	case CTLCOLOR_SCROLLBAR:
    	case CTLCOLOR_MSGBOX: 
    	case CTLCOLOR_DLG: // le fond de la dialogue 
    	case CTLCOLOR_STATIC  :// un static 
    	case CTLCOLOR_LISTBOX:// une list box 
    	case CTLCOLOR_BTN:    // un bouton . 
    		//  Fixe la couleur d’ecriture du texte 
    		pDC->SetTextColor(m_ClrCtlText); 
    		pDC->SetBkColor(m_bkColor); 
    		// Fixe le fond en transparent  pour le texte 
    		if(nCtlColor!=CTLCOLOR_EDIT) pDC->SetBkMode(TRANSPARENT); 
    		// retourne le handle de la brush pour le fond si il existe. 
    		if(m_HbrClrCtlBk ) hbr = m_HbrClrCtlBk; 
    		break; 
    	} 
    	// TODO: Return a different brush if the default is not desired 
    	return hbr;
    est-ce que j'ai besoin de faire un setDialogBkColor avec tout ça ?
    Mes bouton sont des CbuttonST tu sais, comme dans l'adresse que tu m'avais mise (pour les bitmaps sur les boutons). Je sais qu'on peut faire un setColor de ces bouton mais ça oblige à agir sur chaque bouton... tu crois que ça peut interférer avec la fonction au dessus ?

    par contre, je commprends pas pour les combobox (la petite flèche à droite ne veut rien savoir, elle reste en couleurs standard windows)

  4. #4
    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
    salut ,regarde dans le post it de la faq j'ai modifie le code ...


  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 76
    Par défaut
    pareil

    je crois que je vais abandonner la customisation des couleurs...

  6. #6
    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
    quoi pareil ? tu rentres dans la fonction OnctlColor ?
    c'est quoi qui fonctionne pas et qui fonctionne ?


  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 76
    Par défaut
    quoi pareil ? ben ya que le BG principal qui change, pas les tites flèches des combobox, les messagesbox. Le fond des combos quand on les ouvre est bien bleu (couleur de mon .ini). Mais pas les petits éléments windows.

    tu rentres dans la fonction OnctlColor ? oui, no pb

    c'est quoi qui fonctionne pas ? tout sauf bg principal (et couleur du texte), bg des combos ouvertes, et mes bitmaps sur mes boutons sont tout rouges (couleur du texte dans .ini) pas les icônes.

    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
     
    	switch(nCtlColor) 
    	{ 
    		// Intercepte le message pour la dialogue et les statics. 
    			 case CTLCOLOR_BTN:
    			 case CTLCOLOR_MSGBOX: 
    			 case CTLCOLOR_SCROLLBAR: 
    			 case CTLCOLOR_LISTBOX: 
    			 case CTLCOLOR_DLG: 
    			 case CTLCOLOR_STATIC  : 
    				 //  Fixe la couleur d’ecriture du texte 
    				 pDC->SetTextColor(m_ClrCtlText); 
    				 // enventuellement suivant les cas 
    				 // pDC->pDC->SetBkColor(m_ClrCtlBk); 
     
    				 // Fixe le fond en transparent  pour le texte à ne pas faire pour un edit. 
    				 pDC->SetBkMode(TRANSPARENT); 
     
    				 // retourne le handle de la brush pour le fond si il existe. 
    				 if(m_HbrClrCtlBk ) hbr = m_HbrClrCtlBk; 
    				 break; 
    	}

  8. #8
    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
    quoi pareil ? ben ya que le BG principal qui change, pas les tites flèches des combobox, les messagesbox. Le fond des combos quand on les ouvre est bien bleu (couleur de mon .ini). Mais pas les petits éléments windows.

    tu rentres dans la fonction OnctlColor ? oui, no pb

    c'est quoi qui fonctionne pas ? tout sauf bg principal (et couleur du texte), bg des combos ouvertes, et mes bitmaps sur mes boutons sont tout rouges (couleur du texte dans .ini) pas les icônes.
    les petites fleches : spinup c'est normal
    les messagebox : tu fais quoi afxMessageBox ou MessageBox ?
    les combos : les petits elements ? -> SpinUp tjrs normal.
    les boutons : c'est ok ?
    les icones : dans un bouton ?

    la methode indiquee est génerale elle ne peut pas tout regler, la couleur des spins par exemple je ne suis pas sur que ce soit possible comme ça.
    il ya des cas particuliers qu'il faudra regler specifiquement.


  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 76
    Par défaut
    les petites fleches : spinup c'est normal
    ok
    les messagebox : tu fais quoi afxMessageBox ou MessageBox ?
    les deux, ça dépend qui les lance. En plus, j'ai des éléments graphiques dans une de mes dll et donc ça ne s'applique pas à ces éléments, c'est le bordel.
    les combos : les petits elements ? -> SpinUp tjrs normal.
    ok
    les boutons : c'est ok ?
    ben non
    les icones : dans un bouton ?
    oui avec les CButtonST on peut coller une icône ou un bitmap
    la methode indiquee est génerale elle ne peut pas tout regler, la couleur des spins par exemple je ne suis pas sur que ce soit possible comme ça.
    il ya des cas particuliers qu'il faudra regler specifiquement.
    ok, en tout cas je te remercie pour tout ce temps passé pour moi, ta disponibilité et ta gentillesse.

    je crois que je vais laisser tomber, en plus, si on met des couleurs à la kon dans le .ini, ça donne quelquechose de vraiment horrible avec les boutons que j'ai. Tant pis, ça ne sera pas customisable...

    merci pour tout !

  10. #10
    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
    de mon experience perso ,
    il vaut mieux quelques petites touches de couleurs
    imposées en dur dans le prog pour les fonds par exemple . et quelques customisations possibles.
    que de permettre à l'utilisateur de tout regler ça devient vite le bronx ça peut devenir horrible et tout n'est pas gerable sans y passer beaucoup de temps,
    on s'evitera des reflexions de la part du client ,qui peut pas faire ce qu'il veut. etc...

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Afficher des éléments HTML dans une WindowsForm
    Par flagadda dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/04/2007, 17h31
  2. [C#] Changer les couleurs des titres colonnes d'une listView
    Par ExSter dans le forum Windows Forms
    Réponses: 4
    Dernier message: 15/04/2007, 21h02
  3. afficher des etats ireports dans une appli jsf
    Par ouedmouss dans le forum Documents
    Réponses: 1
    Dernier message: 09/02/2007, 07h05
  4. Réponses: 3
    Dernier message: 21/11/2006, 09h08
  5. [Collections]enlever des éléments répétés dans une ArrayList
    Par apan dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 23/03/2006, 13h28

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