Handle wParam in WM_PAINT properly: if non-null, it is the hdc we are

supposed to use to draw into.
This commit is contained in:
Dimitrie O. Paun 2005-03-25 10:26:10 +00:00 committed by Alexandre Julliard
parent 8e276da00f
commit b1d65cb15d
2 changed files with 9 additions and 8 deletions

View File

@ -3077,7 +3077,7 @@ static BOOL PROPSHEET_DoCommand(HWND hwnd, WORD wID)
/******************************************************************************
* PROPSHEET_Paint
*/
static LRESULT PROPSHEET_Paint(HWND hwnd)
static LRESULT PROPSHEET_Paint(HWND hwnd, HDC hdcParam)
{
PropSheetInfo* psInfo = (PropSheetInfo*) GetPropW(hwnd, PropSheetInfoStr);
PAINTSTRUCT ps;
@ -3092,7 +3092,7 @@ static LRESULT PROPSHEET_Paint(HWND hwnd)
WCHAR szBuffer[256];
int nLength;
hdc = BeginPaint(hwnd, &ps);
hdc = hdcParam ? hdcParam : BeginPaint(hwnd, &ps);
if (!hdc) return 1;
hdcSrc = CreateCompatibleDC(0);
@ -3266,7 +3266,7 @@ static LRESULT PROPSHEET_Paint(HWND hwnd)
DeleteDC(hdcSrc);
EndPaint(hwnd, &ps);
if (!hdcParam) EndPaint(hwnd, &ps);
return 0;
}
@ -3396,7 +3396,7 @@ PROPSHEET_DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
}
case WM_PAINT:
PROPSHEET_Paint(hwnd);
PROPSHEET_Paint(hwnd, (HDC)wParam);
return TRUE;
case WM_DESTROY:

View File

@ -879,13 +879,14 @@ static LRESULT SYSLINK_Draw (SYSLINK_INFO *infoPtr, HDC hdc)
* SYSLINK_Paint
* Handles the WM_PAINT message.
*/
static LRESULT SYSLINK_Paint (SYSLINK_INFO *infoPtr)
static LRESULT SYSLINK_Paint (SYSLINK_INFO *infoPtr, HDC hdcParam)
{
HDC hdc;
PAINTSTRUCT ps;
hdc = BeginPaint (infoPtr->Self, &ps);
hdc = hdcParam ? hdcParam : BeginPaint (infoPtr->Self, &ps);
SYSLINK_Draw (infoPtr, hdc);
EndPaint (infoPtr->Self, &ps);
if (!hdcParam) EndPaint (infoPtr->Self, &ps);
return 0;
}
@ -1466,7 +1467,7 @@ static LRESULT WINAPI SysLinkWindowProc(HWND hwnd, UINT message,
switch(message) {
case WM_PAINT:
return SYSLINK_Paint (infoPtr);
return SYSLINK_Paint (infoPtr, (HDC)wParam);
case WM_SETCURSOR:
{