我在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/

10-11 00:49