Module: wine Branch: master Commit: 87f4e436ebb9ac10dac8369d1daf2bcde0d4b908 URL: http://source.winehq.org/git/wine.git/?a=commit;h=87f4e436ebb9ac10dac8369d1d...
Author: Alexander Nicolaysen Sørnes alex@thehandofagony.com Date: Mon Jun 21 00:49:59 2010 +0200
shdocvw: Allow printing from the menubar in IE.
---
dlls/shdocvw/iexplore.c | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/dlls/shdocvw/iexplore.c b/dlls/shdocvw/iexplore.c index 10292db..b473d41 100644 --- a/dlls/shdocvw/iexplore.c +++ b/dlls/shdocvw/iexplore.c @@ -32,6 +32,7 @@ #include "oleidl.h"
#include "shdocvw.h" +#include "mshtmcid.h"
#include "wine/debug.h"
@@ -66,6 +67,30 @@ static LRESULT iewnd_OnDestroy(InternetExplorer *This) return 0; }
+static LRESULT CALLBACK iewnd_OnCommand(InternetExplorer *This, HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) +{ + switch(LOWORD(wparam)) + { + case ID_BROWSE_PRINT: + if(This->doc_host.document) + { + IOleCommandTarget* target; + + if(FAILED(IUnknown_QueryInterface(This->doc_host.document, &IID_IOleCommandTarget, (LPVOID*)&target))) + break; + + IOleCommandTarget_Exec(target, &CGID_MSHTML, IDM_PRINT, OLECMDEXECOPT_DODEFAULT, NULL, NULL); + + IOleCommandTarget_Release(target); + } + break; + + default: + return DefWindowProcW(hwnd, msg, wparam, lparam); + } + return 0; +} + static LRESULT CALLBACK ie_window_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { @@ -79,6 +104,8 @@ ie_window_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) return iewnd_OnDestroy(This); case WM_SIZE: return iewnd_OnSize(This, LOWORD(lparam), HIWORD(lparam)); + case WM_COMMAND: + return iewnd_OnCommand(This, hwnd, msg, wparam, lparam); case WM_DOCHOSTTASK: return process_dochost_task(&This->doc_host, lparam); }