Image de fond sous API en Visual C++

lolo177 Messages postés 2 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 24 mars 2006 - 24 mars 2006 à 10:28
lolo177 Messages postés 2 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 24 mars 2006 - 24 mars 2006 à 11:10
Salut.
j'ai développé une application sous visual C++ mais je n'arrive pas à afficher une image en fond d'écran.
Ma fonction est :


void CMainFrame::ImageFond(CDC* pDC)
{
CBitmap bmp;
CBitmap *ptrBmpOld;
CDC dcMemory;
BITMAP bm;
CRect rect;


Invalidate(TRUE);
bmp.LoadBitmap(IDB_IMAGE_LARGE);
bmp.GetBitmap(&bm);
GetClientRect(rect);
dcMemory.CreateCompatibleDC(pDC);
ptrBmpOld=dcMemory.SelectObject(&bmp);
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcMemory,0,0,(bm.bmWidth),(bm.bmHeight), SRCCOPY );
dcMemory.SelectObject(ptrBmpOld);
}


et cette fonction est appellée dans
BOOL CMainFrame::OnEraseBkgnd(CDC* pDC)
{
ImageFond(pDC);
return TRUE;
}


Mon image s'affiche mais couvre la barre des taches ainsi que les autres fenetres. Et lorsque je déplace la fenetre d'application mon image disparait .
Je n'arrive pas à voir d'où cela vient.
Y aurait il d'autres paramètres à régler dans mon application pour avoir une jolie image en font d'écran ?
Merci pour votre aide
A+

2 réponses

bayeto Messages postés 224 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 18 octobre 2010
24 mars 2006 à 10:43
Et si tu essaye avec WM_PAINT au lieu de WM_ERASEBKGND ?
0
lolo177 Messages postés 2 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 24 mars 2006
24 mars 2006 à 11:10
Merci bayeto,
j'ai essayé avec WM_PAINT mais j'ai toujours le même problème. Mon image couvre l'appli et disparait.
A+
Lolo
0
Rejoignez-nous