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

View File

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