Image en fond d'écran avec vc++ [Résolu]

Signaler
-
 insta_ev -
Bonjour,
je voudrais mettre une image en fond d'écran mais ça ne marche pas , il ne m'affiche rien à l'écran
aurez vous une idée svp
ce bout est dans mon InitDialogue

HBITMAP hBitmap;
hBitmap = (HBITMAP)LoadImage(NULL, _T("Fond.bmp"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
 
if (hBitmap)
{
  BackgroundFond.Attach(hBitmap);

  BITMAP bm; //Create bitmap Handle to get dimensions
  BackgroundFond.GetBitmap(&bm); //Load bitmap into handle
  m_bitmapSize = CSize(bm.bmWidth, bm.bmHeight); // Get bitmap Sizes;
}


// lancer une image enn fond d'écran
BOOL CMeasurementToolDlg::OnEraseBkgnd(CDC* pDC)
{
  CDC dcMemory;
  dcMemory.CreateCompatibleDC(pDC);
  CBitmap* pBitmap;
  pBitmap = dcMemory.SelectObject(&BackgroundFond);

  CRect rcClient;
  GetClientRect(&rcClient);
  const CSize& sbitmap = m_bitmapSize;
  pDC->BitBlt(0, 0, sbitmap.cx, sbitmap.cy, &dcMemory, 0, 0, SRCCOPY);
  dcMemory.SelectObject(pBitmap);
  return TRUE;
}


Edit admin: Ajout de la coloration syntaxique. Pense aux balises de code la prochaine fois, merci :).

2 réponses

Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
19
Salut,

Tu peux aussi utiliser l'API SystemParametersInfo
Il suffit de faire ceci (changement immédiat et persistant pour le profil user)

DWORD dwRet = ::SystemParametersInfo(
SPI_SETDESKWALLPAPER,
0,
_T("%WINDIR%\\monWallPaper.bmp"),
SPIF_SENDCHANGE);


bye...
merci c'est réglé j'avais juste oublié de mettre un message background