![]() |
Imagelist - bug ?
Liste der Anhänge anzeigen (Anzahl: 1)
Hi.
Diese ***** Imagelist macht mich noch wahnsinnig. Folgende Situation: Ich habe eine Imagelist mit Icons (*.ico), welche ich mit
Delphi-Quellcode:
in ein Stringgrid zeichnen lasse. In diesem Beispiel wird das 3. Bild (mit Index 2) genau an den Anfang der 3. Zeile geschrieben. Soweit sogut.
ImageList1.Draw(StringGrid1.Canvas,0,StringGrid1.CellRect(0,2).Top,2);
Wenn ich das ganze jetzt mit mehreren Mache, gehts auch
Delphi-Quellcode:
Ich habe 6 Bilder in der Imagelist. Wenn ich jetzt das 6. auch zeichen lasse, sieht das ganze so aus.
ImageList1.Draw(StringGrid1.Canvas,0,StringGrid1.CellRect(0,0).Top,0);
ImageList1.Draw(StringGrid1.Canvas,0,StringGrid1.CellRect(0,1).Top,1); ImageList1.Draw(StringGrid1.Canvas,0,StringGrid1.CellRect(0,2).Top,2); ImageList1.Draw(StringGrid1.Canvas,0,StringGrid1.CellRect(0,3).Top,3); ImageList1.Draw(StringGrid1.Canvas,0,StringGrid1.CellRect(0,4).Top,4);
Delphi-Quellcode:
Sollte eigentlich gehen, tuts aber nicht. Das 6. Bild wird zwar gezeichnet, allerdings wird das erste Bild gleichzeitig vom 6. Bild überschrieben...
ImageList1.Draw(StringGrid1.Canvas,0,StringGrid1.CellRect(0,0).Top,0);
ImageList1.Draw(StringGrid1.Canvas,0,StringGrid1.CellRect(0,1).Top,1); ImageList1.Draw(StringGrid1.Canvas,0,StringGrid1.CellRect(0,2).Top,2); ImageList1.Draw(StringGrid1.Canvas,0,StringGrid1.CellRect(0,3).Top,3); ImageList1.Draw(StringGrid1.Canvas,0,StringGrid1.CellRect(0,4).Top,4); ImageList1.Draw(StringGrid1.Canvas,0,StringGrid1.CellRect(0,5).Top,5); Wers nich versteht, schaut auf die Screenshots. Was habe ich falsch gemacht? Thx, Flips |
Re: Imagelist - bug ?
Da ich nicht weiß, wo du deine Codefragmente aufrufst, hab ich mir mal schnell einen OnDrawCell-Handler gebaut:
Delphi-Quellcode:
Auf die Art hab ich dein Artefakt nicht. Wenn das dein Problem nicht löst, bitte mehr Infos.
procedure TForm62.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); begin if ACol = 0 then ImageList1.Draw(StringGrid1.Canvas, Rect.Left + 2, Rect.Top + 2, ARow); end; Uli. |
Re: Imagelist - bug ?
Man merkt das ich schon lang nixmehr gemacht habe :-)
Code passt wunderbar, copy&paste -> funktioniert!!! Thx :thumb: :dp: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz