[TIMEDATE] Make the custom clock control aware of the theming. By Carlo Bramini. CORE-12079

svn path=/trunk/; revision=73214
This commit is contained in:
Amine Khaldi 2016-11-12 20:24:07 +00:00
parent 8c25d803dd
commit aca585d81e

View file

@ -182,20 +182,18 @@ ClockWndProc(HWND hwnd,
pClockData->cyClient);
if (hBmp)
{
HBRUSH hWinBrush, hWinBrushOld;
RECT rcParent;
HWND hParentWnd = GetParent(hwnd);
INT oldMap, Radius;
POINT oldOrg;
hBmpOld = SelectObject(hdcMem, hBmp);
hWinBrush = GetSysColorBrush(COLOR_BTNFACE);
hWinBrushOld = SelectObject(hdcMem, hWinBrush);
PatBlt(hdcMem,
0,
0,
pClockData->cxClient,
pClockData->cyClient,
PATCOPY);
SetRect(&rcParent, 0, 0, pClockData->cxClient, pClockData->cyClient);
MapWindowPoints(hwnd, hParentWnd, (POINT*)&rcParent, 2);
OffsetViewportOrgEx(hdcMem, -rcParent.left, -rcParent.top, &oldOrg);
SendMessage(hParentWnd, WM_PRINT, (WPARAM)hdcMem, PRF_ERASEBKGND | PRF_CLIENT);
SetViewportOrgEx(hdcMem, oldOrg.x, oldOrg.y, NULL);
oldMap = SetMapMode(hdcMem, MM_ISOTROPIC);
SetWindowExtEx(hdcMem, 3600, 2700, NULL);
@ -221,7 +219,6 @@ ClockWndProc(HWND hwnd,
0,
SRCCOPY);
SelectObject(hdcMem, hWinBrushOld);
SelectObject(hdcMem, hBmpOld);
DeleteObject(hBmp);
}
@ -232,6 +229,10 @@ ClockWndProc(HWND hwnd,
EndPaint(hwnd, &ps);
break;
/* No need to erase background, handled during paint */
case WM_ERASEBKGND:
return 1;
case WM_DESTROY:
DeleteObject(pClockData->hGreyPen);
DeleteObject(pClockData->hGreyBrush);