[11/13] comctl32/syslink: Use cached colors for SysLink

Nikolay Sivov bunglehead at gmail.com
Mon May 18 12:20:15 CDT 2009


Changelog:
    - Use cached colors for SysLink

>From e78b3241f9605c5d0769bf2529368fe5a9674a22 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <bunglehead at gmail.com>
Date: Mon, 18 May 2009 19:59:13 +0400
Subject: Use cached colors for SysLink

---
 dlls/comctl32/syslink.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/dlls/comctl32/syslink.c b/dlls/comctl32/syslink.c
index 8f48b4c..1b89bc7 100644
--- a/dlls/comctl32/syslink.c
+++ b/dlls/comctl32/syslink.c
@@ -831,7 +831,7 @@ static LRESULT SYSLINK_Draw (const SYSLINK_INFO *infoPtr, HDC hdc)
 
     hOldFont = SelectObject(hdc, infoPtr->Font);
     OldTextColor = SetTextColor(hdc, infoPtr->TextColor);
-    OldBkColor = SetBkColor(hdc, GetSysColor(COLOR_BTNFACE));
+    OldBkColor = SetBkColor(hdc, comctl32_color.clrBtnFace);
     
     GetClientRect(infoPtr->Self, &rc);
     rc.right -= SL_RIGHTMARGIN + SL_LEFTMARGIN;
@@ -1729,9 +1729,9 @@ static LRESULT WINAPI SysLinkWindowProc(HWND hwnd, UINT message,
         infoPtr->Items = NULL;
         infoPtr->HasFocus = FALSE;
         infoPtr->MouseDownID = -1;
-        infoPtr->TextColor = GetSysColor(COLOR_WINDOWTEXT);
-        infoPtr->LinkColor = GetSysColor(COLOR_HIGHLIGHT);
-        infoPtr->VisitedColor = GetSysColor(COLOR_HIGHLIGHT);
+        infoPtr->TextColor = comctl32_color.clrWindowText;
+        infoPtr->LinkColor = comctl32_color.clrHighlight;
+        infoPtr->VisitedColor = comctl32_color.clrHighlight;
         infoPtr->BreakChar = ' ';
         TRACE("SysLink Ctrl creation, hwnd=%p\n", hwnd);
         SYSLINK_SetText(infoPtr, ((LPCREATESTRUCTW)lParam)->lpszName);
@@ -1746,6 +1746,10 @@ static LRESULT WINAPI SysLinkWindowProc(HWND hwnd, UINT message,
         Free (infoPtr);
         return 0;
 
+    case WM_SYSCOLORCHANGE:
+        COMCTL32_RefreshSysColors();
+        return 0;
+
     default:
 HandleDefaultMessage:
         if ((message >= WM_USER) && (message < WM_APP) && !COMCTL32_IsReflectedMessage(message))
-- 
1.5.6.5







More information about the wine-patches mailing list