External function support added.

This commit is contained in:
MusicalProgrammer
2020-03-07 16:05:15 -05:00
parent 47857e3fd1
commit 94b787804d
3 changed files with 53 additions and 62 deletions

16
ax.h
View File

@@ -1,5 +1,6 @@
// AX.H
#include <mshtmhst.h>
#include <string>
// messages
#define AX_QUERYINTERFACE (WM_USER + 1)
@@ -9,6 +10,7 @@
#define AX_DISCONNECTOBJECT (WM_USER + 5)
#define AX_SETDATAADVISE (WM_USER + 6)
#define AX_DOVERB (WM_USER + 7)
#define AX_SETEXTERNALDISP (WM_USER + 8)
// Registration function
@@ -30,7 +32,6 @@ class AXClientSite :
public:
HWND Window;
HWND Parent;
HMENU Menu;
@@ -149,14 +150,13 @@ class AXClientSite :
STDMETHODIMP EnableModeless(BOOL f);
STDMETHODIMP TranslateAccelerator(LPMSG,WORD);
std::wstring m_lastExternalName;
// IDispatch Methods
HRESULT _stdcall GetTypeInfoCount(unsigned int * pctinfo);
HRESULT _stdcall GetTypeInfo(unsigned int iTInfo,LCID lcid,ITypeInfo FAR* FAR* ppTInfo);
HRESULT _stdcall GetIDsOfNames(REFIID riid,OLECHAR FAR* FAR*,unsigned int cNames,LCID lcid,DISPID FAR* );
HRESULT _stdcall Invoke(DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS FAR* pDispParams,VARIANT FAR* pVarResult,EXCEPINFO FAR* pExcepInfo,unsigned int FAR* puArgErr);
// IOleControlSite Methods
};
@@ -187,12 +187,12 @@ class AX
bool AddMenu;
DWORD AdviseToken;
DWORD DAdviseToken[100];
void SetExternalDispatch(IDispatch* externalDisp);
IDispatch* GetExternalDispatch();
private:
IDispatch* m_externalDisp;
CLSID clsid;