CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

一个我想不通的问题

楼主sietlkj(我心已死)2001-10-15 17:38:07 在 VC/MFC / 基础类 提问

本人在函数OnDraw(pDC)中编写了显示代码,然后在另一函数中调用Invalidate()函数,似乎接下来系统应该自动调用OnDraw()函数的,可不知道为什么,一直没有动静,只有在程序运行完了才调用,真是怪事。哪位大虾知道,请不吝赐教,必有厚谢!(这是我能给的最高分了) 问题点数:51、回复次数:8Top

1 楼zhangyan_qd(doggyzone)回复于 2001-10-15 17:46:10 得分 0

是不是调Invalidate的那个函数到最后才被调用阿Top

2 楼Colorstone(不偏不倚谓之正)回复于 2001-10-15 18:05:14 得分 0

这好像不太可能Top

3 楼sanjiang()回复于 2001-10-15 18:56:50 得分 0

如果重载了OnPaint()必须显式调用OnDraw().Top

4 楼kingzai(stevenzhu)回复于 2001-10-15 19:06:19 得分 0

把OnDraw中的代码写到OnPaint中吧,很容易改的Top

5 楼sietlkj(我心已死)回复于 2001-10-16 15:36:33 得分 0

To   zhangyan_qd(doggyzone);不是。调用Invalidate的那个函数被主程序调用至少1000次,但该函数会视情况而定调用Invalidate函数,最多4次。只是,主程序是一个循环,一旦运行,直到结束,不知是否与此有关呢?  
  To   sanjiang():没有重载OnPaint()。  
  To   kingzai():在刷新屏幕时,系统是否会自动调用OnPaint函数?另外,我需要刷新屏幕时,能否用Invalidate函数?  
  谢谢!Top

6 楼CoolBoy_007(coolboy_007)回复于 2001-10-16 15:55:42 得分 51

如果上面各位仁兄的标准方法,这位老兄都不能解决问题,那最简单的就是你去调用OnDraw函数去主动调用实现功能吧!Top

7 楼wmouse(山水)回复于 2001-10-16 16:31:57 得分 0

我也想知道Invalidate的工作和使用情况Top

8 楼sietlkj(我心已死)回复于 2001-10-18 15:21:28 得分 0

To   CoolBoy_007(酷男):这种方法我没有试过,不过,我换了一种方式,原理一样,我定义一个新函数,将原先在OnDraw()中的代码拷贝到该函数,然后调用该函数进行刷新,只是,这样一来,我就得自己编写清屏的代码了。顺便问一句,若直接调用OnDraw函数,则其参数是否如下:  
  CDC   pDC(this)?谢谢!Top

相关问题

  • 我
  • 我.
  • 我
  • 我……
  • 我要我要
  • 我学,我改!
  • 我爱,我爱
  • 我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦我烦烦死了!我要杀人
  • 我,我,我搞不明白!
  • 我靠,我跳,谁要我

关键词

  • 函数
  • 代码
  • 调用
  • ondraw
  • onpaint
  • invalidate
  • 刷新
  • 是否
  • 知道

得分解答快速导航

  • 帖主:sietlkj
  • CoolBoy_007

相关链接

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

广告也精彩

反馈

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