//--------------------------------------------------------------------------- #include #pragma hdrstop #include "ListViewText.h" //--------------------------------------------------------------------------- #pragma package(smart_init) //--------------------------------------------------------------------------- __fastcall TListViewText::TListViewText(TComponent* Owner) : TListViewBase( Owner ) { m_VcText = NULL; } //--------------------------------------------------------------------------- __fastcall TListViewText::~TListViewText() { } //--------------------------------------------------------------------------- int __fastcall TListViewText::DoCellHgt(TTableView *Sender, int iCellIndex) { return CELL_HEIGHT; } //--------------------------------------------------------------------------- int __fastcall TListViewText::DoMDNum(TTableView *Sender) { if( m_VcText ) { int nSize = m_VcText->size(); return m_VcText->size(); } return 0; } //--------------------------------------------------------------------------- int __fastcall TListViewText::DoCellData(TStateBtn *sender) { sender->SetData((void *)((*m_VcText)[sender->Index])); } //--------------------------------------------------------------------------- void __fastcall TListViewText::DoCellDraw(TStateBtn *sender, int BsTmp, TRect rtTmp, TCanvas *pCanvas) { TStateBtn *pBtn = (TStateBtn *)sender; char *strProg = (char *)pBtn->m_Data; if( Bs_NORMAL==BsTmp ) { pCanvas->Brush->Color = LP_ITEM_DEF; }else if( Bs_ENTER==BsTmp ){ pCanvas->Brush->Color = LP_ITEM_OVER; }else if( Bs_DOWN==BsTmp ){ pCanvas->Brush->Color = LP_ITEM_SELECTED; } if( BsTmp==Bs_NORMAL || BsTmp==Bs_ENTER || BsTmp==Bs_DOWN ) { pCanvas->FillRect(rtTmp); pCanvas->Brush->Style = bsClear; pCanvas->Font->Color = FontClolor; String strCaption = strProg; TSize szFont = pCanvas->TextExtent(strCaption); // pCanvas->Font->Size = 8; pCanvas->TextOutW(rtTmp.Left+4, rtTmp.Top+(rtTmp.Height()-szFont.Height)/2, strCaption); } } //---------------------------------------------------------------------------