Image de fond sous API en Visual C++

Signaler
Messages postés
2
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
24 mars 2006
-
Messages postés
2
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
24 mars 2006
-
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

Messages postés
224
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
18 octobre 2010

Et si tu essaye avec WM_PAINT au lieu de WM_ERASEBKGND ?
Messages postés
2
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
24 mars 2006

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