win32按钮一直闪烁

时间:2013-04-21 09:21:41

标签: c++ visual-studio-2010 winapi button

我在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);

有人有这个问题吗?有什么方法可以解决它吗?

1 个答案:

答案 0 :(得分:4)

WS_CLIPCHILDREN样式添加到父窗口。

WS_CLIPCHILDREN

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

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