[MFC],Rafraichissement des objets de la ToolBox apres modification du font d'ecr

cfrelet Messages postés 1 Date d'inscription dimanche 26 mars 2006 Statut Membre Dernière intervention 27 avril 2006 - 27 avril 2006 à 11:35
ricky78 Messages postés 126 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 11 juillet 2006 - 27 avril 2006 à 14:45
Bonjour a tous,


Voila je travail sous microsoft visual studio .Net 2003, je crais un
projet de type MFC application et ma classe de base est CFormView.
J'ultilise des objets de la ToolBox comme "List Control" par exemple.
J'ai dut changer le font de ma fenetre. Pour cela j'ai utilisé le
WM_ERASEBKGND (comme conseille sur des sites) et je fais :


BOOL CbackgroundView::OnEraseBkgnd(CDC* pDC)

{

// Fixe une brosse avec la couleur de fond choisie

CBrush BkClrBrush(RGB(0, 0, 0));


// Sauvegarde l’ancienne brosse.

CBrush* pOldBrush = pDC->SelectObject(&BkClrBrush);


CRect rect;

pDC->GetClipBox(&rect); // récupère la zone a effacer.


pDC->PatBlt(rect.left, rect.top, rect.Width(),rect.Height(), PATCOPY);


pDC->SelectObject(pOldBrush);// restitue l’ancienne brosse


return true;

}


Ca marche tres bien, le probleme étant le rafraichissement de mes
objets generés par ma tool box. Des que l'on redessinne un objet du
paint (appel d'un Invalidate(), redimenssionement de la fenetre, figure
géométrique comme un carré dessinné dans le paint... ) le background
(noir dans mon cas) est comme redessinné par dessus mes objets de
toolbox ce qui donne un mauvais rafraichissement. Dans le cas ou l'on
redessinne assez souvent des objets ca devient n'importe quoi, ca
clignote beaucoup trop, ce n'est pas présentable.....


1- Est ce que j'utilise la bonne methode pour mon font d'ecran?

2- Est ce que vous comprenez ce que je raconte?

3- Y a-t-il une solution pour mieux gérer le rafraichissement?

4- Peut on changer la couleur du font d'un List Control, le mettre de
la meme couleur que le font noir et la police blanche, ainsi le
rafraichissenent passera mieux.


Merci


ps : désolé pour les accents, je suis en angleterre sur un clavier qwerty.


Cyril

1 réponse

ricky78 Messages postés 126 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 11 juillet 2006
27 avril 2006 à 14:45
Bonjour

Je te conseille ce tuto surtout la classe CPicture sur codeguru qui fait ca très bien soit pour t'en inspirer soit pour l'utiliser

http://c.developpez.com/faq/vc/?page=CDialog#SetBkgndBitmapOnDlg

Cordialement

TOCHE
0
Rejoignez-nous