我在客户区画了个矩形,可一改变窗口大小就没了,怎么解决呢?

cctj82 2003-10-18 04:16:23
我知道好象要用到CreateCompatibleDC,BitBlt等MFC的函数,但具体怎么解决呢?
请高手指点,最好有代码提供
...全文
48 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
litbear 2003-10-20
  • 打赏
  • 举报
回复
将你的画图代码写到OnPaint或者OnDraw中
wangjf2003 2003-10-20
  • 打赏
  • 举报
回复
当你拖动窗口时会发出wm_pain消息,这个消息在mfc的CView类中由OnPain响应,Onpain()中有个pdc,用这个DC来绘制矩形(换一句话说把绘制矩形的代码拷贝到这里,因为窗口创建时也会发出WM_PAIN消息,所以程序运行时可以出现矩形)!
*************OVER
祝你好运!
wangjf03@mails.tsinghua.edu.cn
fingerfox 2003-10-20
  • 打赏
  • 举报
回复
晕,什么跟什么啊?
wangjs720 2003-10-20
  • 打赏
  • 举报
回复
在OnPaint里画
clife 2003-10-19
  • 打赏
  • 举报
回复
你要在处理WM_PAINT消息,在WM_PAINT消息处理函数里面画。
zPerry 2003-10-18
  • 打赏
  • 举报
回复
把画图的代码放到OnPaint() (或响应 WM_PAINT 的代码) 中
再给窗口类加上
CS_HREDRAW | CS_VREDRAW
风格,这样窗口改变窗口大小时会自动重画窗口
liudey 2003-10-18
  • 打赏
  • 举报
回复
在 Dialog 的 OnPaint() 或 View 的Ondraw()方法里重画就行了,


用 CreateCompatibleDC 只会使图像不闪烁,要想不消失,还是要在上面的函数里重画的
http://www.codeproject.com/bitmap/drawing_without_flicker.asp

15,979

社区成员

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

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