ax.cpp has more functions now for us to play with

This commit is contained in:
MusicalProgrammer
2020-03-07 12:57:30 -05:00
parent e419a4edcd
commit 47857e3fd1
2 changed files with 144 additions and 6 deletions

83
ax.cpp
View File

@@ -26,6 +26,76 @@ AXClientSite :: ~AXClientSite()
} }
STDMETHODIMP AXClientSite :: ShowContextMenu(DWORD dwID, POINT *ppt, IUnknown *pcmdtReserved, IDispatch *pdispReserved)
{
return E_NOTIMPL;
}
STDMETHODIMP AXClientSite :: GetHostInfo(DOCHOSTUIINFO *pInfo)
{
return E_NOTIMPL;
}
STDMETHODIMP AXClientSite :: ShowUI( DWORD dwID, IOleInPlaceActiveObject *pActiveObject, IOleCommandTarget *pCommandTarget, IOleInPlaceFrame *pFrame, IOleInPlaceUIWindow *pDoc)
{
return E_NOTIMPL;
}
STDMETHODIMP AXClientSite :: HideUI( void)
{
return E_NOTIMPL;
}
STDMETHODIMP AXClientSite :: UpdateUI( void)
{
return E_NOTIMPL;
}
STDMETHODIMP AXClientSite :: OnDocWindowActivate(BOOL fActivate)
{
return E_NOTIMPL;
}
STDMETHODIMP AXClientSite :: OnFrameWindowActivate(BOOL fActivate)
{
return E_NOTIMPL;
}
STDMETHODIMP AXClientSite :: ResizeBorder( LPCRECT prcBorder, IOleInPlaceUIWindow *pUIWindow, BOOL fRameWindow)
{
return E_NOTIMPL;
}
STDMETHODIMP AXClientSite :: TranslateAccelerator( LPMSG lpMsg, const GUID *pguidCmdGroup, DWORD nCmdID)
{
return E_NOTIMPL;
}
STDMETHODIMP AXClientSite :: GetOptionKeyPath( LPOLESTR *pchKey, DWORD dw)
{
return E_NOTIMPL;
}
STDMETHODIMP AXClientSite :: GetDropTarget( IDropTarget *pDropTarget, IDropTarget **ppDropTarget)
{
return E_NOTIMPL;
}
STDMETHODIMP AXClientSite :: GetExternal(IDispatch **ppDispatch)
{
return E_NOTIMPL;
}
STDMETHODIMP AXClientSite ::TranslateUrl( DWORD dwTranslate, OLECHAR *pchURLIn, OLECHAR **ppchURLOut)
{
return E_NOTIMPL;
}
STDMETHODIMP AXClientSite :: FilterDataObject( IDataObject *pDO, IDataObject **ppDORet)
{
return E_NOTIMPL;
}
// IUnknown methods // IUnknown methods
STDMETHODIMP AXClientSite :: QueryInterface(REFIID iid,void**ppvObject) STDMETHODIMP AXClientSite :: QueryInterface(REFIID iid,void**ppvObject)
{ {
@@ -46,6 +116,8 @@ STDMETHODIMP AXClientSite :: QueryInterface(REFIID iid,void**ppvObject)
*ppvObject = (IOleInPlaceFrame*)this; *ppvObject = (IOleInPlaceFrame*)this;
if (iid == IID_IOleInPlaceUIWindow) if (iid == IID_IOleInPlaceUIWindow)
*ppvObject = (IOleInPlaceUIWindow*)this; *ppvObject = (IOleInPlaceUIWindow*)this;
if (iid == IID_IDocHostUIHandler)
*ppvObject = (IDocHostUIHandler*)this;
} }
//* Log Call //* Log Call
@@ -251,14 +323,20 @@ HRESULT _stdcall AXClientSite :: GetTypeInfoCount(
HRESULT _stdcall AXClientSite :: GetTypeInfo( HRESULT _stdcall AXClientSite :: GetTypeInfo(
unsigned int iTInfo, unsigned int iTInfo,
LCID lcid, LCID lcid,
ITypeInfo FAR* FAR* ppTInfo) {return E_NOTIMPL;} ITypeInfo FAR* FAR* ppTInfo)
{
return E_NOTIMPL;
}
HRESULT _stdcall AXClientSite :: GetIDsOfNames( HRESULT _stdcall AXClientSite :: GetIDsOfNames(
REFIID riid, REFIID riid,
OLECHAR FAR* FAR*, OLECHAR FAR* FAR*,
unsigned int cNames, unsigned int cNames,
LCID lcid, LCID lcid,
DISPID FAR* ) {return E_NOTIMPL;} DISPID FAR* )
{
return E_NOTIMPL;
}
// Other Methods // Other Methods
@@ -277,6 +355,7 @@ void AX :: Init(char* cls)
AdviseToken = 0; AdviseToken = 0;
memset(DAdviseToken,0,sizeof(DAdviseToken)); memset(DAdviseToken,0,sizeof(DAdviseToken));
Site.ax = this; Site.ax = this;
} }
AX :: AX(char* cls) AX :: AX(char* cls)

61
ax.h
View File

@@ -1,4 +1,5 @@
// AX.H // AX.H
#include <mshtmhst.h>
// messages // messages
#define AX_QUERYINTERFACE (WM_USER + 1) #define AX_QUERYINTERFACE (WM_USER + 1)
@@ -20,7 +21,8 @@ class AXClientSite :
public IDispatch, public IDispatch,
public IAdviseSink, public IAdviseSink,
public IOleInPlaceSite, public IOleInPlaceSite,
public IOleInPlaceFrame public IOleInPlaceFrame,
public IDocHostUIHandler
{ {
protected: protected:
@@ -56,6 +58,63 @@ class AXClientSite :
STDMETHODIMP OnShowWindow(BOOL f); STDMETHODIMP OnShowWindow(BOOL f);
STDMETHODIMP RequestNewObjectLayout(); STDMETHODIMP RequestNewObjectLayout();
// IDDocHandler methods
STDMETHODIMP ShowContextMenu(
/* [in] */ DWORD dwID,
/* [in] */ POINT *ppt,
/* [in] */ IUnknown *pcmdtReserved,
/* [in] */ IDispatch *pdispReserved);
STDMETHODIMP GetHostInfo(
/* [out][in] */ DOCHOSTUIINFO *pInfo);
STDMETHODIMP ShowUI(
/* [in] */ DWORD dwID,
/* [in] */ IOleInPlaceActiveObject *pActiveObject,
/* [in] */ IOleCommandTarget *pCommandTarget,
/* [in] */ IOleInPlaceFrame *pFrame,
/* [in] */ IOleInPlaceUIWindow *pDoc);
STDMETHODIMP HideUI( void);
STDMETHODIMP UpdateUI( void);
STDMETHODIMP OnDocWindowActivate(
/* [in] */ BOOL fActivate);
STDMETHODIMP OnFrameWindowActivate(
/* [in] */ BOOL fActivate);
STDMETHODIMP ResizeBorder(
/* [in] */ LPCRECT prcBorder,
/* [in] */ IOleInPlaceUIWindow *pUIWindow,
/* [in] */ BOOL fRameWindow);
STDMETHODIMP TranslateAccelerator(
/* [in] */ LPMSG lpMsg,
/* [in] */ const GUID *pguidCmdGroup,
/* [in] */ DWORD nCmdID);
STDMETHODIMP GetOptionKeyPath(
/* [out] */ LPOLESTR *pchKey,
/* [in] */ DWORD dw);
STDMETHODIMP GetDropTarget(
/* [in] */ IDropTarget *pDropTarget,
/* [out] */ IDropTarget **ppDropTarget);
STDMETHODIMP GetExternal(
/* [out] */ IDispatch **ppDispatch);
STDMETHODIMP TranslateUrl(
/* [in] */ DWORD dwTranslate,
/* [in] */ OLECHAR *pchURLIn,
/* [out] */ OLECHAR **ppchURLOut);
STDMETHODIMP FilterDataObject(
/* [in] */ IDataObject *pDO,
/* [out] */ IDataObject **ppDORet);
// IAdviseSink methods // IAdviseSink methods
STDMETHODIMP_(void) OnDataChange(FORMATETC *pFormatEtc,STGMEDIUM *pStgmed); STDMETHODIMP_(void) OnDataChange(FORMATETC *pFormatEtc,STGMEDIUM *pStgmed);