为什么绘制了非客户区后客户区就不能绘制了

纵横车 2014-04-21 11:32:11
我用win32汇编写了个标准窗口
然后响应WM_PAINT绘制窗口客户区(用的一张图片当背景)
然后响应WM_NCPAINT绘制窗口非客户区(还是用那张图片当背景)
但是只有非客户区有图片的效果,客户区还是白的,求解是哪里错了。
绘制那部分的代码如下:
mov eax,uMsg

.if eax==WM_PAINT
invoke BeginPaint,hWnd,addr @stPs
invoke GetDC,hWnd
mov @hDc,eax
invoke CreateCompatibleDC,@hDc
mov @hDc1,eax
invoke SelectObject,@hDc1,hBitmap
invoke BitBlt,@hDc,0,0,700,700,@hDc1,0,0,SRCCOPY
;invoke GetClientRect,hWnd,addr @stRect
invoke EndPaint,hWnd,addr @stPs

.elseif eax==WM_NCPAINT
invoke GetWindowDC,hWnd
mov @hDc,eax
invoke CreateCompatibleDC,@hDc
mov @hDc1,eax
invoke SelectObject,@hDc1,hBitmap
invoke BitBlt,@hDc,0,0,700,700,@hDc1,0,0,SRCCOPY
invoke EndPaint,hWnd,addr @stPs

...全文
145 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
纵横车 2014-04-22
  • 打赏
  • 举报
回复
好吧我自己回复。 响应WM_NCPAINT后要加BeginPaint,虽然不知道为什么。

21,497

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧