[PATCH 08/11] [WinHelp]: removed a couple of internal windows' handle and replaced them with control IDs

Eric Pouech eric.pouech at orange.fr
Fri Apr 18 14:34:29 CDT 2008




A+
---

 programs/winhelp/winhelp.c |   44 +++++++++++++++++++++++---------------------
 programs/winhelp/winhelp.h |    2 --
 2 files changed, 23 insertions(+), 23 deletions(-)


diff --git a/programs/winhelp/winhelp.c b/programs/winhelp/winhelp.c
index c107354..5f3fada 100644
--- a/programs/winhelp/winhelp.c
+++ b/programs/winhelp/winhelp.c
@@ -457,19 +457,21 @@ void            WINHELP_LayoutMainWindow(WINHELP_WINDOW* win)
 {
     RECT        rect, button_box_rect;
     INT         text_top = 0;
+    HWND        hButtonBoxWnd = GetDlgItem(win->hMainWnd, CTL_ID_BUTTON);
+    HWND        hTextWnd = GetDlgItem(win->hMainWnd, CTL_ID_TEXT);
 
     GetClientRect(win->hMainWnd, &rect);
 
     /* Update button box and text Window */
-    SetWindowPos(win->hButtonBoxWnd, HWND_TOP,
+    SetWindowPos(hButtonBoxWnd, HWND_TOP,
                  rect.left, rect.top,
                  rect.right - rect.left,
                  rect.bottom - rect.top, 0);
 
-    if (GetWindowRect(win->hButtonBoxWnd, &button_box_rect))
+    if (GetWindowRect(hButtonBoxWnd, &button_box_rect))
         text_top = rect.top + button_box_rect.bottom - button_box_rect.top;
 
-    SetWindowPos(win->hTextWnd, HWND_TOP,
+    SetWindowPos(hTextWnd, HWND_TOP,
                  rect.left, text_top,
                  rect.right - rect.left,
                  rect.bottom - text_top, 0);
@@ -484,17 +486,16 @@ void            WINHELP_LayoutMainWindow(WINHELP_WINDOW* win)
 static BOOL     WINHELP_ReuseWindow(WINHELP_WINDOW* win, WINHELP_WINDOW* oldwin, 
                                     HLPFILE_PAGE* page, int nCmdShow)
 {
+    HWND        hTextWnd = GetDlgItem(oldwin->hMainWnd, CTL_ID_TEXT);
     unsigned int i;
 
     win->hMainWnd      = oldwin->hMainWnd;
-    win->hButtonBoxWnd = oldwin->hButtonBoxWnd;
-    win->hTextWnd      = oldwin->hTextWnd;
     win->hHistoryWnd   = oldwin->hHistoryWnd;
-    oldwin->hMainWnd   = oldwin->hButtonBoxWnd = oldwin->hTextWnd = oldwin->hHistoryWnd = 0;
+    oldwin->hMainWnd   = oldwin->hHistoryWnd = 0;
     win->hBrush        = CreateSolidBrush(win->info->sr_color);
 
     SetWindowLongPtr(win->hMainWnd,      0, (ULONG_PTR)win);
-    SetWindowLongPtr(win->hTextWnd,      0, (ULONG_PTR)win);
+    SetWindowLongPtr(hTextWnd,           0, (ULONG_PTR)win);
     SetWindowLongPtr(win->hHistoryWnd,   0, (ULONG_PTR)win);
 
     WINHELP_InitFonts(win->hMainWnd);
@@ -502,11 +503,11 @@ static BOOL     WINHELP_ReuseWindow(WINHELP_WINDOW* win, WINHELP_WINDOW* oldwin,
     if (page)
         SetWindowText(win->hMainWnd, page->file->lpszTitle);
 
-    WINHELP_SetupText(win->hTextWnd);
-    InvalidateRect(win->hTextWnd, NULL, TRUE);
+    WINHELP_SetupText(hTextWnd);
+    InvalidateRect(hTextWnd, NULL, TRUE);
     WINHELP_LayoutMainWindow(win);
     ShowWindow(win->hMainWnd, nCmdShow);
-    UpdateWindow(win->hTextWnd);
+    UpdateWindow(hTextWnd);
 
     if (!(win->info->win_style & WS_POPUP))
     {
@@ -661,8 +662,8 @@ BOOL WINHELP_CreateHelpWindow(HLPFILE_PAGE* page, HLPFILE_WINDOWINFO* wi,
                           Globals.hInstance, win);
     /* Create button box and text Window */
     if (!bPopup)
-        win->hButtonBoxWnd = CreateWindow(BUTTON_BOX_WIN_CLASS_NAME, "", WS_CHILD | WS_VISIBLE,
-                                          0, 0, 0, 0, hWnd, (HMENU)CTL_ID_BUTTON, Globals.hInstance, NULL);
+        CreateWindow(BUTTON_BOX_WIN_CLASS_NAME, "", WS_CHILD | WS_VISIBLE,
+                     0, 0, 0, 0, hWnd, (HMENU)CTL_ID_BUTTON, Globals.hInstance, NULL);
 
     CreateWindow(TEXT_WIN_CLASS_NAME, "", WS_CHILD | WS_VISIBLE,
                  0, 0, 0, 0, hWnd, (HMENU)CTL_ID_TEXT, Globals.hInstance, win);
@@ -730,6 +731,7 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
     WINHELP_BUTTON *button;
     RECT rect;
     INT  curPos, min, max, dy, keyDelta;
+    HWND hTextWnd;
 
     WINHELP_CheckPopup(msg);
 
@@ -799,12 +801,13 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
         case VK_PRIOR:
         case VK_NEXT:
             win = (WINHELP_WINDOW*) GetWindowLongPtr(hWnd, 0);
-            curPos = GetScrollPos(win->hTextWnd, SB_VERT);
-            GetScrollRange(win->hTextWnd, SB_VERT, &min, &max);
+            hTextWnd = GetDlgItem(win->hMainWnd, CTL_ID_TEXT);
+            curPos = GetScrollPos(hTextWnd, SB_VERT);
+            GetScrollRange(hTextWnd, SB_VERT, &min, &max);
 
             if (keyDelta == 0)
             {            
-                GetClientRect(win->hTextWnd, &rect);
+                GetClientRect(hTextWnd, &rect);
                 keyDelta = (rect.bottom - rect.top) / 2;
                 if (wParam == VK_PRIOR)
                     keyDelta = -keyDelta;
@@ -816,10 +819,10 @@ static LRESULT CALLBACK WINHELP_MainWndProc(HWND hWnd, UINT msg, WPARAM wParam,
             else if (curPos < min)
                  curPos = min;
 
-            dy = GetScrollPos(win->hTextWnd, SB_VERT) - curPos;
-            SetScrollPos(win->hTextWnd, SB_VERT, curPos, TRUE);
-            ScrollWindow(win->hTextWnd, 0, dy, NULL, NULL);
-            UpdateWindow(win->hTextWnd);
+            dy = GetScrollPos(hTextWnd, SB_VERT) - curPos;
+            SetScrollPos(hTextWnd, SB_VERT, curPos, TRUE);
+            ScrollWindow(hTextWnd, 0, dy, NULL, NULL);
+            UpdateWindow(hTextWnd);
             return 0;
 
         case VK_ESCAPE:
@@ -973,7 +976,6 @@ static LRESULT CALLBACK WINHELP_TextWndProc(HWND hWnd, UINT msg, WPARAM wParam,
     case WM_NCCREATE:
         win = (WINHELP_WINDOW*) ((LPCREATESTRUCT) lParam)->lpCreateParams;
         SetWindowLongPtr(hWnd, 0, (ULONG_PTR) win);
-        win->hTextWnd = hWnd;
         win->hBrush = CreateSolidBrush(win->info->sr_color);
         WINHELP_InitFonts(hWnd);
         break;
@@ -1926,7 +1928,7 @@ WINHELP_LINE_PART* WINHELP_IsOverLink(WINHELP_WINDOW* win, WPARAM wParam, LPARAM
     POINT mouse;
     WINHELP_LINE      *line;
     WINHELP_LINE_PART *part;
-    int scroll_pos = GetScrollPos(win->hTextWnd, SB_VERT);
+    int scroll_pos = GetScrollPos(GetDlgItem(win->hMainWnd, CTL_ID_TEXT), SB_VERT);
 
     mouse.x = LOWORD(lParam);
     mouse.y = HIWORD(lParam);
diff --git a/programs/winhelp/winhelp.h b/programs/winhelp/winhelp.h
index b07044c..551b880 100644
--- a/programs/winhelp/winhelp.h
+++ b/programs/winhelp/winhelp.h
@@ -100,8 +100,6 @@ typedef struct tagWinHelp
     WINHELP_LINE*       first_line;
 
     HWND                hMainWnd;
-    HWND                hButtonBoxWnd;
-    HWND                hTextWnd;
     HWND                hShadowWnd;
     HWND                hHistoryWnd;
 





More information about the wine-patches mailing list