Nikolay Sivov : comctl32/monthcal: Use cached colors instead of GetSysColor for MonthCal.

Alexandre Julliard julliard at winehq.org
Tue May 19 09:23:08 CDT 2009


Module: wine
Branch: master
Commit: cf67786e406c3a5a7be913bd1c31b0903e6ba29f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=cf67786e406c3a5a7be913bd1c31b0903e6ba29f

Author: Nikolay Sivov <bunglehead at gmail.com>
Date:   Mon May 18 19:03:40 2009 +0400

comctl32/monthcal: Use cached colors instead of GetSysColor for MonthCal.

---

 dlls/comctl32/monthcal.c |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/dlls/comctl32/monthcal.c b/dlls/comctl32/monthcal.c
index 15acf1f..be41451 100644
--- a/dlls/comctl32/monthcal.c
+++ b/dlls/comctl32/monthcal.c
@@ -456,7 +456,7 @@ static void MONTHCAL_Refresh(MONTHCAL_INFO *infoPtr, HDC hdc, const PAINTSTRUCT
   SYSTEMTIME localtime;
   int startofprescal;
 
-  oldTextColor = SetTextColor(hdc, GetSysColor(COLOR_WINDOWTEXT));
+  oldTextColor = SetTextColor(hdc, comctl32_color.clrWindowText);
 
   /* fill background */
   hbr = CreateSolidBrush (infoPtr->bk);
@@ -1926,12 +1926,12 @@ MONTHCAL_Create(HWND hwnd, LPARAM lParam)
   infoPtr->monthRange = 3;
   infoPtr->monthdayState = Alloc
                          (infoPtr->monthRange * sizeof(MONTHDAYSTATE));
-  infoPtr->titlebk     = GetSysColor(COLOR_ACTIVECAPTION);
-  infoPtr->titletxt    = GetSysColor(COLOR_WINDOW);
-  infoPtr->monthbk     = GetSysColor(COLOR_WINDOW);
-  infoPtr->trailingtxt = GetSysColor(COLOR_GRAYTEXT);
-  infoPtr->bk          = GetSysColor(COLOR_WINDOW);
-  infoPtr->txt	       = GetSysColor(COLOR_WINDOWTEXT);
+  infoPtr->titlebk     = comctl32_color.clrActiveCaption;
+  infoPtr->titletxt    = comctl32_color.clrWindow;
+  infoPtr->monthbk     = comctl32_color.clrWindow;
+  infoPtr->trailingtxt = comctl32_color.clrGrayText;
+  infoPtr->bk          = comctl32_color.clrWindow;
+  infoPtr->txt	       = comctl32_color.clrWindowText;
 
   /* set the current day for highlighing */
   infoPtr->minSel.wDay = infoPtr->todaysDate.wDay;
@@ -2082,6 +2082,10 @@ MONTHCAL_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
   case WM_DESTROY:
     return MONTHCAL_Destroy(infoPtr);
 
+  case WM_SYSCOLORCHANGE:
+    COMCTL32_RefreshSysColors();
+    return 0;
+
   default:
     if ((uMsg >= WM_USER) && (uMsg < WM_APP) && !COMCTL32_IsReflectedMessage(uMsg))
       ERR( "unknown msg %04x wp=%08lx lp=%08lx\n", uMsg, wParam, lParam);




More information about the wine-cvs mailing list