2011-08-27 41 views
0

如何在不清除屏幕的情況下強制使用WM_PAINT?C++ win32 background

我想加載一個背景,我也想加載不同的圖像取決於鼠標在哪裏。我的問題是,背景加載得很好,但是當鼠標到達某個位置並且想要將新圖像加載到背景上時不會發生,因爲我無法強制發送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; 
    } 
} 

所以這個布爾值可以決定圖像必須加載或不加載。但是我需要刷新屏幕而不丟棄背景,這取決於圖像應該在背景上顯示(或不顯示)的位置。但是即使圖像被加載也不能保存背景。有任何想法嗎?

+2

很難跟蹤。很難想象答案不在使用InvalidateRect()。 –

回答