Image en fond d'écran avec vc++

Résolu
insta_ev - Modifié par cptpingu le 8/07/2015 à 13:06
 insta_ev - 10 juil. 2015 à 13:43
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

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
10 juil. 2015 à 13:33
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...
0
merci c'est réglé j'avais juste oublié de mettre un message background
0
Rejoignez-nous