home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / mshtmhst.idl < prev    next >
Text File  |  1998-04-25  |  8KB  |  240 lines

  1. //+------------------------------------------------------------------------
  2. //
  3. //  Microsoft Forms
  4. //  Copyright 1996 - 1998 Microsoft Corporation.
  5. //
  6. //  File:       mshtmhst.idl
  7. //
  8. //  Contents:   MSHTML advanced host interfaces
  9. //
  10. //-------------------------------------------------------------------------
  11.  
  12. cpp_quote("//=--------------------------------------------------------------------------=")
  13. cpp_quote("// mshtmhst.h")
  14. cpp_quote("//=--------------------------------------------------------------------------=")
  15. cpp_quote("// (C) Copyright 1995 - 1998 Microsoft Corporation.  All Rights Reserved.")
  16. cpp_quote("//")
  17. cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
  18. cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
  19. cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
  20. cpp_quote("// PARTICULAR PURPOSE.")
  21. cpp_quote("//=--------------------------------------------------------------------------=")
  22. cpp_quote("")
  23. cpp_quote("#pragma comment(lib,\"uuid.lib\")")
  24. cpp_quote("")
  25. cpp_quote("//--------------------------------------------------------------------------")
  26. cpp_quote("// MSTHML Advanced Host Interfaces.")
  27. cpp_quote("")
  28. cpp_quote("#ifndef MSHTMHST_H")
  29. cpp_quote("#define MSHTMHST_H")
  30.  
  31. cpp_quote("#define CONTEXT_MENU_DEFAULT        0")
  32. cpp_quote("#define CONTEXT_MENU_IMAGE          1")
  33. cpp_quote("#define CONTEXT_MENU_CONTROL        2")
  34. cpp_quote("#define CONTEXT_MENU_TABLE          3")
  35. cpp_quote("// in browse mode")
  36. cpp_quote("#define CONTEXT_MENU_TEXTSELECT     4")
  37. cpp_quote("#define CONTEXT_MENU_ANCHOR         5")
  38. cpp_quote("#define CONTEXT_MENU_UNKNOWN        6")
  39. cpp_quote("//;begin_internal")
  40. cpp_quote("// These 2 are mapped to IMAGE for the public")
  41. cpp_quote("#define CONTEXT_MENU_IMGDYNSRC      7")
  42. cpp_quote("#define CONTEXT_MENU_IMGART         8")
  43. cpp_quote("#define CONTEXT_MENU_DEBUG          9")
  44. cpp_quote("//;end_internal")
  45.  
  46. cpp_quote("#define MENUEXT_SHOWDIALOG           0x1")
  47.  
  48. cpp_quote("#define DOCHOSTUIFLAG_BROWSER       DOCHOSTUIFLAG_DISABLE_HELP_MENU | DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE ")
  49.  
  50. import "ocidl.idl";
  51. import "objidl.idl";
  52. import "oleidl.idl";
  53. import "oaidl.idl";
  54. import "docobj.idl";
  55. import "mshtml.idl";
  56.  
  57. cpp_quote("EXTERN_C const GUID CGID_MSHTML;")
  58. cpp_quote("#define CMDSETID_Forms3 CGID_MSHTML")
  59. cpp_quote("#define SZ_HTML_CLIENTSITE_OBJECTPARAM L\"{d4db6850-5385-11d0-89e9-00a0c90a90ac}\"")
  60.  
  61. #pragma midl_echo("typedef HRESULT STDAPICALLTYPE SHOWHTMLDIALOGFN (HWND hwndParent, IMoniker *pmk, VARIANT *pvarArgIn, TCHAR* pchOptions, VARIANT *pvArgOut);")
  62.  
  63. cpp_quote("//;begin_internal")
  64. #pragma midl_echo("STDAPI ShowHTMLDialog(                   ")
  65. #pragma midl_echo("    HWND        hwndParent,              ")    
  66. #pragma midl_echo("    IMoniker *  pMk,                     ")
  67. #pragma midl_echo("    VARIANT *   pvarArgIn,               ")
  68. #pragma midl_echo("    TCHAR *     pchOptions,              ")
  69. #pragma midl_echo("    VARIANT *   pvarArgOut               ")
  70. #pragma midl_echo("    );                                   ")
  71. cpp_quote("//;end_internal")
  72.  
  73. //-------------------------------------------------------------------------
  74. //  IDocHostUIHandler
  75. //
  76. //-------------------------------------------------------------------------
  77.  
  78. cpp_quote("//;begin_internal")
  79. typedef 
  80. enum tagDOCHOSTUITYPE {
  81.         DOCHOSTUITYPE_BROWSE    = 0,
  82.         DOCHOSTUITYPE_AUTHOR    = 1,
  83. } DOCHOSTUITYPE;
  84. cpp_quote("//;end_internal")
  85.  
  86. typedef enum tagDOCHOSTUIDBLCLK {
  87.         DOCHOSTUIDBLCLK_DEFAULT         = 0,
  88.         DOCHOSTUIDBLCLK_SHOWPROPERTIES  = 1,
  89.         DOCHOSTUIDBLCLK_SHOWCODE        = 2,
  90. } DOCHOSTUIDBLCLK ;
  91.  
  92. typedef enum tagDOCHOSTUIFLAG {
  93.         DOCHOSTUIFLAG_DIALOG            = 1,
  94.         DOCHOSTUIFLAG_DISABLE_HELP_MENU = 2,
  95.         DOCHOSTUIFLAG_NO3DBORDER        = 4,
  96.         DOCHOSTUIFLAG_SCROLL_NO         = 8,
  97.         DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE = 16,
  98.         DOCHOSTUIFLAG_OPENNEWWIN        = 32,
  99.         DOCHOSTUIFLAG_DISABLE_OFFSCREEN = 64,
  100.         DOCHOSTUIFLAG_FLAT_SCROLLBAR = 128,
  101.         DOCHOSTUIFLAG_DIV_BLOCKDEFAULT = 256,
  102.         DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY = 512,
  103.         DOCHOSTUIFLAG_DISABLE_COOKIE = 1024,
  104. } DOCHOSTUIFLAG ;
  105.  
  106.  
  107. [
  108.         object,
  109.         uuid(bd3f23c0-d43e-11cf-893b-00aa00bdce1a),
  110.         pointer_default(unique),
  111.         local
  112. ]
  113. interface IDocHostUIHandler : IUnknown
  114. {
  115.  
  116.     typedef struct _DOCHOSTUIINFO
  117.     {
  118.         ULONG cbSize;
  119.         DWORD dwFlags;
  120.         DWORD dwDoubleClick;
  121.     } DOCHOSTUIINFO;
  122.  
  123.     HRESULT ShowContextMenu(
  124.             [in] DWORD dwID, 
  125.             [in] POINT* ppt, 
  126.             [in] IUnknown* pcmdtReserved,  
  127.             [in] IDispatch* pdispReserved);
  128.     HRESULT GetHostInfo([in, out] DOCHOSTUIINFO * pInfo);
  129.     HRESULT ShowUI(
  130.             [in] DWORD dwID,
  131.             [in] IOleInPlaceActiveObject * pActiveObject,
  132.             [in] IOleCommandTarget * pCommandTarget,
  133.             [in] IOleInPlaceFrame * pFrame,
  134.             [in] IOleInPlaceUIWindow * pDoc);
  135.     HRESULT HideUI();
  136.     HRESULT UpdateUI();
  137.     HRESULT EnableModeless([in] BOOL fEnable);
  138.     HRESULT OnDocWindowActivate([in] BOOL fActivate);
  139.     HRESULT OnFrameWindowActivate([in] BOOL fActivate);
  140.     HRESULT ResizeBorder(
  141.             [in] LPCRECT prcBorder,
  142.             [in] IOleInPlaceUIWindow * pUIWindow,
  143.             [in] BOOL fRameWindow);
  144.     HRESULT TranslateAccelerator(
  145.             [in] LPMSG lpMsg,
  146.             [in] const GUID * pguidCmdGroup, 
  147.             [in] DWORD nCmdID);
  148.     HRESULT GetOptionKeyPath([out] LPOLESTR * pchKey, [in] DWORD dw);
  149.     HRESULT GetDropTarget(
  150.             [in] IDropTarget * pDropTarget, 
  151.             [out] IDropTarget ** ppDropTarget);
  152.     HRESULT GetExternal([out] IDispatch **ppDispatch);
  153.     HRESULT TranslateUrl([in]DWORD dwTranslate, [in]OLECHAR *pchURLIn, [out]OLECHAR **ppchURLOut);
  154.     HRESULT FilterDataObject([in]IDataObject *pDO, [out]IDataObject **ppDORet);
  155. }
  156.  
  157.  
  158. //-------------------------------------------------------------------------
  159. //  ICustomDoc
  160. //
  161. //-------------------------------------------------------------------------
  162.  
  163. [
  164.         object,
  165.         uuid(3050f3f0-98b5-11cf-bb82-00aa00bdce0b),
  166.         pointer_default(unique),
  167.         local
  168. ]
  169. interface ICustomDoc : IUnknown
  170. {
  171.     HRESULT SetUIHandler(
  172.             [in] IDocHostUIHandler * pUIHandler); 
  173. }
  174.  
  175. //-------------------------------------------------------------------------
  176. //  IDocHostShowUI
  177. //
  178. //-------------------------------------------------------------------------
  179.  
  180. [
  181.         object,
  182.         uuid(c4d244b0-d43e-11cf-893b-00aa00bdce1a),
  183.         pointer_default(unique), 
  184.         local
  185. ]
  186. interface IDocHostShowUI : IUnknown
  187. {
  188.     HRESULT ShowMessage(
  189.             [in] HWND hwnd,
  190.             [in] LPOLESTR lpstrText,
  191.             [in] LPOLESTR lpstrCaption,
  192.             [in] DWORD dwType,
  193.             [in] LPOLESTR lpstrHelpFile,
  194.             [in] DWORD dwHelpContext,
  195.             [out] LRESULT * plResult);
  196.     HRESULT ShowHelp(
  197.             [in] HWND hwnd,
  198.             [in] LPOLESTR pszHelpFile,
  199.             [in] UINT uCommand,
  200.             [in] DWORD dwData,
  201.             [in] POINT ptMouse,
  202.             [out] IDispatch * pDispatchObjectHit);
  203. }
  204.  
  205.  
  206. //-------------------------------------------------------------------------
  207. //  ICSSFilterSite
  208. //
  209. //-------------------------------------------------------------------------
  210. [
  211.     odl,
  212.     oleautomation,
  213.     dual,
  214.     uuid(3050f3ed-98b5-11cf-bb82-00aa00bdce0b)
  215. ]
  216. interface ICSSFilterSite : IUnknown
  217. {
  218.     [] HRESULT GetElement([retval, out] IHTMLElement** ppElem);
  219.     [] HRESULT FireOnFilterChangeEvent();
  220. };
  221.  
  222.  
  223. //-------------------------------------------------------------------------
  224. //  ICSSFilter
  225. //
  226. //-------------------------------------------------------------------------
  227. [
  228.     odl,
  229.     oleautomation,
  230.     dual,
  231.     uuid(3050f3ec-98b5-11cf-bb82-00aa00bdce0b)
  232. ]
  233. interface ICSSFilter : IUnknown
  234. {
  235.     [] HRESULT SetSite([in] ICSSFilterSite* pSink);
  236.     [] HRESULT OnAmbientPropertyChange([in] LONG dispid);
  237. };
  238.  
  239. cpp_quote("#endif")
  240.