Source code of Windows XP (NT5)
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.

93 lines
2.5 KiB

  1. //+--------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1994 - 1998.
  5. //
  6. // File: RichEditCallback.hxx
  7. //
  8. // Contents: Declaration of class that implements IRichEditOleCallback
  9. //
  10. // Classes: CRichEditOleCallback
  11. //
  12. // History: 03-23-2000 davidmun Created
  13. //
  14. //---------------------------------------------------------------------------
  15. #ifndef __RichEditCallback_hxx_
  16. #define __RichEditCallback_hxx_
  17. //+--------------------------------------------------------------------------
  18. //
  19. // Class: CRichEditOleCallback
  20. //
  21. // Purpose: Implement IRichEditOleCallback
  22. //
  23. // History: 5-21-1999 davidmun Created
  24. //
  25. //---------------------------------------------------------------------------
  26. class CRichEditOleCallback: public IRichEditOleCallback
  27. {
  28. public:
  29. //
  30. // IUnknown overrides
  31. //
  32. STDMETHOD(QueryInterface) (REFIID riid, LPVOID FAR* ppvObj);
  33. STDMETHOD_(ULONG, AddRef) ();
  34. STDMETHOD_(ULONG, Release) ();
  35. //
  36. // IRichEditOleCallback overrides
  37. //
  38. STDMETHOD(GetNewStorage) (LPSTORAGE * lplpstg);
  39. STDMETHOD(GetInPlaceContext) (LPOLEINPLACEFRAME * lplpFrame,
  40. LPOLEINPLACEUIWINDOW * lplpDoc,
  41. LPOLEINPLACEFRAMEINFO lpFrameInfo);
  42. STDMETHOD(ShowContainerUI) (BOOL fShow);
  43. STDMETHOD(QueryInsertObject) (LPCLSID lpclsid, LPSTORAGE lpstg,
  44. LONG cp);
  45. STDMETHOD(DeleteObject) (LPOLEOBJECT lpoleobj);
  46. STDMETHOD(QueryAcceptData) (LPDATAOBJECT lpdataobj,
  47. CLIPFORMAT * lpcfFormat, DWORD reco,
  48. BOOL fReally, HGLOBAL hMetaPict);
  49. STDMETHOD(ContextSensitiveHelp) (BOOL fEnterMode);
  50. STDMETHOD(GetClipboardData) (CHARRANGE * lpchrg, DWORD reco,
  51. LPDATAOBJECT * lplpdataobj);
  52. STDMETHOD(GetDragDropEffect) (BOOL fDrag, DWORD grfKeyState,
  53. LPDWORD pdwEffect);
  54. STDMETHOD(GetContextMenu) (WORD seltype, LPOLEOBJECT lpoleobj,
  55. CHARRANGE * lpchrg,
  56. HMENU * lphmenu);
  57. //
  58. // Non-interface methods
  59. //
  60. CRichEditOleCallback(
  61. HWND m_hwndRichEdit);
  62. private:
  63. virtual ~CRichEditOleCallback();
  64. ULONG m_cRefs;
  65. CDllRef m_DllRef; // inc/dec dll object count
  66. HWND m_hwndRichEdit;
  67. };
  68. #endif // __RichEditCallback_hxx_