00001
00002
00003
00004
00005
00006 #ifndef __FDMCUSTBUTTON_H_
00007 #define __FDMCUSTBUTTON_H_
00008
00009 #include "resource.h"
00010 #include <docobj.h>
00011 #include <exdisp.h>
00012
00013 class ATL_NO_VTABLE CFDMCustButton :
00014 public CComObjectRootEx<CComSingleThreadModel>,
00015 public CComCoClass<CFDMCustButton, &CLSID_FDMCustButton>,
00016 public IFDMCustButton,
00017 public IOleCommandTarget,
00018 public IObjectWithSite
00019 {
00020 public:
00021 CFDMCustButton()
00022 {
00023 }
00024
00025 DECLARE_REGISTRY_RESOURCEID(IDR_FDMCUSTBUTTON)
00026
00027 DECLARE_PROTECT_FINAL_CONSTRUCT()
00028
00029 BEGIN_COM_MAP(CFDMCustButton)
00030 COM_INTERFACE_ENTRY(IFDMCustButton)
00031 COM_INTERFACE_ENTRY(IOleCommandTarget)
00032 COM_INTERFACE_ENTRY(IObjectWithSite)
00033 END_COM_MAP()
00034
00035 public:
00036 protected:
00037 CComPtr <IWebBrowser2> m_spBrowser;
00038
00039 STDMETHOD(GetSite )(REFIID riid, void **ppvSite);
00040 STDMETHOD(SetSite )(IUnknown *pUnkSite);
00041 STDMETHOD(Exec )(const GUID *pCmdGroup, DWORD nCmdID, DWORD nCmdExecOpt, VARIANTARG *pvaIn, VARIANTARG *pvaOut);
00042 STDMETHOD(QueryStatus) (const GUID* pCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT* pCmdText);
00043 };
00044
00045 #endif