1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
void __fastcall TForm::OnDrawItem(
TWinControl *Control, int Index, TRect &Rect, TOwnerDrawState State)
{
// On récupère la ListBox appelante
TListBox *ListBox = (TListBox *)(Control);
// On récupère la Piece correspondante dans la liste des Pièces
TPiece *Piece = (TPiece *)(ListePieces->Items[Index]);
// Si le fichier n'existe pas
if(!FileExists(Piece->CheminFichier))
{
// On change la couleur de la police
ListBox->Canvas->Font->Color = clRed;
}
// S'il ne s'agit pas d'un élément sélectionné
if(!State.Contains(odSelected))
{
// On met la couleur du pinceau à blanc
ListBoxAppelante->Canvas->Pen->Color = clWhite;
}
// On dessine le fond de la cellule
ListBoxAppelante->Canvas->FillRect(Rect);
// Nom de la pièce
AnsiString NomPiece = "\"" + ExtractFileName(Piece->CheminFichier) + "\"";
// On dessine le texte de l'item
ListBoxAppelante->Canvas->TextOut((Rect.Left + 2), Rect.Top, NomPiece);
} |
Partager