C++ Builder Snippets  

Farbige Einträge in der TListBox:
 
//-------------------------------------------------------------------
// Zeichnen der Einträge in der ListBox in verschiedenen Farben:
//
// (Eigenschaft Style der Listbox auf "lbOwnerDrawVariable" setzen !)
//-------------------------------------------------------------------
// OnDrawItem-Ereignisroutine der ListBox:
//-------------------------------------------------------------------
void __fastcall TForm1::ListBox1DrawItem(TWinControl *Control, int Index,
      TRect &Rect, TOwnerDrawState State)
{
  // Farbe bestimmen:
  TColor clText = clBlack;
  switch (ListBox1 -> Items -> Strings[Index][1])
  {
    case 'A': clText = clBlue;   break;
    case 'J': clText = clRed;    break;
    case 'M': clText = clGreen;  break;
    case 'N': clText = clTeal;
  }

  ListBox1 -> Canvas -> FillRect(Rect);

  // Falls Einrag ausgewählt weisse farbe verwenden,
  // ansonsten die oben bestimmte:
  ListBox1 -> Canvas -> Font -> Color =
    State.Contains(odSelected) ? clWhite : clText;

  // Text zeichnen:
  ListBox1 -> Canvas -> TextOut(Rect.Left + 5, Rect.Top,
    ListBox1 -> Items -> Strings[Index]);
}

  Download BCB4
Projekt-Quellcode
Download
Demo-Exe

© '99-2000 by S. Kreutzmann