0

我用win32 c++制作了一个小游戏,运行良好,但我有一些按钮闪烁的小问题。我猜这与我经常发送 WN_PAINT 的事实有关。

InvalidateRect(hwnd, NULL, false);
UpdateWindow(hwnd);

我像这样用 CreateWindow() 制作了按钮

CreateWindow(TEXT("button"),  TEXT(BTN_SAVE), WS_VISIBLE | WS_CHILD, 
            client.right - offset[1] - 170, client.bottom - offset[3], 
            80, 25, hwnd, (HMENU)ID_BTN_SAVE, NULL, NULL);

有人遇到过这个问题吗?有什么办法可以解决吗?

4

1 回答 1

6

WS_CLIPCHILDREN样式添加到父窗口。

WS_CLIPCHILDREN

当在父窗口中进行绘制时,排除子窗口占用的区域。创建父窗口时使用此样式。

http://msdn.microsoft.com/en-us/library/windows/desktop/ms632600%28v=vs.85%29.aspx

于 2013-04-21T09:49:46.293 回答