3

我的应用程序有一个标准的顶级应用程序窗口。我需要强制重新绘制窗口镶边(也称为窗口的非客户区)。我不在乎客户区是否也被重新粉刷,但 chrome 本身需要被迫重新粉刷。

特别是我需要它在 Windows 7 上运行。在我的特定情况下,它是否适用于其他操作系统版本并不重要。解决方案可以是 C、C++、C# 或任何其他语言。

4

2 回答 2

3

根据MSDN,似乎

RedrawWindow( hWnd, NULL, NULL, RDW_INVALIDATE | RDW_FRAME );

就是你要找的。

RDW_FRAME 导致与更新区域相交的窗口非客户区的任何部分接收 WM_NCPAINT 消息。还必须指定 RDW_INVALIDATE 标志;否则,RDW_FRAME 无效。除非指定了 RDW_UPDATENOW 或 RDW_ERASENOW,否则 WM_NCPAINT 消息通常不会在 RedrawWindow 的执行期间发送。
于 2010-08-24T20:16:13.677 回答
-2

也许您可以将 WM_NCPAINT 消息发送到窗口

http://msdn.microsoft.com/en-us/library/dd145212%28VS.85%29.aspx

于 2010-08-20T04:17:11.033 回答