171 lines
6.1 KiB
C++
171 lines
6.1 KiB
C++
#if !defined(AFX_HMLISTVIEWCTL_H__5116A814_DAFC_11D2_BDA4_0000F87A3912__INCLUDED_)
|
|
#define AFX_HMLISTVIEWCTL_H__5116A814_DAFC_11D2_BDA4_0000F87A3912__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
// HMListViewCtl.h : Declaration of the CHMListViewCtrl ActiveX Control class.
|
|
|
|
#include "HMList.h"
|
|
#include "TitlebarCtrl.h"
|
|
#include "StatusbarCtrl.h"
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CHMListViewCtrl : See HMListViewCtl.cpp for implementation.
|
|
|
|
class CHMListViewCtrl : public COleControl
|
|
{
|
|
DECLARE_DYNCREATE(CHMListViewCtrl)
|
|
|
|
// Constructor
|
|
public:
|
|
CHMListViewCtrl();
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CHMListViewCtrl)
|
|
public:
|
|
virtual void OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid);
|
|
virtual void DoPropExchange(CPropExchange* pPX);
|
|
virtual void OnResetState();
|
|
virtual DWORD GetControlFlags();
|
|
//}}AFX_VIRTUAL
|
|
|
|
bool m_bColumnInsertionComplete;
|
|
|
|
// Implementation
|
|
protected:
|
|
~CHMListViewCtrl();
|
|
|
|
CTitlebarCtrl m_titlebar;
|
|
CStatusbarCtrl m_statusbar;
|
|
CHMList m_list;
|
|
|
|
BEGIN_OLEFACTORY(CHMListViewCtrl) // Class factory and guid
|
|
virtual BOOL VerifyUserLicense();
|
|
virtual BOOL GetLicenseKey(DWORD, BSTR FAR*);
|
|
END_OLEFACTORY(CHMListViewCtrl)
|
|
|
|
DECLARE_OLETYPELIB(CHMListViewCtrl) // GetTypeInfo
|
|
DECLARE_PROPPAGEIDS(CHMListViewCtrl) // Property page IDs
|
|
DECLARE_OLECTLTYPE(CHMListViewCtrl) // Type name and misc status
|
|
|
|
// Message maps
|
|
//{{AFX_MSG(CHMListViewCtrl)
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
// Dispatch maps
|
|
//{{AFX_DISPATCH(CHMListViewCtrl)
|
|
afx_msg BSTR GetTitle();
|
|
afx_msg void SetTitle(LPCTSTR lpszNewValue);
|
|
afx_msg BSTR GetDescription();
|
|
afx_msg void SetDescription(LPCTSTR lpszNewValue);
|
|
afx_msg void SetProgressRange(long lLowerBound, long lUpperBound);
|
|
afx_msg long GetProgressPos();
|
|
afx_msg void SetProgressPos(long lPos);
|
|
afx_msg long InsertItem(long lMask, long lItem, LPCTSTR lpszItem, long lState, long lStateMask, long lImage, long lParam);
|
|
afx_msg long InsertColumn(long lColumn, LPCTSTR lpszColumnHeading, long lFormat, long lWidth, long lSubItem);
|
|
afx_msg long SetItem(long lItem, long lSubItem, long lMask, LPCTSTR lpszItem, long lImage, long lState, long lStateMask, long lParam);
|
|
afx_msg long GetStringWidth(LPCTSTR lpsz);
|
|
afx_msg long GetColumnWidth(long lCol);
|
|
afx_msg BOOL SetColumnWidth(long lCol, long lcx);
|
|
afx_msg long FindItemByLParam(long lParam);
|
|
afx_msg long GetImageList(long lImageListType);
|
|
afx_msg BOOL DeleteAllItems();
|
|
afx_msg BOOL DeleteColumn(long lCol);
|
|
afx_msg long StepProgressBar();
|
|
afx_msg long SetProgressStep(long lStep);
|
|
afx_msg long SetImageList(long hImageList, long lImageListType);
|
|
afx_msg long GetNextItem(long lItem, long lFlags);
|
|
afx_msg long GetItem(long lItemIndex);
|
|
afx_msg BOOL DeleteItem(long lIndex);
|
|
afx_msg long GetItemCount();
|
|
afx_msg BOOL ModifyListStyle(long lRemove, long lAdd, long lFlags);
|
|
afx_msg long GetColumnCount();
|
|
afx_msg long GetColumnOrderIndex(long lColumn);
|
|
afx_msg long SetColumnOrderIndex(long lColumn, long lOrder);
|
|
afx_msg BSTR GetColumnOrder();
|
|
afx_msg void SetColumnOrder(LPCTSTR lpszOrder);
|
|
afx_msg void SetColumnFilter(long lColumn, LPCTSTR lpszFilter, long lFilterType);
|
|
afx_msg void GetColumnFilter(long lColumn, BSTR FAR* lplpszFilter, long FAR* lpFilterType);
|
|
afx_msg long GetSelectedCount();
|
|
//}}AFX_DISPATCH
|
|
DECLARE_DISPATCH_MAP()
|
|
|
|
afx_msg void AboutBox();
|
|
|
|
// Event maps
|
|
public:
|
|
//{{AFX_EVENT(CHMListViewCtrl)
|
|
void FireListClick(long lParam)
|
|
{FireEvent(eventidListClick,EVENT_PARAM(VTS_I4), lParam);}
|
|
void FireListDblClick(long lParam)
|
|
{FireEvent(eventidListDblClick,EVENT_PARAM(VTS_I4), lParam);}
|
|
void FireListRClick(long lParam)
|
|
{FireEvent(eventidListRClick,EVENT_PARAM(VTS_I4), lParam);}
|
|
void FireCompareItem(long lItem1, long lItem2, long lColumn, long FAR* lpResult)
|
|
{FireEvent(eventidCompareItem,EVENT_PARAM(VTS_I4 VTS_I4 VTS_I4 VTS_PI4), lItem1, lItem2, lColumn, lpResult);}
|
|
void FireListLabelEdit(LPCTSTR lpszNewName, LONG_PTR lParam, LRESULT* plResult)
|
|
{FireEvent(eventidListLabelEdit,EVENT_PARAM(VTS_BSTR VTS_I4 VTS_PI4), lpszNewName, lParam, plResult);}
|
|
void FireListKeyDown(long lVKCode, long lFlags, LRESULT* plResult)
|
|
{FireEvent(eventidListKeyDown,EVENT_PARAM(VTS_I4 VTS_I4 VTS_PI4), lVKCode, lFlags, plResult);}
|
|
void FireFilterChange(long lItem, LPCTSTR pszFilter, long lFilterType, LRESULT* lpResult)
|
|
{FireEvent(eventidFilterChange,EVENT_PARAM(VTS_I4 VTS_BSTR VTS_I4 VTS_PI4), lItem, pszFilter, lFilterType, lpResult);}
|
|
//}}AFX_EVENT
|
|
DECLARE_EVENT_MAP()
|
|
|
|
// Dispatch and event IDs
|
|
public:
|
|
enum {
|
|
//{{AFX_DISP_ID(CHMListViewCtrl)
|
|
dispidTitle = 1L,
|
|
dispidDescription = 2L,
|
|
dispidSetProgressRange = 3L,
|
|
dispidGetProgressPos = 4L,
|
|
dispidSetProgressPos = 5L,
|
|
dispidInsertItem = 6L,
|
|
dispidInsertColumn = 7L,
|
|
dispidSetItem = 8L,
|
|
dispidGetStringWidth = 9L,
|
|
dispidGetColumnWidth = 10L,
|
|
dispidSetColumnWidth = 11L,
|
|
dispidFindItemByLParam = 12L,
|
|
dispidGetImageList = 13L,
|
|
dispidDeleteAllItems = 14L,
|
|
dispidDeleteColumn = 15L,
|
|
dispidStepProgressBar = 16L,
|
|
dispidSetProgressStep = 17L,
|
|
dispidSetImageList = 18L,
|
|
dispidGetNextItem = 19L,
|
|
dispidGetItem = 20L,
|
|
dispidDeleteItem = 21L,
|
|
dispidGetItemCount = 22L,
|
|
dispidModifyListStyle = 23L,
|
|
dispidGetColumnCount = 24L,
|
|
dispidGetColumnOrderIndex = 25L,
|
|
dispidSetColumnOrderIndex = 26L,
|
|
dispidGetColumnOrder = 27L,
|
|
dispidSetColumnOrder = 28L,
|
|
dispidSetColumnFilter = 29L,
|
|
dispidGetColumnFilter = 30L,
|
|
dispidGetSelectedCount = 31L,
|
|
eventidListClick = 1L,
|
|
eventidListDblClick = 2L,
|
|
eventidListRClick = 3L,
|
|
eventidCompareItem = 4L,
|
|
eventidListLabelEdit = 5L,
|
|
eventidListKeyDown = 6L,
|
|
eventidFilterChange = 7L,
|
|
//}}AFX_DISP_ID
|
|
};
|
|
};
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_HMLISTVIEWCTL_H__5116A814_DAFC_11D2_BDA4_0000F87A3912__INCLUDED)
|