Commit f2802b98 authored by Alexander Nicolaysen Sørnes's avatar Alexander Nicolaysen Sørnes Committed by Alexandre Julliard

shdocvw: Add menu bar to Internet Explorer.

parent 93f9b4e1
/*
* Copyright 2010 Alexander N. Sørnes <alex@thehandofagony.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "resource.h"
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
IDR_BROWSE_MAIN_MENU MENU
{
POPUP "&File"
{
POPUP "&New"
{
MENUITEM "&Window" ID_BROWSE_NEW_WINDOW
}
MENUITEM "&Open...", ID_BROWSE_OPEN
MENUITEM "&Save", ID_BROWSE_SAVE
MENUITEM "Save &as...", ID_BROWSE_SAVE_AS
MENUITEM SEPARATOR
MENUITEM "Print &format...", ID_BROWSE_PRINT_FORMAT
MENUITEM "Pr&int...", ID_BROWSE_PRINT
MENUITEM "Print previe&w...", ID_BROWSE_PRINT_PREVIEW
MENUITEM SEPARATOR
MENUITEM "&Properties...", ID_BROWSE_PROPERTIES
}
POPUP "&Help"
{
MENUITEM "&About Internet Explorer...", ID_BROWSE_ABOUT
}
}
......@@ -28,7 +28,10 @@ C_SRCS = \
view.c \
webbrowser.c
RC_SRCS = shdocvw.rc
RC_SRCS = \
En.rc \
shdocvw.rc
IDL_TLB_SRCS = shdocvw_v1.idl
@MAKE_DLL_RULES@
......@@ -422,8 +422,25 @@ static HRESULT WINAPI InternetExplorer_get_MenuBar(IWebBrowser2 *iface, VARIANT_
static HRESULT WINAPI InternetExplorer_put_MenuBar(IWebBrowser2 *iface, VARIANT_BOOL Value)
{
InternetExplorer *This = WEBBROWSER_THIS(iface);
FIXME("(%p)->(%x)\n", This, Value);
return E_NOTIMPL;
HMENU menu = NULL;
TRACE("(%p)->(%x)\n", This, Value);
if((menu = GetMenu(This->frame_hwnd)))
DestroyMenu(menu);
menu = NULL;
if(Value)
menu = LoadMenuW(shdocvw_hinstance, MAKEINTRESOURCEW(IDR_BROWSE_MAIN_MENU));
if(!SetMenu(This->frame_hwnd, menu))
{
DestroyMenu(menu);
return HRESULT_FROM_WIN32(GetLastError());
}
return S_OK;
}
static HRESULT WINAPI InternetExplorer_get_FullScreen(IWebBrowser2 *iface, VARIANT_BOOL *pbFullScreen)
......
......@@ -136,6 +136,7 @@ static IWebBrowser2 *create_ie_window(LPCSTR cmdline)
return NULL;
IWebBrowser2_put_Visible(wb, VARIANT_TRUE);
IWebBrowser2_put_MenuBar(wb, VARIANT_TRUE);
if(!*cmdline) {
IWebBrowser2_GoHome(wb);
......
/*
* Resource identifiers for shdocvw.dll
*
* Copyright 2010 Alexander N. Sørnes <alex@thehandofagony.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include <windef.h>
#define IDR_BROWSE_MAIN_MENU 1000
#define ID_BROWSE_NEW_WINDOW 275
#define ID_BROWSE_OPEN 256
#define ID_BROWSE_SAVE 257
#define ID_BROWSE_SAVE_AS 258
#define ID_BROWSE_PRINT_FORMAT 259
#define ID_BROWSE_PRINT 260
#define ID_BROWSE_PRINT_PREVIEW 277
#define ID_BROWSE_PROPERTIES 262
#define ID_BROWSE_ABOUT 336
......@@ -40,6 +40,8 @@
#include "htiframe.h"
#include "wine/unicode.h"
#include "resource.h"
/**********************************************************************
* Shell Instance Objects
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment