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

-
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 :).
Afficher la suite 

2 réponses

Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
17
0
Merci
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...
Commenter la réponse de yann_lo_san
0
Merci
merci c'est réglé j'avais juste oublié de mettre un message background
Commenter la réponse de insta_ev