124 lines
5.0 KiB
C++
124 lines
5.0 KiB
C++
//---------------------------------------------------------------------------
|
|
|
|
#ifndef ListViewBaseH
|
|
#define ListViewBaseH
|
|
//---------------------------------------------------------------------------
|
|
#include "TableViewUnit.h"
|
|
//---------------------------------------------------------------------------
|
|
class TListViewBase: public TTableView
|
|
{
|
|
|
|
private:
|
|
|
|
TPoint m_ptTimer;
|
|
TTimer *m_MoveTimer;
|
|
void __fastcall MoveTimerProc(System::TObject* Sender);
|
|
|
|
bool FRightCellChange;
|
|
TNotifyDraw FOnDrawCell;
|
|
TNotiCell FOnCellData;
|
|
TNotifyBtn FOnCellLClick,
|
|
FOnCellRClick,
|
|
FOnCellLDClick;
|
|
|
|
bool FRightIconChange;
|
|
bool FIconChange;
|
|
TNotifyDraw FOnDrawIcon;
|
|
TNotiCell FOnIconData;
|
|
TNotiIconsNum FOnIconsNum;
|
|
TNotiIconsBounds FOnIconsBounds;
|
|
TNotifyBtn FOnIconLClick,
|
|
FOnIconRClick,
|
|
FOnIconLDClick;
|
|
|
|
void __fastcall DoIconDataAndBounds(TStateBtn *pBtnCol);
|
|
|
|
protected:
|
|
|
|
//TStateBtn has "Index" property connect to data
|
|
virtual void __fastcall BtnDown(TStateBtn *pCur, TPoint pt, bool bLeft=true);
|
|
virtual void __fastcall BtnUp(TStateBtn *pCur, TStateBtn *pSel, TPoint pt, bool bLeft=true);
|
|
virtual void __fastcall BtnMove(TStateBtn *pCur, TPoint pt);
|
|
|
|
virtual void __fastcall DoDrawBKG(TPanelDB *Sender, TCanvas *pCanvas, TRect rtBKG){}
|
|
virtual int __fastcall DoTitle(TTableView *Sender){return 0;}
|
|
virtual int __fastcall DoBottom(TTableView *Sender){return 0;}
|
|
|
|
virtual int __fastcall DoCellHgt(TTableView *Sender, int iCellIndex){return 0;}
|
|
virtual int __fastcall DoClickL(TStateBtn *Sender, TPoint pt){return 0;}
|
|
virtual int __fastcall DoClickLP(TStateBtn *Sender, TPoint pt){return 0;}
|
|
virtual int __fastcall DoClickR(TStateBtn *Sender, TPoint pt){return 0;}
|
|
virtual int __fastcall DoClickRP(TStateBtn *Sender, TPoint pt){return 0;}
|
|
|
|
virtual int __fastcall DoMDCell(TTableView *Sender, int iCellIndex);
|
|
virtual int __fastcall DoMDNum(TTableView *Sender){return 0;}
|
|
virtual int __fastcall DoMDTop(TTableView *Sender){return 0;}
|
|
virtual int __fastcall DoMDBottom(TTableView *Sender){return 0;}
|
|
virtual int __fastcall DoMDMOV(TStateBtn *Src, TStateBtn *Des, TPoint pt){return 0;}
|
|
|
|
virtual int __fastcall DoCellData(TStateBtn *sender){return 0;}
|
|
virtual void __fastcall DoCellDraw(TStateBtn *sender, int BsTmp, TRect rtTmp, TCanvas *pCanvas){}
|
|
virtual void __fastcall DoCellLClick(TStateBtn *sender){}
|
|
virtual void __fastcall DoCellRClick(TStateBtn *sender){}
|
|
virtual void __fastcall DoCellDBClick(TStateBtn *sender){}
|
|
|
|
virtual int __fastcall DoIconData(TStateBtn *sender){return 0;}
|
|
virtual int __fastcall DoIconsNum(TStateBtn *parent){return 0;}
|
|
virtual int __fastcall DoIconsBounds(TStateBtn *sender, TRect &rtBounds){return 0;}
|
|
virtual void __fastcall DoIconDraw(TStateBtn *sender, int BsTmp, TRect rtTmp, TCanvas *pCanvas){}
|
|
virtual void __fastcall DoIconLClick(TStateBtn *sender){}
|
|
virtual void __fastcall DoIconRClick(TStateBtn *sender){}
|
|
virtual void __fastcall DoIconDBClick(TStateBtn *sender){}
|
|
|
|
virtual int __fastcall DoMouseWheel(TObject *Sender);
|
|
|
|
public:
|
|
void __fastcall SetTextFontSize(int sz);
|
|
|
|
__fastcall TListViewBase(TComponent* Owner);
|
|
__fastcall ~TListViewBase();
|
|
|
|
__published:
|
|
|
|
__property OnDrawBKG;
|
|
|
|
__property OnCellHgt;
|
|
__property OnTitle;
|
|
__property OnBottom;
|
|
__property OnClickL;
|
|
__property OnClickLP;
|
|
__property OnClickR;
|
|
__property OnClickRP;
|
|
|
|
__property OnMDCell;
|
|
__property OnMDNum;
|
|
__property OnMDTop;
|
|
__property OnMDBottom;
|
|
__property OnMDMOV;
|
|
|
|
__property IndFocus;
|
|
__property IndSel;
|
|
__property HgtSmall;
|
|
__property OnChange;
|
|
|
|
__property TNotiCell OnCellData = {read=FOnCellData, write=FOnCellData };
|
|
__property TNotifyDraw OnDrawCell = {read=FOnDrawCell, write=FOnDrawCell };
|
|
__property TNotifyBtn OnCellLClick = {read=FOnCellLClick, write=FOnCellLClick };
|
|
__property TNotifyBtn OnCellRClick = {read=FOnCellRClick, write=FOnCellRClick };
|
|
__property TNotifyBtn OnCellLDClick = {read=FOnCellLDClick, write=FOnCellLDClick };
|
|
__property bool RightCellChange = {read=FRightCellChange, write=FRightCellChange, default=false };
|
|
|
|
__property TNotiCell OnIconData = {read=FOnIconData, write=FOnIconData };
|
|
__property TNotiIconsNum OnIconsNum = {read=FOnIconsNum, write=FOnIconsNum };
|
|
__property TNotiIconsBounds OnIconsBounds = {read=FOnIconsBounds, write=FOnIconsBounds };
|
|
__property TNotifyDraw OnDrawIcon = {read=FOnDrawIcon, write=FOnDrawIcon };
|
|
__property TNotifyBtn OnIconLClick = {read=FOnIconLClick, write=FOnIconLClick };
|
|
__property TNotifyBtn OnIconRClick = {read=FOnIconRClick, write=FOnIconRClick };
|
|
__property TNotifyBtn OnIconLDClick = {read=FOnIconLDClick, write=FOnIconLDClick };
|
|
__property bool IconChange = {read=FIconChange, write=FIconChange, default=false };
|
|
__property bool RightIconChange = {read=FRightIconChange, write=FRightIconChange, default=false };
|
|
|
|
};
|
|
#endif
|
|
|