CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

如何更新视图的一部分?

楼主lonenomad(流浪汉)2005-04-03 09:39:05 在 VC/MFC / 界面 提问

我在OnUpdate()中更新视图,但总是更新整个客户区,因而视图抖动很大,不知道怎样更新一部分。 问题点数:100、回复次数:16Top

1 楼whs1980(知秋一叶)回复于 2005-04-03 09:53:00 得分 10

void   InvalidateRect(   LPCRECT   lpRect,   BOOL   bErase   =   TRUE   );//可以更新局部Top

2 楼whs1980(知秋一叶)回复于 2005-04-03 09:55:29 得分 0

void   InvalidateRgn(   CRgn*   pRgn,   BOOL   bErase   =   TRUE   );//更新一个任意的区域Top

3 楼truewill(无处不在)回复于 2005-04-03 10:00:54 得分 10

createCompatibaleDC,画好了再贴上去咯Top

4 楼wangjianddy(~~~~>_<~~~~)回复于 2005-04-03 10:04:19 得分 10

不用,直接按照1,2楼的调用就行了,系统会自动刷新那部分绘图得Top

5 楼zhaotao0982(victor)回复于 2005-04-03 10:48:14 得分 10

InvaldateRect()Top

6 楼dfyang()回复于 2005-04-03 12:40:39 得分 10

enTop

7 楼surstar(我要写个操作系统出来……)回复于 2005-04-03 12:43:51 得分 10

赞同1 2 楼,  
  Top

8 楼legendhui(秋天的叶子)回复于 2005-04-03 12:55:32 得分 10

InvalidateRect  
  InvalidateRgnTop

9 楼lonenomad(流浪汉)回复于 2005-04-03 14:13:15 得分 0

问题是我的OnUpdate()中的代码是绘制整个客户区的代码,怎么让OnUpdate()绘一部分啊,不明白。InvalidateRect  
  InvalidateRgn  
  只是使部分客户区无效,后调用绘图函数重绘,怎样让绘图的函数重绘一部分啊。Top

10 楼scantity(大菠菜2005)回复于 2005-04-03 15:35:16 得分 10

帮你顶Top

11 楼lonenomad(流浪汉)回复于 2005-04-04 10:04:21 得分 0

createCompatibaleDC,画好了再贴上去咯     说详细点好吗?最好有个例子看一看。  
  Top

12 楼signoft(晴天)回复于 2005-04-04 10:49:00 得分 10

认为InvalidateRect、InvalidateRgn就能实现楼主的需要;  
  BOOL   InvalidateRect(  
      HWND   hWnd,                       //   handle   to   window  
      CONST   RECT*   lpRect,     //   rectangle   coordinates  
      BOOL   bErase                     //   erase   state  
  );  
  你更新的时候先算出你要更新的区域的Rect,之后再调用这个函数试试看  
  Top

13 楼lonenomad(流浪汉)回复于 2005-04-04 21:19:57 得分 0

问题没有解决,视图还是抖动的厉害。Top

14 楼lonenomad(流浪汉)回复于 2005-04-05 10:34:02 得分 0

upTop

15 楼lonenomad(流浪汉)回复于 2005-04-07 15:03:19 得分 0

upTop

16 楼lhj0532(klinsmann)回复于 2005-04-07 16:13:41 得分 10

InvalidateRect之前设置一个BOOL值,在OnDraw里根据这个BOOL控制你该绘的部分,怎么绘就看你自己怎么控制CDC了!Top

相关问题

  • 如何在视图中更新数据?
  • 视图更新
  • 请问我得到了一个视图的指针,如何更新该视图,而不更新其他的
  • oracle8的可更新视图如何设置?超级大送分!!!
  • 如何使得表与视图同步更新
  • 如何更新远程视图的定义?
  • 线程中如何通知视图更新啊?
  • 如何建立可以更新的视图?谢谢大侠了!
  • 请问如何更新所有的视图?
  • 请问在DB2中如何更新视图?

关键词

  • 视图
  • 函数
  • 客户
  • 更新
  • invalidaterect
  • berase
  • 调用
  • onupdate
  • bool
  • 客户区

得分解答快速导航

  • 帖主:lonenomad
  • whs1980
  • truewill
  • wangjianddy
  • zhaotao0982
  • dfyang
  • surstar
  • legendhui
  • scantity
  • signoft
  • lhj0532

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo