Skip to content

Commit

Permalink
消除窗口 3D 边框
Browse files Browse the repository at this point in the history
  • Loading branch information
xicilion committed Nov 14, 2016
1 parent d0329ac commit 443d8e0
Show file tree
Hide file tree
Showing 2 changed files with 109 additions and 0 deletions.
84 changes: 84 additions & 0 deletions fibjs/src/gui/windows/WebView.cpp
Expand Up @@ -304,6 +304,8 @@ HRESULT WebView::QueryInterface(REFIID riid, void**ppvObject)
*ppvObject = static_cast<IOleClientSite*>(this);
else if (riid == IID_IOleInPlaceSite)
*ppvObject = static_cast<IOleInPlaceSite*>(this);
else if (riid == IID_IDocHostUIHandler)
*ppvObject = static_cast<IDocHostUIHandler*>(this);
else if (riid == IID_IStorage)
*ppvObject = static_cast<IStorage*>(this);
else if (riid == IID_IServiceProvider)
Expand Down Expand Up @@ -470,6 +472,88 @@ HRESULT WebView::RequestNewObjectLayout(void)
return E_NOTIMPL;
}

// IDocHostUIHandler
HRESULT WebView::ShowContextMenu(DWORD dwID, POINT * ppt, IUnknown * pcmdtReserved,
IDispatch * pdispReserved)
{
return E_NOTIMPL;
}

HRESULT WebView::GetHostInfo(DOCHOSTUIINFO * pInfo)
{
if (pInfo != NULL)
pInfo->dwFlags |= DOCHOSTUIFLAG_SCROLL_NO | DOCHOSTUIFLAG_NO3DBORDER;

return S_OK;
}

HRESULT WebView::ShowUI(DWORD dwID, IOleInPlaceActiveObject * pActiveObject,
IOleCommandTarget * pCommandTarget, IOleInPlaceFrame * pFrame,
IOleInPlaceUIWindow * pDoc)
{
return E_NOTIMPL;
}

HRESULT WebView::HideUI(void)
{
return E_NOTIMPL;
}

HRESULT WebView::UpdateUI(void)
{
return E_NOTIMPL;
}

HRESULT WebView::EnableModeless(BOOL fEnable)
{
return E_NOTIMPL;
}

HRESULT WebView::OnDocWindowActivate(BOOL fActivate)
{
return E_NOTIMPL;
}

HRESULT WebView::OnFrameWindowActivate(BOOL fActivate)
{
return E_NOTIMPL;
}

HRESULT WebView::ResizeBorder(LPCRECT prcBorder, IOleInPlaceUIWindow * pUIWindow, BOOL fRameWindow)
{
return E_NOTIMPL;
}

HRESULT WebView::TranslateAccelerator(LPMSG lpMsg, const GUID * pguidCmdGroup, DWORD nCmdID)
{
return E_NOTIMPL;
}

HRESULT WebView::GetOptionKeyPath(LPOLESTR * pchKey, DWORD dw)
{
return E_NOTIMPL;
}

HRESULT WebView::GetDropTarget(IDropTarget * pDropTarget, IDropTarget ** ppDropTarget)
{
return E_NOTIMPL;
}

HRESULT WebView::GetExternal(IDispatch ** ppDispatch)
{
return E_NOTIMPL;
}

HRESULT WebView::TranslateUrl(DWORD dwTranslate, OLECHAR * pchURLIn, OLECHAR ** ppchURLOut)
{
return E_NOTIMPL;
}

HRESULT WebView::FilterDataObject(IDataObject * pDO, IDataObject ** ppDORet)
{
return E_NOTIMPL;
}

// IStorage
HRESULT WebView::CreateStream(const OLECHAR* pwcsName, DWORD grfMode, DWORD reserved1,
DWORD reserved2, IStream **ppstm)
Expand Down
25 changes: 25 additions & 0 deletions fibjs/src/gui/windows/WebView.h
Expand Up @@ -8,6 +8,7 @@
#include "ifs/WebView.h"
#include <comdef.h>
#include <Exdisp.h>
#include <mshtmhst.h>

#ifndef WEBVIEW_H_
#define WEBVIEW_H_
Expand All @@ -18,6 +19,7 @@ namespace fibjs
class WebView : public WebView_base,
public IOleClientSite,
public IOleInPlaceSite,
public IDocHostUIHandler,
public IStorage,
public IServiceProvider,
public IInternetSecurityManager
Expand Down Expand Up @@ -83,6 +85,29 @@ class WebView : public WebView_base,
virtual HRESULT STDMETHODCALLTYPE OnShowWindow(BOOL fShow);
virtual HRESULT STDMETHODCALLTYPE RequestNewObjectLayout(void);

public:
// IDocHostUIHandler
virtual HRESULT STDMETHODCALLTYPE ShowContextMenu(DWORD dwID, POINT* ppt, IUnknown* pcmdtReserved,
IDispatch* pdispReserved);
virtual HRESULT STDMETHODCALLTYPE GetHostInfo(DOCHOSTUIINFO* pInfo);
virtual HRESULT STDMETHODCALLTYPE ShowUI(DWORD dwID, IOleInPlaceActiveObject* pActiveObject,
IOleCommandTarget* pCommandTarget, IOleInPlaceFrame* pFrame,
IOleInPlaceUIWindow* pDoc);
virtual HRESULT STDMETHODCALLTYPE HideUI(void);
virtual HRESULT STDMETHODCALLTYPE UpdateUI(void);
virtual HRESULT STDMETHODCALLTYPE EnableModeless(BOOL fEnable);
virtual HRESULT STDMETHODCALLTYPE OnDocWindowActivate(BOOL fActivate);
virtual HRESULT STDMETHODCALLTYPE OnFrameWindowActivate(BOOL fActivate);
virtual HRESULT STDMETHODCALLTYPE ResizeBorder(LPCRECT prcBorder, IOleInPlaceUIWindow* pUIWindow,
BOOL fRameWindow);
virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(LPMSG lpMsg, const GUID* pguidCmdGroup,
DWORD nCmdID);
virtual HRESULT STDMETHODCALLTYPE GetOptionKeyPath(LPOLESTR* pchKey, DWORD dw);
virtual HRESULT STDMETHODCALLTYPE GetDropTarget(IDropTarget* pDropTarget, IDropTarget** ppDropTarget);
virtual HRESULT STDMETHODCALLTYPE GetExternal(IDispatch** ppDispatch);
virtual HRESULT STDMETHODCALLTYPE TranslateUrl(DWORD dwTranslate, OLECHAR* pchURLIn, OLECHAR** ppchURLOut);
virtual HRESULT STDMETHODCALLTYPE FilterDataObject(IDataObject* pDO, IDataObject** ppDORet);

public:
// IStorage
virtual HRESULT STDMETHODCALLTYPE CreateStream(const OLECHAR *pwcsName,
Expand Down

0 comments on commit 443d8e0

Please sign in to comment.