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.

113 lines
3.6 KiB

  1. #ifndef __ACCPLV_H
  2. #define __ACCPLV_H
  3. #include <windows.h>
  4. #include <ole2.h>
  5. //980112 ToshiaK: VC6 has these include files.
  6. //#include "../msaa/inc32/oleacc.h"
  7. //#include "../msaa/inc32/winable.h"
  8. #include <oleacc.h>
  9. #include <winable.h>
  10. //#include "enumvar.h"
  11. #include "plv_.h"
  12. class CAccPLV : public IAccessible
  13. {
  14. public:
  15. //--------------------------------
  16. // IUnknown interface methods
  17. //--------------------------------
  18. STDMETHODIMP QueryInterface( REFIID riid, void** ppv );
  19. STDMETHODIMP_(ULONG) AddRef( void );
  20. STDMETHODIMP_(ULONG) Release( void );
  21. //--------------------------------
  22. // IDispatch interface methods
  23. //--------------------------------
  24. STDMETHODIMP GetTypeInfoCount( UINT* pctinfo );
  25. STDMETHODIMP GetTypeInfo( UINT itinfo, LCID lcid, ITypeInfo** pptinfo );
  26. STDMETHODIMP GetIDsOfNames( REFIID riid,
  27. OLECHAR** rgszNames,
  28. UINT cNames,
  29. LCID lcid,
  30. DISPID* rgdispid );
  31. STDMETHODIMP Invoke( DISPID dispidMember,
  32. REFIID riid,
  33. LCID lcid,
  34. WORD wFlags,
  35. DISPPARAMS* pdispparams,
  36. VARIANT* pvarResult,
  37. EXCEPINFO* pexcepinfo,
  38. UINT* puArgErr );
  39. //--------------------------------
  40. // IAccessible interface methods
  41. //--------------------------------
  42. STDMETHODIMP get_accParent( IDispatch ** ppdispParent );
  43. STDMETHODIMP get_accChildCount( long* pChildCount );
  44. STDMETHODIMP get_accChild( VARIANT varChild,
  45. IDispatch ** ppdispChild );
  46. STDMETHODIMP get_accName( VARIANT varChild, BSTR* pszName );
  47. STDMETHODIMP get_accValue( VARIANT varChild, BSTR* pszValue );
  48. STDMETHODIMP get_accDescription( VARIANT varChild,
  49. BSTR* pszDescription );
  50. STDMETHODIMP get_accRole( VARIANT varChild, VARIANT *pvarRole );
  51. STDMETHODIMP get_accState( VARIANT varChild, VARIANT *pvarState );
  52. STDMETHODIMP get_accHelp( VARIANT varChild, BSTR* pszHelp );
  53. STDMETHODIMP get_accHelpTopic( BSTR* pszHelpFile,
  54. VARIANT varChild,
  55. long* pidTopic );
  56. STDMETHODIMP get_accKeyboardShortcut( VARIANT varChild,
  57. BSTR* pszKeyboardShortcut );
  58. STDMETHODIMP get_accFocus( VARIANT * pvarFocusChild );
  59. STDMETHODIMP get_accSelection( VARIANT * pvarSelectedChildren );
  60. STDMETHODIMP get_accDefaultAction( VARIANT varChild,
  61. BSTR* pszDefaultAction );
  62. STDMETHODIMP accSelect( long flagsSel, VARIANT varChild );
  63. STDMETHODIMP accLocation( long* pxLt,
  64. long* pyTp,
  65. long* pcxWd,
  66. long* pcyHt,
  67. VARIANT varChild );
  68. STDMETHODIMP accNavigate( long navDir,
  69. VARIANT varStart,
  70. VARIANT * pVarEndUpAt );
  71. STDMETHODIMP accHitTest( long xLeft,
  72. long yTop,
  73. VARIANT * pvarChildAtPoint );
  74. STDMETHODIMP accDoDefaultAction( VARIANT varChild );
  75. STDMETHODIMP put_accName( VARIANT varChild, BSTR szName );
  76. STDMETHODIMP put_accValue( VARIANT varChild, BSTR pszValue );
  77. //--------------------------------
  78. // Constructors and Destructors
  79. //--------------------------------
  80. CAccPLV( void );
  81. ~CAccPLV( void );
  82. void *operator new(size_t);
  83. void operator delete(void*);
  84. HRESULT Initialize(HWND hwnd);
  85. LRESULT LresultFromObject(WPARAM wParam);
  86. protected:
  87. IAccessible * m_pDefAccessible;
  88. ITypeInfo * m_pTypeInfo;
  89. HWND m_hWnd;
  90. LPPLVDATA m_lpPlv;
  91. };
  92. #endif /* __ACCKYLV_H */
  93. //---- End of ACCKYLV.H ----