SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: jask2007 en Jueves 26 de Noviembre de 2009, 06:34

Título: Ventana con imagen
Publicado por: jask2007 en Jueves 26 de Noviembre de 2009, 06:34
Alguien me puede ayudar o decir si lo han hecho, es posible o creen q se pueda realizar. Mi inquietud es: Se puede crear una ventana en donde se ejecute el programa y que sobre esta ventana tenga una imagen de fondo. Algo parecido, ideas, aportes.........

Gracias.
Título: Re: Ventana con imagen
Publicado por: diego.martinez en Jueves 26 de Noviembre de 2009, 16:23
si es para win32 , solo tienes que capturar el mensaje WM_PAINT, y en el usar :
Código: C++
  1.  
  2. SetStretchBltMode(hDC,COLORONCOLOR);
  3. old=SelectObject(memDC, bkg); //cogemos la imagen
  4. GetWindowRect(window,&rcOwner);
  5. StretchBlt(hDC, 0, 0,rcOwner.right, rcOwner.bottom,  memDC, 0, 0,1280,1024,SRCCOPY)
  6.  
  7.  

en bkg deberias haber almacenado antes la imagen, por ejemplo un bmp:
Código: C++
  1.  
  2. bkg =LoadImage(NULL,LocFile,IMAGE_BITMAP,0,0,LR_LOADFROMFILE | LR_DEFAULTSIZE);
  3.  
  4.  

y  haber creado un memory compatible device context:
Código: C++
  1.  
  2. memdc=CreateCompatibleDC(GetDC(Window));
  3.  
  4.  



ya esta.

Si quieres ya algo mas elegante, carga un jpg u otro formato y usa StretchDIBits para pintar.

suerte  :hola: