![]() |
Re: 3 Spalte einer ListView
so hab das ganze jetzt ein wenig anders gemacht nu irgendetwas fehlt ncoh weil nix passiert..oder vllt. kann ichs so auch garnet machen
Delphi-Quellcode:
pic1 := TBitmap.Create; ImageList1.GetBitmap(0,pic1); //ListView1CustomDrawSubItem(Sender.Handle, Item.Index, SubItem, cdsDefault , @R); Sender.Canvas.Brush.Bitmap := pic1; DefaultDraw := True; |
Re: 3 Spalte einer ListView
Ich hab Dir gesagt, Du sollst mal in die Hilfe zu Canvas.Draw gucken! :evil:
Delphi-Quellcode:
Sender.Canvas.Draw(x,y, pic1);
|
Re: 3 Spalte einer ListView
ja hab ich ja acuh aber woher bekomme ich x und y ich find keien Methode dazu
|
Re: 3 Spalte einer ListView
Das sind die Koordinaten, wohin Du das Bild im Canvas zeichnen willst. Probiers mal mit zwei Nullen für ganz links oben :roll:. Und welche Methode findest Du nicht?
|
Re: 3 Spalte einer ListView
naja ich weiss das es die koordinaten sind es soll ja aber in eine Zelle des Listview gezeichnet werden also Item 1 Subitem=1 da dachte ich es gbt was was mir die Positiojn dieser "Zelle" zurückgibt
|
Re: 3 Spalte einer ListView
Du kennst Doch die Columns-Eigenschaft der Listview, oder?
Die ColumnItems haben alle eine Breite. Also ist der Linke Anfang der Zweiten Spalte 0 + Breite der Ersten. Und der Linke Anfang der Dritten ist 0 + Breite der Ersten + Breite der Zweiten. So schwer ist das nicht. Und was die Y - Koordinate angeht, so nimmst Du die Höhe eines einzelnen Items * Index des Items. |
Re: 3 Spalte einer ListView
ok ich habs also Left sieht so aus
Delphi-Quellcode:
und Top bekomm ich ja in dem Moment wo ich der Funktion das Item übergebe!
R.Left := ListView1.Column[0].Width + ListView1.Column[1].Width + ((ListView1.Column[2].Width)div 2)- (pic1.Width div 2);
Danke an alle :angel: |
Re: 3 Spalte einer ListView
Liste der Anhänge anzeigen (Anzahl: 1)
mhh eigenartig jetzt malt er 2 Spalten top und in der dritten sitz das Häkchen(Bild) irgendwie hinter der Spalte wenn ich diese Verschiebe werden sie sichtbar.
Siehe Bild
Delphi-Quellcode:
und
Form1.Refresh;
Delphi-Quellcode:
hab ich schon getestet bringt aber nichts.
self.doublebuffered := true;
Ausserdem noch ne Frage wie kann ich es vermeiden das wenn die Spalte vergrößert wird bzw. die Position ändert das alte noch da ist er zeichnet dann neu aber die alten Bilder werden est gelsöcht wenn das Item angewählt wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 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-2025 by Thomas Breitkreuz