ça n'inspire plus personne ? ;)
Version imprimable
ça n'inspire plus personne ? ;)
re salut,
en commentaire tu as tous les styles de controles a trapper .Code:
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 decriture 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; }
pour la couleur de fond c'est SetBkColor ou m_bkColor correspond à la couleur qui sert a fabriquer m_HbrClrCtlBk
:D
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 :
est-ce que j'ai besoin de faire un setDialogBkColor avec tout ça ?Code:
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 decriture 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;
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)
salut ,regarde dans le post it de la faq j'ai modifie le code ...
:D
pareil
je crois que je vais abandonner la customisation des couleurs... :cry:
quoi pareil ? tu rentres dans la fonction OnctlColor ?
c'est quoi qui fonctionne pas et qui fonctionne ?
:D
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:
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 decriture 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; }
les petites fleches : spinup c'est normalCitation:
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 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.
:D
okCitation:
les petites fleches : spinup c'est normal
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.Citation:
les messagebox : tu fais quoi afxMessageBox ou MessageBox ?
okCitation:
les combos : les petits elements ? -> SpinUp tjrs normal.
ben nonCitation:
les boutons : c'est ok ?
oui avec les CButtonST on peut coller une icône ou un bitmapCitation:
les icones : dans un bouton ?
ok, en tout cas je te remercie pour tout ce temps passé pour moi, ta disponibilité et ta gentillesse.Citation:
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.
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 !
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...
:D