在CView中的OnDraw与OnPaint有可区别,是不是有了OnPaint就把OnDraw取代了 rt 3ks 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CView中只有OnDraw,没有OnPaint呀。 我明白了,我看了cview的源码,知道内部的机制了! OnDraw()是与CDocument类相关的,通常当CDocument中的数据发生改变时候,会通知CView也进行相应的改变,这时候Framework会自动调用OnDraw.而OnPaint的范围很小,仅仅只是CWnd需要重绘制的时候才会调用.有时候,可能OnPaint和OnDraw会有交集! 我觉得 还是 : kingcom_xu(刀是用来杀人的!) 说的有道理你可以试试,当你重载了cview类的OnPaint()函数时,OnDraw()是不会被调用的 void CViw::OnPaint(){CPaint dc(this);OnPrepareDC(&dc);OnDraw(&dc);}可以在Visual c++的vc\mfc\src\viewcore.cpp中查看OnPain()是CWnd的成员函数,也是WM_PAINT消息的响应函数OnDraw是CView的成员函数,但并非消息响应函数移动覆盖在窗口上的对话框或窗口,菜单拉下又放开,改变窗口大小等,都会调用OnPaint VC中没有MSComm控件,怎么办? 关于VS2008的使用技巧 mfc 控件贴图 关于椭圆的Bresenham算法的问题 面向无连接的网络编程问题,请高手指教!!!(在线等。 BlowFish 和DES 是否都只能加密 8个字符 呢? 如果知道控件的标题怎么取得它的句柄? 深夜,在线等待一个概念! 如何做启始屏?有没有源程序呀?100分!!1 VC60怎样添加*.C文件 一个简单的问题,请大虾指教谢谢,错误代码“参数不足,期待是1”是什么意思 高分请教!在MDI下如何给自己创建的FORMVIEW加上自己创建的菜单??
而OnPaint的范围很小,仅仅只是CWnd需要重绘制的时候才会调用.有时候,可能OnPaint和OnDraw会有交集!
{
CPaint dc(this);
OnPrepareDC(&dc);
OnDraw(&dc);
}
可以在Visual c++的vc\mfc\src\viewcore.cpp中查看
OnPain()是CWnd的成员函数,也是WM_PAINT消息的响应函数
OnDraw是CView的成员函数,但并非消息响应函数
移动覆盖在窗口上的对话框或窗口,菜单拉下又放开,改变窗口大小等,都会调用OnPaint