onDraw和onPaint有什么不同?

xsx7677226 2003-09-15 08:15:50
在一个视图类中,onDraw和onPaint有什么不同?
onPaint是响应WM_PAINT消息的,那onDraw呢?
我试过了,onPaint和onDraw都能够绘图。

:)—
...全文
32 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xsx7677226 2003-09-15
  • 打赏
  • 举报
回复
摘自Viewcore.cpp文件

void CView::OnPaint()
{
// standard paint routine
CPaintDC dc(this);
OnPrepareDC(&dc);
OnDraw(&dc);
}
sxslyy 2003-09-15
  • 打赏
  • 举报
回复
在SDK中是在OnPaint中输出东东的,但在MFC中OnPaint是将设备描述表句柄传给
OnDraw(CDC* pDC)而由它来输出,我想这样做主要是因为OnPrint打印也调用OnDraw不过
是将打印句柄传给它而已,这样就实现了输出的与设备无关性.
LionTang 2003-09-15
  • 打赏
  • 举报
回复
onPaint调用onDraw,你想想OnDraw(CDC* pDC)的参数是谁传给它的,就是onPaint.虽然可能view类中没有onPaint,但是它的祖先类中肯定有onPaint函数.如果你在view中重载这个函数,你会发现你在onDraw中写的东西没有被画出来
fingerfox 2003-09-15
  • 打赏
  • 举报
回复
ONPAINT是WINDOW的消息 ONDRAW是VIEW的消息
dingzhaofeng 2003-09-15
  • 打赏
  • 举报
回复
mark!

15,979

社区成员

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

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