Bitmapa jako tło

0

właśnie, czy da się zrobić bitmape w winapi jako tło, aby można było na niej stworzyć przyciski ?

0

Da się... :P

0

Wiem że się da :D . QWszystko da się w programowaniu :D

Al jak to zrobić??
Jak zrobić aby bitmapa była w tle, albo jak zrobić aby przyciski były na wierzuchu

0

Przykład dla dialogu:

gdzieś jako globalna zmienna...

HBRUSH hbr = CreatePatternBrush(hBitmap)

w callback'u dialogu :

case WM_CTLCOLORDLG
  return hbr
0

Niestety nie wiem jak to zrobić - a mógłbyś podać jakiś przykład??

0
  hbmp = (HBITMAP)LoadImage(NULL,"c:\\obraz.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
  BITMAP bm;
  GetObject(hbmp,sizeof(bm),&bm);
  int Width  = bm.bmWidth;
  int Height = bm.bmHeight;

  HDC hdc;
  HDC hdcmem;

  hdcmem = CreateCompatibleDC(NULL);
  HANDLE tmp=SelectObject(hdcmem,hbmp); // HANDLE/HBITMAP/HWHATEVER

  hdc = GetDC(uchwyt);
  BitBlt(hdc,0,0,Width,Height,hdcmem,0,0,SRCCOPY);
  ReleaseDC(uchwyt,hdc);

  SelectObject(hdcmem,tmp);

  DeleteObject(hbmp);
  DeleteDC(hdcmem);

to jest kod którego chciałem aby było tło i nie wiem czy ja to mam do tego case wkleić czy co... :/ , a jak daje to return hbr to mipokazuje że nie może wkleic tam bo tam można tylko long int

0
xxxxxxxxxxxxx napisał(a)

to jest kod którego chciałem aby było tło i nie wiem czy ja to mam do tego case wkleić czy co... , a jak daje to return hbr to mipokazuje że nie może wkleic tam bo tam można tylko long int

Nie wiem o co ci w tej wypowiedzi chodzi ale możesz to wszystko (czyli swój kod) wcisnąc do handlera WM_PAINT.

0
0x666 napisał(a)

Nie wiem o co ci w tej wypowiedzi chodzi ale możesz to wszystko (czyli swój kod) wcisnąc do handlera WM_PAINT.

O jassne :)
Sam najpierw sproboj.
Jeszcze polecam, zebys ladowal 1mb bitmape ;)

0
Malcolm napisał(a)
0x666 napisał(a)

Nie wiem o co ci w tej wypowiedzi chodzi ale możesz to wszystko (czyli swój kod) wcisnąc do handlera WM_PAINT.

O jassne :)
Sam najpierw sproboj.
Jeszcze polecam, zebys ladowal 1mb bitmape ;)

No to wyobraź sobię, że tak zrobiłem i chodzi jak należy ;) Oczywiście ładowanie bitmap w handlerze WM_PAINT jest błędem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1