.ELSEIF uMsg == WM_PAINT
invoke BeginPaint,hWnd,addr ps
invoke EndPaint,hWnd,addr ps
xor eax,eax
.ELSEIF uMsg==WM_ERASEBKGND
mov eax,TRUE
yah - i was messing around, there
if you erase the background, you are supposed to return TRUE
as for paint - BeginPaint/EndPaint validates the rectangle
if you answer WM_PAINT, you have to validate one way or another
as for the transparency - you have to play with the rectangles
read that document i linked at msdn
they had some info
you can set the opacity of the non-client area to "showing"
then set a rectangle for the client area to transparent
it might work :P