小弟有疑问,在线守候

surprised 2001-12-27 03:49:35
InvalidateRect的参数lpRect是指定要刷新的区域是吧,那么收到这个调用所导致的WM_PAINT消息时,PAINTSTRUCT.rcPaint是否同lpRect,以便于部分刷新呢?可是我收到的总不对
...全文
135 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
surprised 2001-12-27
  • 打赏
  • 举报
回复
明白,多谢各位热心,结帐
florist2000 2001-12-27
  • 打赏
  • 举报
回复
to : surprised(622622) 
看看窗口绘制消息吧
prglib 2001-12-27
  • 打赏
  • 举报
回复
对不起,看错了,你用的是api方式吧!
那就把m_rectRepaint设定为全局变量吧!
prglib 2001-12-27
  • 打赏
  • 举报
回复
那你就在View类里设定一个成员变量m_rectRepaint
在invalidaterect之前把它填一下,
然后到了OnDraw里直接用m_rectRepaint不就行了?
surprised 2001-12-27
  • 打赏
  • 举报
回复
我的确设置了断点,rcPaint总为整个客户区
case WM_LBUTTON:
.....
InvalidateRect(hwnd, &rect, FALSE);
return 0;
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
ps.rcPaint//不能得到于上面rect同样的值
prglib 2001-12-27
  • 打赏
  • 举报
回复
我在informedicals做图像处理,这个问题好解决。
建议你在OnDraw函数里设一个断点,然后打开一个Watch窗口
看看pDC的成员变量
其中有一个m_ps放的就是相关的信息。
所以你可以用pDC->m_ps.rcPaint得到重画的区域。
如果不清楚可以写信到wangheng@informedicals.com
surprised 2001-12-27
  • 打赏
  • 举报
回复
不对吧,这个函数可以使客户去无效,当然会造成WM_PAINT消息
florist2000 2001-12-27
  • 打赏
  • 举报
回复
InvalidateRect的参数lpRect是指定要刷新的区域是吧,
但是调用这个API 并不是产生wm_paint消息
而是WM_NCPAINT消息
呵呵
cwgxz 2001-12-27
  • 打赏
  • 举报
回复
哈哈哈哈哈哈,没想到有位老兄在和我同时写帖子
cwgxz 2001-12-27
  • 打赏
  • 举报
回复
关注中(gzz)
csz_cmy 2001-12-27
  • 打赏
  • 举报
回复
好像是另外的一个消息!!!
surprised 2001-12-27
  • 打赏
  • 举报
回复
什么叫GZZ
donaldking 2001-12-27
  • 打赏
  • 举报
回复
gzz

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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