Hi, does anyone know a simple way to display a bitmap permanently on an irregular window? I've read comrade's tutorial on doing irregular shaped windows and he seems to have done it using some bitmap algorithm or something. I'm just wondering if there's another way to do it with just using good ol' APIs? I've tried using bitblt, it displayed the bitmap, but the moment the window goes beneath another window, the image clears out.
I'd appreciate any help :)
clip
I'd appreciate any help :)
clip
Keep the bitmap in memory along with a memory DC for it. Then inside the WM_PAINT message BitBLt to the screen.
Winodws send WM_PAINT when a window needs redrawing.
Winodws send WM_PAINT when a window needs redrawing.
Yeah that's what I did, it worked it showed the bitmap, but the moment you put a window on top of it, the picture gets erased.
Perhaps your deleting the bitmap once its displayed. Or maybe your storing the handles in local variables. Whatever the reason it probably a simple error as this method will work.
All i used was the following code
.data
hBmp dd ?
bmpDc dd ?
.code
;This runs in the WM_CREATE message
invoke LoadBitmap,gIst,1
mov hBmp,eax
invoke CreateCompatibleDC,0
mov bmpDc,eax
invoke SelectObject,eax,hBmp
; This runs in WM_PAINT
invoke BeginPaint,hWnd,addr ps
invoke BitBlt,ps.hdc,0,0,200,167,bmpDc,0,0,SRCCOPY
invoke EndPaint,hWnd,addr ps
I've included the code and exe so you can study it. :)
All i used was the following code
.data
hBmp dd ?
bmpDc dd ?
.code
;This runs in the WM_CREATE message
invoke LoadBitmap,gIst,1
mov hBmp,eax
invoke CreateCompatibleDC,0
mov bmpDc,eax
invoke SelectObject,eax,hBmp
; This runs in WM_PAINT
invoke BeginPaint,hWnd,addr ps
invoke BitBlt,ps.hdc,0,0,200,167,bmpDc,0,0,SRCCOPY
invoke EndPaint,hWnd,addr ps
I've included the code and exe so you can study it. :)
I didn't know when putting bitmaps to irregularly shaped windows CreateCompatibleDC won't work properly when placed inside the WM_PAINT event even if it was the first thing to do.
anyway, its works fine now the bitmap sticks to the irregularly shaped window, thanks!
anyway, its works fine now the bitmap sticks to the irregularly shaped window, thanks!