Erich Hoover : hhctrl.ocx: Add better bitmaps for some toolbar buttons.

Alexandre Julliard julliard at winehq.org
Fri Jan 21 11:08:17 CST 2011


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

Author: Erich Hoover <ehoover at mines.edu>
Date:   Thu Jan 20 10:56:24 2011 -0700

hhctrl.ocx: Add better bitmaps for some toolbar buttons.

---

 dlls/hhctrl.ocx/help.c |   56 +++++++++++++++++++++++++----------------------
 1 files changed, 30 insertions(+), 26 deletions(-)

diff --git a/dlls/hhctrl.ocx/help.c b/dlls/hhctrl.ocx/help.c
index 4a0f78b..c75be78 100644
--- a/dlls/hhctrl.ocx/help.c
+++ b/dlls/hhctrl.ocx/help.c
@@ -761,10 +761,9 @@ static void TB_OnClick(HWND hWnd, DWORD dwID)
     }
 }
 
-static void TB_AddButton(TBBUTTON *pButtons, DWORD dwIndex, DWORD dwID)
+static void TB_AddButton(TBBUTTON *pButtons, DWORD dwIndex, DWORD dwID, DWORD dwBitmap)
 {
-    /* FIXME: Load the correct button bitmaps */
-    pButtons[dwIndex].iBitmap = STD_PRINT;
+    pButtons[dwIndex].iBitmap = dwBitmap;
     pButtons[dwIndex].idCommand = dwID;
     pButtons[dwIndex].fsState = TBSTATE_ENABLED;
     pButtons[dwIndex].fsStyle = BTNS_BUTTON;
@@ -774,12 +773,22 @@ static void TB_AddButton(TBBUTTON *pButtons, DWORD dwIndex, DWORD dwID)
 
 static void TB_AddButtonsFromFlags(HHInfo *pHHInfo, TBBUTTON *pButtons, DWORD dwButtonFlags, LPDWORD pdwNumButtons)
 {
+    HWND hToolbar = pHHInfo->WinType.hwndToolBar;
+    int nHistBitmaps = 0, nStdBitmaps = 0;
+    TBADDBITMAP tbAB;
+
+    tbAB.hInst = HINST_COMMCTRL;
+    tbAB.nID = IDB_HIST_LARGE_COLOR;
+    nHistBitmaps = SendMessageW(hToolbar, TB_ADDBITMAP, 0, (LPARAM)&tbAB);
+    tbAB.nID = IDB_STD_LARGE_COLOR;
+    nStdBitmaps = SendMessageW(hToolbar, TB_ADDBITMAP, 0, (LPARAM)&tbAB);
+
     *pdwNumButtons = 0;
 
     if (dwButtonFlags & HHWIN_BUTTON_EXPAND)
     {
-        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_EXPAND);
-        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_CONTRACT);
+        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_EXPAND, nHistBitmaps + HIST_VIEWTREE);
+        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_CONTRACT, nHistBitmaps + HIST_VIEWTREE);
 
         if (pHHInfo->WinType.fNotExpanded)
             pButtons[1].fsState |= TBSTATE_HIDDEN;
@@ -788,43 +797,44 @@ static void TB_AddButtonsFromFlags(HHInfo *pHHInfo, TBBUTTON *pButtons, DWORD dw
     }
 
     if (dwButtonFlags & HHWIN_BUTTON_BACK)
-        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_BACK);
+        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_BACK, nHistBitmaps + HIST_BACK);
 
     if (dwButtonFlags & HHWIN_BUTTON_FORWARD)
-        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_FORWARD);
+        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_FORWARD, nHistBitmaps + HIST_FORWARD);
 
+    /* FIXME: Load the correct button bitmaps */
     if (dwButtonFlags & HHWIN_BUTTON_STOP)
-        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_STOP);
+        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_STOP, nStdBitmaps + STD_PRINT);
 
     if (dwButtonFlags & HHWIN_BUTTON_REFRESH)
-        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_REFRESH);
+        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_REFRESH, nStdBitmaps + STD_PRINT);
 
     if (dwButtonFlags & HHWIN_BUTTON_HOME)
-        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_HOME);
+        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_HOME, nStdBitmaps + STD_PRINT);
 
     if (dwButtonFlags & HHWIN_BUTTON_SYNC)
-        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_SYNC);
+        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_SYNC, nStdBitmaps + STD_PRINT);
 
     if (dwButtonFlags & HHWIN_BUTTON_OPTIONS)
-        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_OPTIONS);
+        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_OPTIONS, nStdBitmaps + STD_PRINT);
 
     if (dwButtonFlags & HHWIN_BUTTON_PRINT)
-        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_PRINT);
+        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_PRINT, nStdBitmaps + STD_PRINT);
 
     if (dwButtonFlags & HHWIN_BUTTON_JUMP1)
-        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_JUMP1);
+        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_JUMP1, nStdBitmaps + STD_PRINT);
 
     if (dwButtonFlags & HHWIN_BUTTON_JUMP2)
-        TB_AddButton(pButtons,(*pdwNumButtons)++, IDTB_JUMP2);
+        TB_AddButton(pButtons,(*pdwNumButtons)++, IDTB_JUMP2, nStdBitmaps + STD_PRINT);
 
     if (dwButtonFlags & HHWIN_BUTTON_ZOOM)
-        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_ZOOM);
+        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_ZOOM, nStdBitmaps + STD_PRINT);
 
     if (dwButtonFlags & HHWIN_BUTTON_TOC_NEXT)
-        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_TOC_NEXT);
+        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_TOC_NEXT, nStdBitmaps + STD_PRINT);
 
     if (dwButtonFlags & HHWIN_BUTTON_TOC_PREV)
-        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_TOC_PREV);
+        TB_AddButton(pButtons, (*pdwNumButtons)++, IDTB_TOC_PREV, nStdBitmaps + STD_PRINT);
 }
 
 static BOOL HH_AddToolbar(HHInfo *pHHInfo)
@@ -833,7 +843,6 @@ static BOOL HH_AddToolbar(HHInfo *pHHInfo)
     HWND hwndParent = pHHInfo->WinType.hwndHelp;
     DWORD toolbarFlags;
     TBBUTTON buttons[IDTB_TOC_PREV - IDTB_EXPAND];
-    TBADDBITMAP tbAB;
     DWORD dwStyles, dwExStyles;
     DWORD dwNumButtons, dwIndex;
 
@@ -842,8 +851,6 @@ static BOOL HH_AddToolbar(HHInfo *pHHInfo)
     else
         toolbarFlags = HHWIN_DEF_BUTTONS;
 
-    TB_AddButtonsFromFlags(pHHInfo, buttons, toolbarFlags, &dwNumButtons);
-
     dwStyles = WS_CHILDWINDOW | WS_VISIBLE | TBSTYLE_FLAT |
                TBSTYLE_WRAPABLE | TBSTYLE_TOOLTIPS | CCS_NODIVIDER;
     dwExStyles = WS_EX_LEFT | WS_EX_LTRREADING | WS_EX_RIGHTSCROLLBAR;
@@ -853,15 +860,13 @@ static BOOL HH_AddToolbar(HHInfo *pHHInfo)
                                hhctrl_hinstance, NULL);
     if (!hToolbar)
         return FALSE;
+    pHHInfo->WinType.hwndToolBar = hToolbar;
 
     SendMessageW(hToolbar, TB_SETBITMAPSIZE, 0, MAKELONG(ICON_SIZE, ICON_SIZE));
     SendMessageW(hToolbar, TB_BUTTONSTRUCTSIZE, sizeof(TBBUTTON), 0);
     SendMessageW(hToolbar, WM_SETFONT, (WPARAM)pHHInfo->hFont, TRUE);
 
-    /* FIXME: Load correct icons for all buttons */
-    tbAB.hInst = HINST_COMMCTRL;
-    tbAB.nID = IDB_STD_LARGE_COLOR;
-    SendMessageW(hToolbar, TB_ADDBITMAP, 0, (LPARAM)&tbAB);
+    TB_AddButtonsFromFlags(pHHInfo, buttons, toolbarFlags, &dwNumButtons);
 
     for (dwIndex = 0; dwIndex < dwNumButtons; dwIndex++)
     {
@@ -877,7 +882,6 @@ static BOOL HH_AddToolbar(HHInfo *pHHInfo)
     SendMessageW(hToolbar, TB_AUTOSIZE, 0, 0);
     ShowWindow(hToolbar, SW_SHOW);
 
-    pHHInfo->WinType.hwndToolBar = hToolbar;
     return TRUE;
 }
 




More information about the wine-cvs mailing list