| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1708 人关注过本帖
标题:请教重绘的问题
只看楼主 加入收藏
weidonghongzjk
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-6-26
收藏
 问题点数:0 回复次数:6 
请教重绘的问题

请教大虾:
1本人已在视图中画了若干图形;
2想在视图中从左向右画一条垂直的移动的直线;
3在直线移动的过程中视图中原有的图形不被擦除或改变;
本人思路如下,请高手指点
1设置时钟
2响应OnTimer事件
3在OnTimer中擦出前一条直线并画出下一条直线
我想应该是关于SetROP的设置问题,但试了了若干总达不到效果;
我该怎么办?思路有问题吗?

搜索更多相关主题的帖子: 图形 
2006-06-27 00:03
十一月天
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:10
帖 子:3030
专家分:0
注 册:2006-4-19
收藏
得分:0 
我到觉得喝SetROP的设置问题没什么关系,你是怎么擦除图像的?

当头晕的时候我终于明白了什么叫爱情。
2006-06-27 09:04
weidonghongzjk
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-6-26
收藏
得分:0 

我也不太清楚,具体操作请指教。
(擦出图像就是用绘图的相反模式在画一遍直线,好像橡皮线就是这样实现的

2006-06-27 12:17
十一月天
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:10
帖 子:3030
专家分:0
注 册:2006-4-19
收藏
得分:0 
我只会再从新画一遍整个图像

当头晕的时候我终于明白了什么叫爱情。
2006-06-27 16:44
weidonghongzjk
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-6-26
收藏
得分:0 

问题已经基本结决,即在文档中建立两个点,在OnTimer中改变他们的值,使每次时间响应加一,然后用UpdateAllView。在OnDraw中画线就行了。若图像闪烁,则可在OnTimer中定义一个矩形,它可以把那两个点包含在里面,然后调用InvalidateRect(Rrue)就行,后面一种方法在单文档中已经实现,效果不错,但在多文档中效果不行,不知原因,可能是矩形坐标的定义和点坐标的定义在屏幕上需要转化吧,不太清楚,有谁知道,告诉我一声,谢谢

2006-06-30 15:41
热情依然
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:22
帖 子:715
专家分:0
注 册:2005-4-5
收藏
得分:0 
多文档的话你要知道你当前获得焦点文档是什么,应该先用GetActiveView获得当前的文档,然后再用你单文档的方法

[此贴子已经被作者于2006-6-30 16:39:53编辑过]



c++/C + 汇编 = 天下无敌
2006-06-30 16:39
NET爱好者
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-6-6
收藏
得分:0 
如果是MFC的话,可以试试用预览风格的线条画线。

写最好的程序。
2006-07-09 00:17
快速回复:请教重绘的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018002 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved