Hallo ich habe eine Komponente für die Visuelle Darstellung von Feldern einer DB entwickelt wie ne ListBox und da wollte ich das alle
required Felder dargestellt werden als rotes * Sternchen! Aber der macht jedesmal untershiedliche Anzeige! In der DB wo ich das abbilde
ist alles wircklich 1 zu 1 abgebildet also sollte da auch kein Fehler sein!
Ich habe eine TList genommen wo ich selbstdefinierte TFieldDefs drin habe also halt das nötigste:
- FeldName
- Required
- FieldType
Diese TList laufe ich durch und füge die Items zu der ListBox hinzu also die FeldNamen
und in OnDrawItem kennzeichne ich wo Required Fields sind aber das Ergebnis ist immer unterschiedlich!
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure OnDrawItem(..index); begin with FVisualTable.Canvas do begin if(IsFieldRequired(index))then begin Font.Color := clRed; TextOut(Rect.Left+1,Rect.Top+1,'*'); end; Font.Color := clBlack; TextOut(Rect.Left+7,Rect.Top+1, FVisualTable.Items.String(index)); end; end; |