1 2 //--------------------------------------------------------------------------- 3 4 #include <vcl.h> 5 6 #pragma hdrstop 7 8 #include "Unit1.h" 9 //--------------------------------------------------------------------------- 10 #pragma package(smart_init) 11 #pragma resource "*.dfm" 12 TForm1 *Form1; 13 //--------------------------------------------------------------------------- 14 __fastcall TForm1::TForm1(TComponent* Owner) 15 : TForm(Owner) 16 { 17 } 18 //--------------------------------------------------------------------------- 19 20 //Select the listbox style lbOwnerDrawFixed in the object inspector. 21 22 void __fastcall TForm1::Button1Click(TObject *Sender) 23 { 24 ListBox1->AddItem("Test",NULL); 25 Application->ProcessMessages(); 26 ListBox1->AddItem("Test II",NULL); 27 Application->ProcessMessages(); 28 ListBox1->AddItem("Test III",NULL); 29 } 30 //--------------------------------------------------------------------------- 31 void __fastcall TForm1::ListBox1DrawItem(TWinControl *Control, int Index, 32 TRect &Rect, TOwnerDrawState State) 33 { 34 TColor ListColor; 35 TBrush *ListBrush= new TBrush ; 36 AnsiString sText; 37 String sText2; 38 // ListBox1->Canvas->Brush 39 40 if ((Index % 2)==1){ 41 ListColor = clSilver; } 42 else{ 43 ListColor = clBlue;} 44 45 ListBrush->Style = bsSolid; 46 ListBrush->Color = ListColor; 47 ::FillRect(Handle, &Rect, ListBrush->Handle); 48 ListBox1->Canvas->Brush->Style = bsClear; 49 50 // write out the text 51 sText = ListBox1->Items[Index].Text; 52 53 ListBox1->Canvas->TextOut(Rect.Left, Rect.Top,sText); 54 55 ListBrush->Free(); 56 57 58 } 59 //---------------------------------------------------------------------------