Alexander Nicolaysen Sørnes : shdocvw: Add icons to the IE toolbar.
Alexandre Julliard
julliard at winehq.org
Tue Aug 3 13:10:37 CDT 2010
Module: wine
Branch: master
Commit: 4432f57e35b6bc59f652d79be0904e356a5b25fb
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4432f57e35b6bc59f652d79be0904e356a5b25fb
Author: Alexander Nicolaysen Sørnes <alex at thehandofagony.com>
Date: Fri Jul 9 19:15:51 2010 +0200
shdocvw: Add icons to the IE toolbar.
---
dlls/shdocvw/ietoolbar.bmp | Bin 0 -> 3170 bytes
dlls/shdocvw/iexplore.c | 26 ++++++++++++++++++--------
dlls/shdocvw/resource.h | 1 +
dlls/shdocvw/shdocvw.rc | 3 +++
4 files changed, 22 insertions(+), 8 deletions(-)
diff --git a/dlls/shdocvw/ietoolbar.bmp b/dlls/shdocvw/ietoolbar.bmp
new file mode 100644
index 0000000..b76d50e
Binary files /dev/null and b/dlls/shdocvw/ietoolbar.bmp differ
diff --git a/dlls/shdocvw/iexplore.c b/dlls/shdocvw/iexplore.c
index 9144e85..c4d545b 100644
--- a/dlls/shdocvw/iexplore.c
+++ b/dlls/shdocvw/iexplore.c
@@ -355,6 +355,8 @@ static void create_rebar(HWND hwnd)
REBARINFO rebarinf;
REBARBANDINFOW bandinf;
WCHAR addr[] = {'A','d','d','r','e','s','s',0};
+ HIMAGELIST imagelist;
+ WCHAR idb_ietoolbar[] = {'I','D','B','_','I','E','T','O','O','L','B','A','R',0};
hwndRebar = CreateWindowExW(WS_EX_TOOLWINDOW, REBARCLASSNAMEW, NULL, WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS|WS_CLIPCHILDREN|RBS_VARHEIGHT|CCS_TOP|CCS_NODIVIDER, 0, 0, 0, 0, hwnd, (HMENU)IDC_BROWSE_REBAR, shdocvw_hinstance, NULL);
@@ -367,22 +369,25 @@ static void create_rebar(HWND hwnd)
hwndToolbar = CreateWindowExW(TBSTYLE_EX_MIXEDBUTTONS, TOOLBARCLASSNAMEW, NULL, TBSTYLE_FLAT | WS_CHILD | WS_VISIBLE, 0, 0, 0, 0, hwndRebar, (HMENU)IDC_BROWSE_TOOLBAR, shdocvw_hinstance, NULL);
+ imagelist = ImageList_LoadImageW(shdocvw_hinstance, idb_ietoolbar, 32, 0, RGB(255,0,255), IMAGE_BITMAP, LR_DEFAULTCOLOR);
+
+ SendMessageW(hwndToolbar, TB_SETIMAGELIST, 0, (LPARAM)imagelist);
SendMessageW(hwndToolbar, TB_BUTTONSTRUCTSIZE, sizeof(TBBUTTON), 0);
- add_tb_button(hwndToolbar, I_IMAGENONE, 0, IDS_TB_BACK);
- add_tb_button(hwndToolbar, I_IMAGENONE, 0, IDS_TB_FORWARD);
- add_tb_button(hwndToolbar, I_IMAGENONE, 0, IDS_TB_STOP);
- add_tb_button(hwndToolbar, I_IMAGENONE, 0, IDS_TB_REFRESH);
- add_tb_button(hwndToolbar, I_IMAGENONE, ID_BROWSE_HOME, IDS_TB_HOME);
+ add_tb_button(hwndToolbar, 0, 0, IDS_TB_BACK);
+ add_tb_button(hwndToolbar, 1, 0, IDS_TB_FORWARD);
+ add_tb_button(hwndToolbar, 2, 0, IDS_TB_STOP);
+ add_tb_button(hwndToolbar, 3, 0, IDS_TB_REFRESH);
+ add_tb_button(hwndToolbar, 4, ID_BROWSE_HOME, IDS_TB_HOME);
add_tb_separator(hwndToolbar);
- add_tb_button(hwndToolbar, I_IMAGENONE, ID_BROWSE_PRINT, IDS_TB_PRINT);
- SendMessageW(hwndToolbar, TB_SETBUTTONSIZE, 0, MAKELPARAM(50,40));
+ add_tb_button(hwndToolbar, 5, ID_BROWSE_PRINT, IDS_TB_PRINT);
+ SendMessageW(hwndToolbar, TB_SETBUTTONSIZE, 0, MAKELPARAM(55,50));
SendMessageW(hwndToolbar, TB_AUTOSIZE, 0, 0);
bandinf.cbSize = sizeof(bandinf);
bandinf.fMask = RBBIM_STYLE | RBBIM_CHILD | RBBIM_CHILDSIZE | RBBIM_SIZE;
bandinf.fStyle = RBBS_CHILDEDGE;
bandinf.cx = 100;
- bandinf.cyMinChild = 42;
+ bandinf.cyMinChild = 52;
bandinf.hwndChild = hwndToolbar;
SendMessageW(hwndRebar, RB_INSERTBANDW, -1, (LPARAM)&bandinf);
@@ -460,9 +465,14 @@ static LRESULT iewnd_OnNotify(InternetExplorer *This, WPARAM wparam, LPARAM lpar
static LRESULT iewnd_OnDestroy(InternetExplorer *This)
{
+ HWND hwndRebar = GetDlgItem(This->frame_hwnd, IDC_BROWSE_REBAR);
+ HWND hwndToolbar = GetDlgItem(hwndRebar, IDC_BROWSE_TOOLBAR);
+ HIMAGELIST list = (HIMAGELIST)SendMessageW(hwndToolbar, TB_GETIMAGELIST, 0, 0);
+
TRACE("%p\n", This);
free_fav_menu_data(get_fav_menu(This->menu));
+ ImageList_Destroy(list);
This->frame_hwnd = NULL;
PostQuitMessage(0); /* FIXME */
diff --git a/dlls/shdocvw/resource.h b/dlls/shdocvw/resource.h
index 853538f..11b710d 100644
--- a/dlls/shdocvw/resource.h
+++ b/dlls/shdocvw/resource.h
@@ -28,6 +28,7 @@
#define IDC_BROWSE_ADDRESSBAR 1004
#define IDC_BROWSE_STATUSBAR 1005
#define IDC_BROWSE_TOOLBAR 1006
+#define IDB_IETOOLBAR 1007
#define ID_BROWSE_NEW_WINDOW 275
#define ID_BROWSE_OPEN 256
diff --git a/dlls/shdocvw/shdocvw.rc b/dlls/shdocvw/shdocvw.rc
index 9872c23..08d9ebc 100644
--- a/dlls/shdocvw/shdocvw.rc
+++ b/dlls/shdocvw/shdocvw.rc
@@ -33,3 +33,6 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
/* @makedep: shdocvw.inf */
REGINST REGINST shdocvw.inf
+
+/* @makedep: ietoolbar.bmp */
+IDB_IETOOLBAR BITMAP ietoolbar.bmp
More information about the wine-cvs
mailing list