首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 关于图形重绘
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lixinxin08
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-08-21 10:23:14 楼主
    我在一个CView中定义了一个CPoint数组,要将数组中的point打印再view上,但是总数不得超过20个,即在画完20个点后,必须将view中的之前所有点清空。
    我用的方法,是在onpaint()中绘画点,在另外一个函数中判断总数是否大于20,如果小于,继续画,如果大于,则采取另外一套做法,memset()清零试过,invalidate试过,但是还是在view中有之前的点。不过你用其他的界面挡一下,就把之前的点给屏蔽了。
    请教各位,如何将之前的点在界面中赶走?
    30  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • orbit
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 10:33:301楼 得分:0
    onpaint()中绘画点,重画时就更新点的信息,然后调用UpdateView
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lixinxin08
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 10:41:532楼 得分:0
    UpdateView有这个函数么?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zoulie
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 10:55:513楼 得分:0
    还不行的话用背景画刷重新刷一下客户区总可以了吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lixinxin08
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 11:21:504楼 得分:0
    用刷子刷非常不好,导致客户区图片太多,当你绘图次数过多时,就会CDC报错
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • SkinBeauty
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-27 18:46:205楼 得分:0
    这是因为你没有更新视图。你可以宣布指定区域/或者整个界面区域 需要更新。(然后就会调用你的OnPaint()对无效区域进行绘制。

    如果你重新绘制整个显示区域,就不会出现你所说的情况。

    当然了,更高效的是更新指定你知道无效的区域了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • skinfeature
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-28 03:20:566楼 得分:0
    用刷子刷非常不好,导致客户区图片太多,当你绘图次数过多时,就会CDC报错
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • herrypz
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-28 10:18:057楼 得分:0
    把CPoint数组清空,重新刷一遍。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • skinfeature
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-28 22:55:068楼 得分:0
    http://www.skinfeature.com/bbs 很多教程
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Enigma_CN
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-29 13:19:449楼 得分:0
    在Onpaint()是系统调用的绘制过程!
    在其它函数中GetDC得到的DC绘制在系统需要重绘的时候根本不调用的
    所以 同意把CPoint数组清空,invalidate。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved