我在Win32 API上遇到问题。我有一个程序,当它处理WM_PAINT
消息时,会调用BeginPaint
来裁剪区域并验证更新区域,但是BeginPaint
函数始终会生成具有相同更新区域的WM_NCPAINT
消息,即使需要重新粉刷的被触摸部分是仅在客户区域内。
有人知道为什么会这样吗?在带有WS_CHILD
样式的子窗口上。
最佳答案
WM_PAINT的MSDN条目说:
我试图弄清楚为什么即使不触摸边框也总是发送。我测试了在控件内部打开一个小的记事本并将其最小化。它不触碰控件的边界,仅在内部,BeginPaint()
生成WM_NCPAINT
。
关于c++ - 为什么对BeginPaint()的调用总是生成WM_NCPAINT消息?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/100304/