关于调用OnPaint()函数
我想用一个对话框中的一个按钮来控制OnPaint()函数的调用,我把AfxGetMainWnd()->Invalidate();放在按钮的消息响应函数中,可是好像还是不行,用MFC生成的界面自动的进入OnPaint().大家帮帮忙啊!
WM_PAINT 消息是由系统自动投递的, 除非你在你窗口过程函数入口处拦截WM_PAINT,不对它做响应(但至少还是要把它从消息队列里面删除), 否则窗口本身的OnPaint()过程还是会自动被调用.
Invalidate的作用是把窗口的客户区都标记为需要重绘,在下一次系统投递WM_PAINT的时候,使用BeginPaint()获取到的DC将包含整个客户区.如果没有WM_PAINT被投递,Invalidate的调用看不到任何效果