c ++ win32背景

时间:2011-08-27 21:58:19

标签: c++ winapi

如何在不清除屏幕的情况下强制WM_PAINT?

我想加载背景,我还想加载不同的图像,具体取决于鼠标的位置。我的问题是,背景加载得很好但是当鼠标到达某个位置并想要将新图像加载到背景上时它不会发生因为我无法强制发送WM_PAINT。

Mousehover是。

case WM_MOUSEHOVER:
{
    int iPosX = LOWORD(lParam);
    int iPosY = HIWORD(lParam);
    if (((iPosX > 649 && iPosX < 789) && (iPosY > 532 && iPosY < 613)) && Loaded == false) 
    {
        LoadPlayImage = true;
    }
    else 
    {
        LoadPlayImage = false;
    }
}

所以这个布尔值可以决定是否必须加载图像。但我需要一些东西来刷新屏幕而不丢弃背景,因此取决于图像在背景上的位置(或不显示)。但即使图像已加载,也必须保存背景。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用InvalidateRect http://msdn.microsoft.com/en-us/library/dd145002(VS.85).aspx

触发窗口的重绘