|
|
#pragma once
/*
* h o t w i z u i . h * * Purpose: * * History * * Copyright (C) Microsoft Corp. 1995, 1996. */
interface IHotWizard; interface IHotWizardHost; interface IElementBehaviorFactory; interface IDocHostUIHandler;
#define HWM_SETDIRTY (WM_USER + 1)
class CHotMailWizard : public IServiceProvider, public IElementBehaviorFactory, public IDocHostUIHandler, public IHotWizard { public:
CHotMailWizard(); virtual ~CHotMailWizard();
// IUnknown methods
virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, LPVOID FAR *); virtual ULONG STDMETHODCALLTYPE AddRef(); virtual ULONG STDMETHODCALLTYPE Release();
// IServiceProvider
virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, LPVOID *ppvObject);
// IElementBehaviorFactory
virtual HRESULT STDMETHODCALLTYPE FindBehavior(LPOLESTR pchBehavior, LPOLESTR pchBehaviorUrl, IElementBehaviorSite* pSite, IElementBehavior** ppBehavior);
// IDocHostUIHandler methods
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(); virtual HRESULT STDMETHODCALLTYPE UpdateUI(); virtual HRESULT STDMETHODCALLTYPE EnableModeless(BOOL fActivate); 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);
// IHotWizard
virtual HRESULT STDMETHODCALLTYPE Show(HWND hwndOwner, LPWSTR pszUrl, LPWSTR pszCaption, IHotWizardHost *pHost, RECT *prc);
static INT_PTR CALLBACK ExtDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
HRESULT Init(); HRESULT Show(); HRESULT TranslateAccelerator(MSG *lpmsg);
private: ULONG m_cRef; HWND m_hwnd, m_hwndOC, m_hwndOwner; BOOL m_fPrompt; RECT *m_prc; IElementBehavior *m_pXTag; IHotWizardHost *m_pWizHost; LPWSTR m_pszUrlW, m_pszFriendlyW;
HRESULT _CreateOCHost(); HRESULT _OnInitDialog(HWND hwnd); HRESULT _OnNCDestroy(); HRESULT _LoadPage(LPWSTR pszUrlW);
BOOL _DlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); };
|