Files
AC_Pro/ListViewBase.h
T
2026-06-13 00:05:19 +08:00

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