请教:关于OnPaint()的问题...

z_sky 2003-02-19 05:12:57
我要在SDI的CChildView中绘制图形,请问:

OnPaint()中怎么确认要重画的区域是哪些?

还有,原来被破坏掉(遮住等)的部分,在哪里可以保存和恢复?

谢谢。
...全文
26 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gordonstysty 2003-02-22
  • 打赏
  • 举报
回复
use *pHint---->&CRect
daiyongxin2000 2003-02-22
  • 打赏
  • 举报
回复
想画图给你推荐一本书,当年我搞毕业设计时挑了图形编辑器,买了不少书,最后全靠她,VC实践与提高-图形图象编,画图,保存图都没问题。你去看看
demetry 2003-02-22
  • 打赏
  • 举报
回复
看看这个讨论:

http://expert.csdn.net/Expert/topicview.asp?id=1441713
oiq 2003-02-20
  • 打赏
  • 举报
回复
没有必须在OnPaint()中计算出重画区域。因为像你所说的哪种情况时,toolbar 不会去重画背景,所以不会出现闪烁。就像你调用了Invalidate(FALSE)一样。
z_sky 2003-02-20
  • 打赏
  • 举报
回复
请教...
z_sky 2003-02-20
  • 打赏
  • 举报
回复
那我应该怎么在客户区invalidate前得到通知并保留相关内容?又在什么地方重绘?唯一的目的就是不想太过频繁地重绘整个客户区。这能做到到?
z_sky 2003-02-20
  • 打赏
  • 举报
回复
没人愿意赐教吗? 如何控制重绘客户区比较好?
z_sky 2003-02-19
  • 打赏
  • 举报
回复
所以我想知道如何达到目的,不一定在OnPaint()中,但是应该响应什么消息或者在重载什么函数来实现?因为toolbar上按钮的tip显示占了一点点client区也会引起OnPaint()。所以我想知道如何在要被遮住前保存,要重画的时候只画这一部分。应该怎么做呢?

demetry 2003-02-19
  • 打赏
  • 举报
回复
OnPaint一般是重绘整个客户区,要想保存和恢复,需要自己建立数据结构存储图画信息

15,979

社区成员

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

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