Windows2003-3790/inetcore/outlookexpress/msoeacct/hotwizui.h
2020-09-30 16:53:55 +02:00

88 lines
3.4 KiB
C++

#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);
};