gege1024
Messages postés138Date d'inscriptionvendredi 10 janvier 2003StatutMembreDernière intervention27 janvier 2009
-
19 déc. 2005 à 22:17
gege1024
Messages postés138Date d'inscriptionvendredi 10 janvier 2003StatutMembreDernière intervention27 janvier 2009
-
19 déc. 2005 à 22:51
j'ai un programme qui fais bcp de choses (lol)
pour pimenter le tout j'ai fais un menu pour personnaliser l'interface (couleur du fond, couleur des controles...)
le pb est que lorsque je choisi une image sur le disque (parcours du disque dur et selection), mon dialogue ne s'actualise pas.
par contre lorsque je choisi une couleur perso ou une image qui est dans les ressources pour le fond -> pas de probleme.
PS: le changement se fait à la volée grace à un RedrawWindow(). si je quitte mon prog et que je le réouvre, là pas de probleme (je gere les sauvegardes) car mon appli passe par OnInitDialog -> OnPaint() .....
PS2: quel sont les messages successifs interceptés par windows de l'init d'un dialog à la femeture ?.
gege1024
Messages postés138Date d'inscriptionvendredi 10 janvier 2003StatutMembreDernière intervention27 janvier 2009 19 déc. 2005 à 22:38
je met un peu de code ici, je ne comprend pas pourquoi ca marche pas avec le cas 1.
j'au un bouton sur le dialogue qui fait un RedrawWindow().
si qq'un pouvais essayer ca ?
(il faut un groupe de radio et un bouton qui fait RedrawWindow() )
BOOL CDialog::OnEraseBkgnd(CDC* pDC)
{
if (m_radio_fond == 0)
{
// COULEUR DU FOND
// Fixe une brosse avec la couleur de fond choisie
CBrush BkClrBrush(RGB(coul_fond_r, coul_fond_v, coul_fond_b));
// Sauvegarde lancienne brosse.
CBrush* pOldBrush = pDC->SelectObject(&BkClrBrush);
CRect rect;
pDC->GetClipBox(&rect); // récupère la zone a effacer.