请问Ondraw时怎样保留原来的图片显示

jiyuanjie 2007-08-17 11:16:34
我需要通过菜单打开并在一个view类窗口中显示数张图片,导入新图片后,原来的图片在Ondraw后被擦除(坐标已经计算好了,新图片出现在希望位置,不存在覆盖问题 ),请问能有什么办法能让VIEW类窗口重绘时保留原来内容,好像保留文字时是用一个数组保存数据,然后全部重绘,图片就不知道有什么简便的方法没有了。
...全文
323 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiuzw2001 2007-08-22
  • 打赏
  • 举报
回复
to jiyuanjie()
lz能不能加我qq:93447313,交流一下
jiyuanjie 2007-08-20
  • 打赏
  • 举报
回复
解决了,DOC里在打开图片的函数里添加UpdateAllViews( NULL );然后在要显示图片的VIEW里用OnUpdate响应,OnUpdate里计算好图标位置后用InvalidateRect(rect)实现了所需功能。如果用保存图片再全部重画的办法,还需要保存大量的坐标数据吧
jiyuanjie 2007-08-20
  • 打赏
  • 举报
回复
呵呵,楼上的是四川的还是重庆的还是贵州的
chenjuaxuan 2007-08-18
  • 打赏
  • 举报
回复
肯定得保存一原来的东西撒, 你要么保存原来的CBitmap, 要么保存CDC, 绘制的时候把原来的和现在的一起绘制出来才行撒.

有不保存的办法?
WindAndSnow 2007-08-17
  • 打赏
  • 举报
回复
你既然已经知道新图片的坐标和大小,可以只把新图片的区域重绘,其它的地方不变.重绘新图片的区域用InvalidateRect(rect);//rect是新图的CRect
luohongming 2007-08-17
  • 打赏
  • 举报
回复
在view类中增加一个CDC的成员变量,将图片绘制在其中,Ondraw中再将该CDC的内容显示到视图上。
Daimon_near_me 2007-08-17
  • 打赏
  • 举报
回复
似乎没有好的办法,可以在Ondraw加个For循化来实现
菜牛 2007-08-17
  • 打赏
  • 举报
回复
一样啊,保存图片,绘制的时候全部重绘。
qiuzw2001 2007-08-17
  • 打赏
  • 举报
回复
如题~~同问
不知道jiyuanjie ()解决没有~~
wdchxzh 2007-08-17
  • 打赏
  • 举报
回复
不能把原来的图片和现在的一起重绘吗?
smallfishff 2007-08-17
  • 打赏
  • 举报
回复
将原来的图片存于临时DC中 Ondraw的时候重绘.

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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