70 lines
2.4 KiB
C++
70 lines
2.4 KiB
C++
// Copyright (c) 1996-1999 Microsoft Corporation
|
|
|
|
// --------------------------------------------------------------------------
|
|
//
|
|
// LISTVIEW.H
|
|
//
|
|
// Knows how to talk to COMCTL32's listview control.
|
|
//
|
|
// --------------------------------------------------------------------------
|
|
|
|
class CListView32 : public CClient
|
|
{
|
|
public:
|
|
// IAccessible
|
|
STDMETHODIMP get_accName(VARIANT, BSTR*);
|
|
STDMETHODIMP get_accDescription(VARIANT, BSTR*);
|
|
STDMETHODIMP get_accHelp(VARIANT, BSTR*);
|
|
STDMETHODIMP get_accRole(VARIANT, VARIANT*);
|
|
STDMETHODIMP get_accState(VARIANT, VARIANT*);
|
|
STDMETHODIMP get_accFocus(VARIANT*);
|
|
STDMETHODIMP get_accSelection(VARIANT*);
|
|
STDMETHODIMP get_accDefaultAction(VARIANT, BSTR*);
|
|
|
|
STDMETHODIMP accDoDefaultAction(VARIANT);
|
|
STDMETHODIMP accSelect(long, VARIANT);
|
|
STDMETHODIMP accLocation(long*, long*, long*, long*, VARIANT);
|
|
STDMETHODIMP accNavigate(long, VARIANT, VARIANT*);
|
|
STDMETHODIMP accHitTest(long, long, VARIANT*);
|
|
|
|
void SetupChildren(void);
|
|
void RemoveCurrentSelFocus(long);
|
|
CListView32(HWND, long);
|
|
};
|
|
|
|
|
|
|
|
class CListViewSelection : public IEnumVARIANT
|
|
{
|
|
public:
|
|
// IUnknown
|
|
virtual STDMETHODIMP QueryInterface(REFIID, void**);
|
|
virtual STDMETHODIMP_(ULONG) AddRef(void);
|
|
virtual STDMETHODIMP_(ULONG) Release(void);
|
|
|
|
// IEnumVARIANT
|
|
virtual STDMETHODIMP Next(ULONG celt, VARIANT* rgvar, ULONG * pceltFetched);
|
|
virtual STDMETHODIMP Skip(ULONG celt);
|
|
virtual STDMETHODIMP Reset(void);
|
|
virtual STDMETHODIMP Clone(IEnumVARIANT ** ppenum);
|
|
|
|
CListViewSelection(int, int, LPINT);
|
|
~CListViewSelection();
|
|
|
|
protected:
|
|
int m_cRef;
|
|
int m_idChildCur;
|
|
int m_cSelected;
|
|
LPINT m_lpSelected;
|
|
};
|
|
|
|
|
|
extern HRESULT GetListViewSelection(HWND hwnd, VARIANT * pvarSelection);
|
|
|
|
// CWO: Copied from latest COMMCTRL.H to support new functionality
|
|
#ifndef LVM_GETHEADER
|
|
#define LVM_GETHEADER (LVM_FIRST + 31)
|
|
#define ListView_GetHeader(hwnd)\
|
|
(HWND)SNDMSG((hwnd), LVM_GETHEADER, 0, 0L)
|
|
#endif
|