77 lines
2.9 KiB
C++
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 *);
|