winhelp: Implemented SetPopupColor macro.
diff --git a/programs/winhlp32/hlpfile.h b/programs/winhlp32/hlpfile.h
index f25fc62..5097259 100644
--- a/programs/winhlp32/hlpfile.h
+++ b/programs/winhlp32/hlpfile.h
@@ -133,6 +133,9 @@
     HLPFILE_WINDOWINFO*         windows;
     HICON                       hIcon;
 
+    BOOL                        has_popup_color;
+    COLORREF                    popup_color;
+
     LPSTR                       help_on_file;
 } HLPFILE;
 
diff --git a/programs/winhlp32/macro.c b/programs/winhlp32/macro.c
index 6a3c9da..7179dca 100644
--- a/programs/winhlp32/macro.c
+++ b/programs/winhlp32/macro.c
@@ -904,9 +904,11 @@
         strcpy(Globals.active_win->page->file->help_on_file, str);
 }
 
-void CALLBACK MACRO_SetPopupColor(LONG u1, LONG u2, LONG u3)
+void CALLBACK MACRO_SetPopupColor(LONG r, LONG g, LONG b)
 {
-    WINE_FIXME("(%u, %u, %u)\n", u1, u2, u3);
+    WINE_TRACE("(%x, %x, %x)\n", r, g, b);
+    Globals.active_win->page->file->has_popup_color = TRUE;
+    Globals.active_win->page->file->popup_color = RGB(r, g, b);
 }
 
 void CALLBACK MACRO_ShellExecute(LPCSTR str1, LPCSTR str2, LONG u1, LONG u2, LPCSTR str3, LPCSTR str4)
diff --git a/programs/winhlp32/winhelp.c b/programs/winhlp32/winhelp.c
index 13114f7..0ad3243 100644
--- a/programs/winhlp32/winhelp.c
+++ b/programs/winhlp32/winhelp.c
@@ -228,7 +228,10 @@
 
     wi.style = SW_SHOW;
     wi.win_style = WS_POPUP | WS_BORDER;
-    wi.sr_color = parent->info->sr_color;
+    if (parent->page->file->has_popup_color)
+        wi.sr_color = parent->page->file->popup_color;
+    else
+        wi.sr_color = parent->info->sr_color;
     wi.nsr_color = 0xFFFFFF;
 
     return &wi;