读书人

关于WM_Paint消息解决方法

发布时间: 2012-02-13 17:20:26 作者: rapoo

关于WM_Paint消息
我在WM_PAINT消息中画的是窗口背景,然后我通过接收键盘消息,实现在背景的基础上实现画图。。
但怎么也画不出来!~请问当按下一个键的时候会产生WM_PAINT消息使得窗口又重新画了吗?
我的问题是不是画完了,然后在接收按键消息的时候又让窗口无效了!???
对这个问题有没有好的解决办法。。。
请各位帮忙。。

[解决办法]
按键通常不会产生WM_PAINT消息。
[解决办法]
你可以在按键中产生WM_PAINT
[解决办法]
InvalidateRect
如:
InvalidateRect(hwnd,NULL,TRUE)
[解决办法]
在按键消息中调用Invalidate

C/C++ code
BOOL CDlg::PreTranslateMessage(MSG* pMsg) {    if( WM_KEYDOWN == pMsg->message )            {        if( (pMsg->wParam == ...) )            ...                        Invalidate();                        ...    }        ...    return CDialog::PreTranslateMessage(pMsg);} 

读书人网 >VC/MFC

热点推荐