ça te permet de ne changer la couleur que pour le static. OnCtlColor est exécutée à chaque fois qu'un controle est sur le point d'être dessiné. récupérer l'ID du static te permet de ne peindre que le static, et pas les autres controles :
Code :
- if (pWnd->GetDlgCtrlID() == IDC_STATIC)
- {
- // tu changes la couleur du texte
- }
|
dreamkiller a écrit :
et je vien de verifier c'est bine dans le on paint que l'on cree une police (mais bon mes prof d'info vallent ce qu'ils vallent)
|
et bien tu pourras dire à tes profs que c'est n'importe quoi, et qu'il ne faudra pas qu'ils s'étonnent si leur système finit par tomber out of memory en testant des programmes développés comme ça... OnPaint() est appelée à chaque fois que le controle doit être redessiné, par exemple s'il est recouvert par une fenetre, déplacé, etc... autant te dire que pendant le cycle d'exécution d'un programme, il est appelé un paquet de fois... or, la création d'une police implique la création d'un objet CFont... tu vois le carnage ? ton programme passe son temps à créer des CFont* , et finira tot ou tard par planter selon la quantité de mémoire dont tu disposes...
---------------
J'ai un string dans l'array (Paris Hilton)