]> granicus.if.org Git - nethack/commitdiff
(from <Someone>)
authornethack.allison <nethack.allison>
Mon, 25 Mar 2002 00:01:31 +0000 (00:01 +0000)
committernethack.allison <nethack.allison>
Mon, 25 Mar 2002 00:01:31 +0000 (00:01 +0000)
- use windowcolors settings for text backgroud/foreground color

win/win32/mhtext.c

index 11c5ed214dacf4dd26944141e8c1b64cb8c95091..0119918b9616a97aff0a3b3b11696bf17ad6fbe6 100644 (file)
@@ -14,6 +14,8 @@ typedef struct mswin_nethack_text_window {
 } NHTextWindow, *PNHTextWindow;
 
 static WNDPROC  editControlWndProc = 0;
+#define DEFAULT_COLOR_BG_TEXT  COLOR_WINDOW
+#define DEFAULT_COLOR_FG_TEXT  COLOR_WINDOWTEXT
 
 BOOL   CALLBACK        NHTextWndProc(HWND, UINT, WPARAM, LPARAM);
 LRESULT CALLBACK       NHEditHookWndProc(HWND, UINT, WPARAM, LPARAM);
@@ -135,6 +137,21 @@ BOOL CALLBACK NHTextWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPara
                }
        break;
 
+       case WM_CTLCOLORSTATIC: { /* sent by edit control before it is drawn */
+               HDC hdcEdit = (HDC) wParam; 
+               HWND hwndEdit = (HWND) lParam;
+               if( hwndEdit == GetDlgItem(hWnd, IDC_TEXT_CONTROL) ) {
+                       SetBkColor(hdcEdit, 
+                               text_bg_brush ? text_bg_color : (COLORREF)GetSysColor(DEFAULT_COLOR_BG_TEXT)
+                               );
+                       SetTextColor(hdcEdit, 
+                               text_fg_brush ? text_fg_color : (COLORREF)GetSysColor(DEFAULT_COLOR_FG_TEXT) 
+                               ); 
+                       return (BOOL)(text_bg_brush 
+                                       ? text_bg_brush : SYSCLR_TO_BRUSH(DEFAULT_COLOR_BG_TEXT));
+               }
+       } return FALSE;
+
        case WM_DESTROY:
                if( data ) {
                        if( data->window_text ) free(data->window_text);