home *** CD-ROM | disk | FTP | other *** search
/ Beginning C++ Through Gam…rogramming (2nd Edition) / BCGP2E.ISO / bloodshed / devcpp-4.9.9.2_setup.exe / oleacc.h < prev    next >
C/C++ Source or Header  |  2005-01-29  |  8KB  |  220 lines

  1. #ifndef _OLEACC_H
  2. #define _OLEACC_H
  3. #if __GNUC__ >=3
  4. #pragma GCC system_header
  5. #endif
  6.  
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10.  
  11. #define DISPID_ACC_PARENT                   (-5000)
  12. #define DISPID_ACC_CHILDCOUNT               (-5001)
  13. #define DISPID_ACC_CHILD                    (-5002)
  14.  
  15. #define DISPID_ACC_NAME                     (-5003)
  16. #define DISPID_ACC_VALUE                    (-5004)
  17. #define DISPID_ACC_DESCRIPTION              (-5005)
  18. #define DISPID_ACC_ROLE                     (-5006)
  19. #define DISPID_ACC_STATE                    (-5007)
  20. #define DISPID_ACC_HELP                     (-5008)
  21. #define DISPID_ACC_HELPTOPIC                (-5009)
  22. #define DISPID_ACC_KEYBOARDSHORTCUT         (-5010)
  23. #define DISPID_ACC_FOCUS                    (-5011)
  24. #define DISPID_ACC_SELECTION                (-5012)
  25. #define DISPID_ACC_DEFAULTACTION            (-5013)
  26.  
  27. #define DISPID_ACC_SELECT                   (-5014)
  28. #define DISPID_ACC_LOCATION                 (-5015)
  29. #define DISPID_ACC_NAVIGATE                 (-5016)
  30. #define DISPID_ACC_HITTEST                  (-5017)
  31. #define DISPID_ACC_DODEFAULTACTION          (-5018)
  32.  
  33. #define NAVDIR_DOWN 2
  34. #define NAVDIR_FIRSTCHILD 7
  35. #define NAVDIR_LASTCHILD 8
  36. #define NAVDIR_LEFT 3
  37. #define NAVDIR_NEXT 5
  38. #define NAVDIR_PREVIOUS 6
  39. #define NAVDIR_RIGHT 4
  40. #define NAVDIR_UP 1
  41.  
  42. #define ROLE_SYSTEM_ALERT 8
  43. #define ROLE_SYSTEM_ANIMATION 54
  44. #define ROLE_SYSTEM_APPLICATION 14
  45. #define ROLE_SYSTEM_BORDER 19
  46. #define ROLE_SYSTEM_BUTTONDROPDOWN  56
  47. #define ROLE_SYSTEM_BUTTONDROPDOWNGRID 58
  48. #define ROLE_SYSTEM_BUTTONMENU 57
  49. #define ROLE_SYSTEM_CARET 7
  50. #define ROLE_SYSTEM_CELL 29
  51. #define ROLE_SYSTEM_CHARACTER 32
  52. #define ROLE_SYSTEM_CHART 17
  53. #define ROLE_SYSTEM_CHECKBUTTON 44
  54. #define ROLE_SYSTEM_CLIENT 10
  55. #define ROLE_SYSTEM_CLOCK 61
  56. #define ROLE_SYSTEM_COLUMN 27
  57. #define ROLE_SYSTEM_COLUMNHEADER 25
  58. #define ROLE_SYSTEM_COMBOBOX 46
  59. #define ROLE_SYSTEM_CURSOR 6
  60. #define ROLE_SYSTEM_DIAGRAM 53
  61. #define ROLE_SYSTEM_DIAL 49
  62. #define ROLE_SYSTEM_DIALOG 18
  63. #define ROLE_SYSTEM_DOCUMENT 15
  64. #define ROLE_SYSTEM_DROPLIST 47
  65. #define ROLE_SYSTEM_EQUATION 55
  66. #define ROLE_SYSTEM_GRAPHIC 40
  67. #define ROLE_SYSTEM_GRIP 4
  68. #define ROLE_SYSTEM_GROUPING 20
  69. #define ROLE_SYSTEM_HELPBALLOON 31
  70. #define ROLE_SYSTEM_HOTKEYFIELD 50
  71. #define ROLE_SYSTEM_INDICATOR 39
  72. #define ROLE_SYSTEM_LINK 30
  73. #define ROLE_SYSTEM_LIST 33
  74. #define ROLE_SYSTEM_LISTITEM 34
  75. #define ROLE_SYSTEM_MENUBAR 2
  76. #define ROLE_SYSTEM_MENUITEM 12
  77. #define ROLE_SYSTEM_MENUPOPUP 11
  78. #define ROLE_SYSTEM_OUTLINE 35
  79. #define ROLE_SYSTEM_OUTLINEITEM 36
  80. #define ROLE_SYSTEM_PAGETAB 37
  81. #define ROLE_SYSTEM_PAGETABLIST 60
  82. #define ROLE_SYSTEM_PANE 16
  83. #define ROLE_SYSTEM_PROGRESSBAR 48
  84. #define ROLE_SYSTEM_PROPERTYPAGE 38
  85. #define ROLE_SYSTEM_PUSHBUTTON 43
  86. #define ROLE_SYSTEM_RADIOBUTTON 45
  87. #define ROLE_SYSTEM_ROW 28
  88. #define ROLE_SYSTEM_ROWHEADER 26
  89. #define ROLE_SYSTEM_SCROLLBAR 3
  90. #define ROLE_SYSTEM_SEPARATOR 21
  91. #define ROLE_SYSTEM_SLIDER 51
  92. #define ROLE_SYSTEM_SOUND 5
  93. #define ROLE_SYSTEM_SPINBUTTON 52
  94. #define ROLE_SYSTEM_STATICTEXT 41
  95. #define ROLE_SYSTEM_STATUSBAR 23
  96. #define ROLE_SYSTEM_TABLE 24
  97. #define ROLE_SYSTEM_TEXT 42
  98. #define ROLE_SYSTEM_TITLEBAR 1
  99. #define ROLE_SYSTEM_TOOLBAR 22
  100. #define ROLE_SYSTEM_TOOLTIP 13
  101. #define ROLE_SYSTEM_WHITESPACE 59
  102. #define ROLE_SYSTEM_WINDOW 9
  103.  
  104. #define STATE_SYSTEM_UNAVAILABLE 0x00000001
  105. #define STATE_SYSTEM_SELECTED 0x00000002
  106. #define STATE_SYSTEM_FOCUSED 0x00000004
  107. #define STATE_SYSTEM_PRESSED 0x00000008
  108. #define STATE_SYSTEM_CHECKED 0x00000010
  109. #define STATE_SYSTEM_MIXED 0x00000020
  110. #define STATE_SYSTEM_READONLY 0x00000040
  111. #define STATE_SYSTEM_HOTTRACKED 0x00000080
  112. #define STATE_SYSTEM_DEFAULT 0x00000100
  113. #define STATE_SYSTEM_EXPANDED 0x00000200
  114. #define STATE_SYSTEM_COLLAPSED 0x00000400
  115. #define STATE_SYSTEM_BUSY 0x00000800
  116. #define STATE_SYSTEM_FLOATING 0x00001000
  117. #define STATE_SYSTEM_MARQUEED 0x00002000
  118. #define STATE_SYSTEM_ANIMATED 0x00004000
  119. #define STATE_SYSTEM_INVISIBLE 0x00008000
  120. #define STATE_SYSTEM_OFFSCREEN 0x00010000
  121. #define STATE_SYSTEM_SIZEABLE 0x00020000
  122. #define STATE_SYSTEM_MOVEABLE 0x00040000
  123. #define STATE_SYSTEM_SELFVOICING 0x00080000
  124. #define STATE_SYSTEM_FOCUSABLE 0x00100000
  125. #define STATE_SYSTEM_SELECTABLE 0x00200000
  126. #define STATE_SYSTEM_LINKED 0x00400000
  127. #define STATE_SYSTEM_TRAVERSED 0x00800000
  128. #define STATE_SYSTEM_MULTISELECTABLE 0x01000000
  129. #define STATE_SYSTEM_EXTSELECTABLE 0x02000000
  130. #define STATE_SYSTEM_ALERT_LOW 0x04000000
  131. #define STATE_SYSTEM_ALERT_MEDIUM 0x08000000
  132. #define STATE_SYSTEM_ALERT_HIGH 0x10000000
  133. #define STATE_SYSTEM_VALID 0x1fffffff
  134.  
  135. typedef enum tagSELFLAG 
  136. {
  137.   SELFLAG_NONE = 0,
  138.   SELFLAG_TAKEFOCUS = 1,
  139.   SELFLAG_TAKESELECTION = 2,
  140.   SELFLAG_EXTENDSELECTION = 4,
  141.   SELFLAG_ADDSELECTION = 8,
  142.   SELFLAG_REMOVESELECTION = 16
  143. } SELFLAG; 
  144.  
  145. #define SELFLAG_VALID    0x0000001F
  146.  
  147. /* DEFINE_GUID(LIBID_Accessibility, 0x1ea4dbf0, 0x3c3b,0x11cf, 0x81, 0x0c, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); */
  148. /* DEFINE_GUID(IID_IAccessible,     0x618736e0, 0x3c3d,0x11cf, 0x81, 0x0c, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); */
  149. EXTERN_C const IID LIBID_Accessibility;
  150. EXTERN_C const IID IID_IAccessible;
  151.  
  152. #undef INTERFACE
  153. #define INTERFACE IAccessible
  154. DECLARE_INTERFACE_(IAccessible, IDispatch)
  155. {
  156.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  157.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  158.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  159.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
  160.     STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
  161.     STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
  162.     STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
  163.  
  164.     STDMETHOD(get_accParent)(THIS_ IDispatch**) PURE;
  165.     STDMETHOD(get_accChildCount)(THIS_ long*) PURE;
  166.     STDMETHOD(get_accChild)(THIS_ VARIANT, IDispatch **) PURE;
  167.     STDMETHOD(get_accName)(THIS_ VARIANT, BSTR*) PURE;
  168.     STDMETHOD(get_accValue)(THIS_ VARIANT, BSTR*) PURE;
  169.     STDMETHOD(get_accDescription)(THIS_ VARIANT, BSTR*) PURE;
  170.     STDMETHOD(get_accRole)(THIS_ VARIANT, VARIANT*) PURE;
  171.     STDMETHOD(get_accState)(THIS_ VARIANT, VARIANT*) PURE;
  172.     STDMETHOD(get_accHelp)(THIS_ VARIANT, BSTR*) PURE;
  173.     STDMETHOD(get_accHelpTopic)(THIS_ BSTR*, VARIANT, long*) PURE;
  174.     STDMETHOD(get_accKeyboardShortcut)(THIS_ VARIANT, BSTR*) PURE;
  175.     STDMETHOD(get_accFocus)(THIS_ VARIANT*) PURE;
  176.     STDMETHOD(get_accSelection)(THIS_ VARIANT*) PURE;
  177.     STDMETHOD(get_accDefaultAction)(THIS_ VARIANT, BSTR*) PURE;
  178.  
  179.     STDMETHOD(accSelect)(THIS_ long, VARIANT) PURE;
  180.     STDMETHOD(accLocation)(THIS_ long*, long*, long*, long*, VARIANT) PURE;
  181.     STDMETHOD(accNavigate)(THIS_ long, VARIANT, VARIANT*) PURE;
  182.     STDMETHOD(accHitTest)(THIS_ long, long, VARIANT*) PURE;
  183.     STDMETHOD(accDoDefaultAction)(THIS_ VARIANT) PURE;
  184.  
  185.     STDMETHOD(put_accName)(THIS_ VARIANT, BSTR) PURE;
  186.     STDMETHOD(put_accValue)(THIS_ VARIANT, BSTR) PURE;
  187. };
  188. typedef IAccessible* LPACCESSIBLE;
  189.  
  190. STDAPI AccessibleChildren(IAccessible*,LONG,LONG,VARIANT*,LONG*);
  191. STDAPI AccessibleObjectFromEvent(HWND,DWORD,DWORD,IAccessible*,VARIANT*);
  192. STDAPI AccessibleObjectFromPoint(POINT,IAccessible**,VARIANT*);
  193. STDAPI AccessibleObjectFromWindow(HWND,DWORD,REFIID,void**);
  194. STDAPI CreateStdAccessibleObject(HWND,LONG,REFIID,void**);
  195. STDAPI CreateStdAccessibleProxyA(HWND,LPCSTR,LONG,REFIID,void**);
  196. STDAPI CreateStdAccessibleProxyW(HWND,LPCWSTR,LONG,REFIID,void**);
  197. void WINAPI GetOleaccVersionInfo(DWORD*,DWORD*);
  198. UINT WINAPI GetRoleTextA(DWORD,LPSTR,UINT);
  199. UINT WINAPI GetRoleTextW(DWORD,LPWSTR,UINT);
  200. UINT WINAPI GetStateTextA(DWORD,LPSTR,UINT);
  201. UINT WINAPI GetStateTextW(DWORD,LPWSTR,UINT);
  202. LRESULT WINAPI LresultFromObject(REFIID,WPARAM,LPUNKNOWN);
  203. STDAPI ObjectFromLresult(LRESULT,REFIID,WPARAM,void**);
  204. STDAPI WindowFromAccessibleObject(IAccessible*,HWND*);
  205.  
  206. #ifdef UNICODE
  207. #define CreateStdAccessibleProxy CreateStdAccessibleProxyW
  208. #define GetRoleText GetRoleTextW
  209. #define GetStateText GetStateTextW
  210. #else
  211. #define CreateStdAccessibleProxy CreateStdAccessibleProxyA
  212. #define GetRoleText GetRoleTextA
  213. #define GetStateText GetStateTextA
  214. #endif
  215.  
  216. #ifdef __cplusplus
  217. }
  218. #endif
  219. #endif /* _OLEACC_H */
  220.