właśnie, czy da się zrobić bitmape w winapi jako tło, aby można było na niej stworzyć przyciski ?
Da się... :P
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
Przykład dla dialogu:
gdzieś jako globalna zmienna...
HBRUSH hbr = CreatePatternBrush(hBitmap)
w callback'u dialogu :
case WM_CTLCOLORDLG
return hbr
Niestety nie wiem jak to zrobić - a mógłbyś podać jakiś przykład??
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
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.
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 ;)
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.