Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
3.4 KiB

  1. #pragma once
  2. /*
  3. * h o t w i z u i . h
  4. *
  5. * Purpose:
  6. *
  7. * History
  8. *
  9. * Copyright (C) Microsoft Corp. 1995, 1996.
  10. */
  11. interface IHotWizard;
  12. interface IHotWizardHost;
  13. interface IElementBehaviorFactory;
  14. interface IDocHostUIHandler;
  15. #define HWM_SETDIRTY (WM_USER + 1)
  16. class CHotMailWizard :
  17. public IServiceProvider,
  18. public IElementBehaviorFactory,
  19. public IDocHostUIHandler,
  20. public IHotWizard
  21. {
  22. public:
  23. CHotMailWizard();
  24. virtual ~CHotMailWizard();
  25. // IUnknown methods
  26. virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, LPVOID FAR *);
  27. virtual ULONG STDMETHODCALLTYPE AddRef();
  28. virtual ULONG STDMETHODCALLTYPE Release();
  29. // IServiceProvider
  30. virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, LPVOID *ppvObject);
  31. // IElementBehaviorFactory
  32. virtual HRESULT STDMETHODCALLTYPE FindBehavior(LPOLESTR pchBehavior, LPOLESTR pchBehaviorUrl, IElementBehaviorSite* pSite, IElementBehavior** ppBehavior);
  33. // IDocHostUIHandler methods
  34. virtual HRESULT STDMETHODCALLTYPE ShowContextMenu(DWORD dwID, POINT *ppt, IUnknown *pcmdtReserved, IDispatch *pdispReserved);
  35. virtual HRESULT STDMETHODCALLTYPE GetHostInfo(DOCHOSTUIINFO *pInfo);
  36. virtual HRESULT STDMETHODCALLTYPE ShowUI(DWORD dwID, IOleInPlaceActiveObject *pActiveObject, IOleCommandTarget *pCommandTarget, IOleInPlaceFrame *pFrame, IOleInPlaceUIWindow *pDoc);
  37. virtual HRESULT STDMETHODCALLTYPE HideUI();
  38. virtual HRESULT STDMETHODCALLTYPE UpdateUI();
  39. virtual HRESULT STDMETHODCALLTYPE EnableModeless(BOOL fActivate);
  40. virtual HRESULT STDMETHODCALLTYPE OnDocWindowActivate(BOOL fActivate);
  41. virtual HRESULT STDMETHODCALLTYPE OnFrameWindowActivate(BOOL fActivate);
  42. virtual HRESULT STDMETHODCALLTYPE ResizeBorder(LPCRECT prcBorder, IOleInPlaceUIWindow *pUIWindow, BOOL fRameWindow);
  43. virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(LPMSG lpMsg, const GUID *pguidCmdGroup, DWORD nCmdID);
  44. virtual HRESULT STDMETHODCALLTYPE GetOptionKeyPath(LPOLESTR *pchKey, DWORD dw);
  45. virtual HRESULT STDMETHODCALLTYPE GetDropTarget(IDropTarget *pDropTarget, IDropTarget **ppDropTarget);
  46. virtual HRESULT STDMETHODCALLTYPE GetExternal(IDispatch **ppDispatch);
  47. virtual HRESULT STDMETHODCALLTYPE TranslateUrl(DWORD dwTranslate, OLECHAR *pchURLIn, OLECHAR **ppchURLOut);
  48. virtual HRESULT STDMETHODCALLTYPE FilterDataObject( IDataObject *pDO, IDataObject **ppDORet);
  49. // IHotWizard
  50. virtual HRESULT STDMETHODCALLTYPE Show(HWND hwndOwner, LPWSTR pszUrl, LPWSTR pszCaption, IHotWizardHost *pHost, RECT *prc);
  51. static INT_PTR CALLBACK ExtDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  52. HRESULT Init();
  53. HRESULT Show();
  54. HRESULT TranslateAccelerator(MSG *lpmsg);
  55. private:
  56. ULONG m_cRef;
  57. HWND m_hwnd,
  58. m_hwndOC,
  59. m_hwndOwner;
  60. BOOL m_fPrompt;
  61. RECT *m_prc;
  62. IElementBehavior *m_pXTag;
  63. IHotWizardHost *m_pWizHost;
  64. LPWSTR m_pszUrlW,
  65. m_pszFriendlyW;
  66. HRESULT _CreateOCHost();
  67. HRESULT _OnInitDialog(HWND hwnd);
  68. HRESULT _OnNCDestroy();
  69. HRESULT _LoadPage(LPWSTR pszUrlW);
  70. BOOL _DlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  71. };