WindowsXP-SP1/windows/oleacc/oleacc/window.h
2020-09-30 16:53:49 +02:00

77 lines
2.9 KiB
C++

// Copyright (c) 1996-1999 Microsoft Corporation
// --------------------------------------------------------------------------
//
// WINDOW.H
//
// Default window OLE accessible object class
//
// --------------------------------------------------------------------------
class CWindow : public CAccessible
{
// internal ctor. Private so taht derived classes don't inadvertantly use this -
// they should use the one below (*where they specify a CLASS_ENUM) instead.
// CreateWindowThing is a friend so it can create us (using new).
CWindow()
: CAccessible( CLASS_WindowObject )
{
// Done.
}
friend HRESULT CreateWindowThing(HWND hwnd, long idChildCur, REFIID riid, void** ppvObject);
public:
// Used by derived classes
CWindow( CLASS_ENUM eclass )
: CAccessible( eclass )
{
// Done.
}
// IAccessible
virtual STDMETHODIMP get_accParent(IDispatch ** ppdispParent);
virtual STDMETHODIMP get_accChild(VARIANT varChildIndex, IDispatch ** ppdispChild);
virtual STDMETHODIMP get_accName(VARIANT varChild, BSTR* pszName);
virtual STDMETHODIMP get_accDescription(VARIANT varChild, BSTR* pszDescription);
virtual STDMETHODIMP get_accRole(VARIANT varChild, VARIANT * pvarRole);
virtual STDMETHODIMP get_accState(VARIANT varChild, VARIANT *pvarState);
virtual STDMETHODIMP get_accHelp(VARIANT varChild, BSTR* pszHelp);
virtual STDMETHODIMP get_accKeyboardShortcut(VARIANT varChild, BSTR* pszShortcut);
virtual STDMETHODIMP get_accFocus(VARIANT * pvarFocusChild);
virtual STDMETHODIMP accSelect(long flags, VARIANT varChild);
virtual STDMETHODIMP accLocation(long* pxLeft, long* pyTop, long* pcxWidth, long* pcyHeight, VARIANT varChild);
virtual STDMETHODIMP accNavigate(long navDir, VARIANT varStart, VARIANT* pvarEndUpAt);
virtual STDMETHODIMP accHitTest(long xLeft, long yTop, VARIANT * pvarChildAtPoint);
// IEnumVARIANT
virtual STDMETHODIMP Next(ULONG celt, VARIANT* rgvar, ULONG * pceltFetched);
virtual STDMETHODIMP Clone(IEnumVARIANT * *);
void Initialize(HWND, long);
//
// NOTE: We override the default implementation of ValidateChild()!
//
virtual BOOL ValidateChild(VARIANT*);
};
//
// Version defines
//
#define VER30 0x0300
#define VER31 0x030A
#define VER40 0x0400
#define VER41 0x040A
#define ObjidFromIndex(index) (DWORD)(0 - (LONG)(index))
#define IndexFromObjid(objid) (-(long)(objid))
extern HRESULT CreateWindowThing(HWND hwnd, long iChild, REFIID riid, void** ppvObjct);
extern HRESULT FrameNavigate(HWND, long, long, VARIANT *);