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

128 lines
4.6 KiB
C++

// Copyright (c) 1996-1999 Microsoft Corporation
// --------------------------------------------------------------------------
//
// SCROLLBAR.H
//
// Scrollbar ole accessibility implementation
//
// --------------------------------------------------------------------------
//
// Scrollbar
//
class CScrollBar : public CAccessible
{
public:
CScrollBar()
: CAccessible( CLASS_ScrollBarObject )
{
// Done.
}
// IAccessible
STDMETHODIMP get_accName(VARIANT varChild, BSTR* pszName);
STDMETHODIMP get_accValue(VARIANT varChild, BSTR* pszValue);
STDMETHODIMP get_accDescription(VARIANT varChild, BSTR * pszDescription);
STDMETHODIMP get_accRole(VARIANT varChild, VARIANT *pvarRole);
STDMETHODIMP get_accState(VARIANT varChild, VARIANT *pvarState);
STDMETHODIMP get_accDefaultAction(VARIANT varChild, BSTR* pszDefaultAction);
STDMETHODIMP accLocation(long* pxLeft, long* pyTop, long* pcxWidth, long* pcyHeight, VARIANT varChild);
STDMETHODIMP accNavigate(long navDir, VARIANT varChild, VARIANT* pvarEndUpAt);
STDMETHODIMP accHitTest(long xLeft, long yTop, VARIANT * pvarChildAtPoint);
STDMETHODIMP accDoDefaultAction(VARIANT varChild);
STDMETHODIMP put_accValue(VARIANT varChild, BSTR pszValue);
// IEnumVARIANT
STDMETHODIMP Clone(IEnumVARIANT** ppenum);
// This is virtual, since each type of sys object implements this.
BOOL FInitialize(HWND hwnd, LONG idObject, LONG iChildCur);
// IAccIdentity (overidden from base class CAccessible)
STDMETHODIMP CScrollBar::GetIdentityString (
DWORD dwIDChild,
BYTE ** ppIDString,
DWORD * pdwIDStringLen
);
protected:
BOOL m_fVertical; // Vertical or horizontal
};
//
// Scrollbar control
//
class CScrollCtl : public CClient
{
public:
// IAccessible
STDMETHODIMP get_accName(VARIANT varChild, BSTR* pszName);
STDMETHODIMP get_accValue(VARIANT varChild, BSTR* pszValue);
STDMETHODIMP get_accDescription(VARIANT varChild, BSTR * pszDescription);
STDMETHODIMP get_accRole(VARIANT varChild, VARIANT *pvarRole);
STDMETHODIMP get_accState(VARIANT varChild, VARIANT *pvarState);
STDMETHODIMP get_accDefaultAction(VARIANT varChild, BSTR* pszDefaultAction);
STDMETHODIMP accLocation(long* pxLeft, long* pyTop, long* pcxWidth, long* pcyHeight, VARIANT varChild);
STDMETHODIMP accNavigate(long navDir, VARIANT varChild, VARIANT* pvarEndUpAt);
STDMETHODIMP accHitTest(long xLeft, long yTop, VARIANT * pvarChildAtPoint);
STDMETHODIMP accDoDefaultAction(VARIANT varChild);
STDMETHODIMP put_accValue(VARIANT varChild, BSTR pszValue);
// This is virtual, since each type of sys object implements this.
CScrollCtl(HWND, long);
protected:
BOOL m_fGrip; // Sizebox instead of bar
BOOL m_fVertical; // Vertical or horizontal
};
//
// Size grip
//
class CSizeGrip : public CAccessible
{
BOOL IsActive();
public:
CSizeGrip()
: CAccessible( CLASS_SizeGripObject )
{
// Done.
}
// IAccessible
STDMETHODIMP get_accName(VARIANT varChild, BSTR * pszNaem);
STDMETHODIMP get_accDescription(VARIANT varChild, BSTR * pszDesc);
STDMETHODIMP get_accRole(VARIANT varChild, VARIANT * pvarRole);
STDMETHODIMP get_accState(VARIANT varChild, VARIANT * pvarState);
STDMETHODIMP accLocation(long* pxLeft, long* pyTop, long* pcxWidth, long* pcyHeight, VARIANT varChild);
STDMETHODIMP accNavigate(long dwNavFlags, VARIANT varStart, VARIANT * pvarEnd);
STDMETHODIMP accHitTest(long xLeft, long yTop, VARIANT * pvarHit);
// IEnumVARIANT
STDMETHODIMP Clone(IEnumVARIANT * * ppenum);
BOOL FInitialize(HWND hwnd);
};
HRESULT CreateScrollBarThing(HWND hwnd, LONG idObj, LONG iItem, REFIID riid, void** ppvScroll);
void FixUpScrollBarInfo(LPSCROLLBARINFO);
HRESULT CreateSizeGripThing(HWND hwnd, LONG idObj, REFIID riid, void** ppvObject);