Hi @ll,
ich versuche in einem StringGrid verschiedene Bilder in unterschiedliche Zellen zu laden. Das funktioniert soweit auch ganz
gut mit der OnDrawCell Methode.
Das Problem ist wenn das StringGrid zu ende geladen ist und ich durch die Einträge
scrolle ändern sich die Bilder alle in das Bild was als letztes eingetragen wurde.
Ich habe das Gefühl, das beim selektieren/scrollen jedes mal die Funktion OndrawCell die Zeile neu zeichnet und er nimmt dann den
letzten Wert der globalen Variablen Bild(Integer) als Index von der ImageList und zeichnet das letzte bild.
Ich will nicht das er neu zeichnet *grummel* Die Liste soll nur einmal gezeichnet werden und kann angesehen werden, und gescrollt.
Ich suche schon irgendein Property das selektieren verhindert, weil ich vermute das durch das makieren der Zeile die OnDrawCell Methode aufgerufen wird ?
Hier mal der Code der OnDrawCell:
Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
zelle: string;
begin
if ((ACol = 1) and (ARow > 1)) then
with (Sender as TStringGrid) do
begin
ImageList1.Draw(Canvas, Rect.Left, Rect.Top, bild); //Bild ist eine globale Variable vom Typ integer
end;
end;
greetz Lun
Thx for Help