WM_PAINT 消息与 OnDraw、OnPaint()
2016-05-03 16:21
363 查看
OnDraw只有CView才有,其他窗口都是在OnPaint里画。
void CView::OnPaint()
{
// standard paint routine
CPaintDC dc(this);
OnPrepareDC(&dc);
OnDraw(&dc);
}
这是MFC的代码,说明对于CView类,OnPaint会调用用户自己写的虚函数OnDraw;但是如果用户自己重写了OnPaint,这段代码就执行不到了,自然OnDraw就没有人调用了。
所以一般情况下,在CView类里,没有必要响应WM_Paint,直接把OnDraw写好就是了。
void CView::OnPaint()
{
// standard paint routine
CPaintDC dc(this);
OnPrepareDC(&dc);
OnDraw(&dc);
}
这是MFC的代码,说明对于CView类,OnPaint会调用用户自己写的虚函数OnDraw;但是如果用户自己重写了OnPaint,这段代码就执行不到了,自然OnDraw就没有人调用了。
所以一般情况下,在CView类里,没有必要响应WM_Paint,直接把OnDraw写好就是了。
相关文章推荐
- IDEA快捷键 如syso(sout Tab键)main(psvm Tab键)
- CodeForces 616E Sum of Remainders(数论)
- 山东省第一届ACM大学生程序设计竞赛 Fairy tale 大模拟
- samba “The specified network name is no longer available” 出错的解决办法
- 利用正则表达式:找到一段字符串中所有的IP地址和Email地址
- TensorFlow教程02:针对机器学习初学者的MNIST实验——Softmax回归
- mac上google chrome helper占内存,mac air 发热
- rails路由全解
- 在foxmail和outlook中设置QQ邮箱、gmail邮箱、新浪邮箱、微软邮箱、网易邮箱等的方法
- 【STL】SGI STL私房菜:_type_traits
- Failure to transfer org.apache.maven:maven-archiver:jar:x.x from https://repo.maven.apache.org/maven
- Rails技巧之tap&try
- androidStudio-importProject异常-Error:(1, 0) Your project path contains non-ASCII characters.
- HDU 4300 Clairewd’s message(扩展kmp)
- RAID磁盘利用率详解
- Software caused connection abort: recv failed
- Syntax error, parameterized types are only available if source level is 1.5
- Software caused connection abort: recv failed
- MegaSAS RAID卡 BBU Learn Cycle周期的影响
- bzoj 1660: [Usaco2006 Nov]Bad Hair Day 乱发节(单调栈)