diff --git a/dlls/shdocvw/Makefile.in b/dlls/shdocvw/Makefile.in index fa2b3acf5c2..9e2d8e1d51a 100644 --- a/dlls/shdocvw/Makefile.in +++ b/dlls/shdocvw/Makefile.in @@ -5,7 +5,7 @@ SRCDIR = @srcdir@ VPATH = @srcdir@ MODULE = shdocvw.dll IMPORTLIB = shdocvw -IMPORTS = uuid shell32 shlwapi user32 gdi32 advapi32 +IMPORTS = uuid shell32 comctl32 shlwapi user32 gdi32 advapi32 DELAYIMPORTS = version urlmon ole32 oleaut32 C_SRCS = \ diff --git a/dlls/shdocvw/iexplore.c b/dlls/shdocvw/iexplore.c index b2359ca2e17..52cde1b0276 100644 --- a/dlls/shdocvw/iexplore.c +++ b/dlls/shdocvw/iexplore.c @@ -50,10 +50,19 @@ static const WCHAR wszWineInternetExplorer[] = void adjust_ie_docobj_rect(HWND frame, RECT* rc) { HWND hwndRebar = GetDlgItem(frame, IDC_BROWSE_REBAR); + HWND hwndStatus = GetDlgItem(frame, IDC_BROWSE_STATUSBAR); INT barHeight = SendMessageW(hwndRebar, RB_GETBARHEIGHT, 0, 0); rc->top += barHeight; rc->bottom -= barHeight; + + if(IsWindowVisible(hwndStatus)) + { + RECT statusrc; + + GetClientRect(hwndStatus, &statusrc); + rc->bottom -= statusrc.bottom - statusrc.top; + } } static INT_PTR CALLBACK ie_dialog_open_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) @@ -145,7 +154,12 @@ static void create_rebar(HWND hwnd) static LRESULT iewnd_OnCreate(HWND hwnd, LPCREATESTRUCTW lpcs) { + InternetExplorer* This = (InternetExplorer*)lpcs->lpCreateParams; SetWindowLongPtrW(hwnd, 0, (LONG_PTR) lpcs->lpCreateParams); + + This->status_hwnd = CreateStatusWindowW(CCS_NODIVIDER|WS_CHILD|WS_VISIBLE, NULL, hwnd, IDC_BROWSE_STATUSBAR); + SendMessageW(This->status_hwnd, SB_SIMPLE, TRUE, 0); + create_rebar(hwnd); return 0; @@ -157,6 +171,8 @@ static LRESULT iewnd_OnSize(InternetExplorer *This, INT width, INT height) INT barHeight = SendMessageW(hwndRebar, RB_GETBARHEIGHT, 0, 0); RECT docarea = {0, 0, width, height}; + SendMessageW(This->status_hwnd, WM_SIZE, 0, 0); + adjust_ie_docobj_rect(This->frame_hwnd, &docarea); if(This->doc_host.hwnd) diff --git a/dlls/shdocvw/resource.h b/dlls/shdocvw/resource.h index 7283b71eac5..91e9a1119ac 100644 --- a/dlls/shdocvw/resource.h +++ b/dlls/shdocvw/resource.h @@ -26,6 +26,7 @@ #define IDC_BROWSE_OPEN_URL 1002 #define IDC_BROWSE_REBAR 1003 #define IDC_BROWSE_ADDRESSBAR 1004 +#define IDC_BROWSE_STATUSBAR 1005 #define ID_BROWSE_NEW_WINDOW 275 #define ID_BROWSE_OPEN 256 diff --git a/dlls/shdocvw/shdocvw.h b/dlls/shdocvw/shdocvw.h index 2bdf4362871..151b48b0dba 100644 --- a/dlls/shdocvw/shdocvw.h +++ b/dlls/shdocvw/shdocvw.h @@ -189,6 +189,7 @@ struct InternetExplorer { LONG ref; HWND frame_hwnd; + HWND status_hwnd; DocHost doc_host; };