Hallo,
ich habe ein (kleines) Problem:
ich verwende in einem ListView eine Imagelist mit Images der Größe 48x48 Pixeln.
Unter Windows liefert Item.DisplayRect(drIcon) die (korrekte) Höhe von 49 Pixeln, unter Linux allerdings 22 Pixel. Habe ich irgendwo eine Einstellung übersehen oder ist das ein Bug?
Lazarus 2.2.0 /FPC 3.2.2
ListItem.DisplayRect
Re: ListItem.DisplayRect
Funktioniert bei mir einwandfrei unter win32/64, gtk2, qt5 (außer gtk3, das liefert Höhe 0). Mein Programm im Anhang.
Hast du die ImageList richtig reingehängt? Nur der ViewIcon vsList benötigt die LargeImages, bei allen anderen muss die ImageList an SmallImages angeschlossen sein (auch wenn die Bilder mit 48x48 eher "groß" sind).
Hast du die ImageList richtig reingehängt? Nur der ViewIcon vsList benötigt die LargeImages, bei allen anderen muss die ImageList an SmallImages angeschlossen sein (auch wenn die Bilder mit 48x48 eher "groß" sind).
- Dateianhänge
-
listview_displayRect_48.zip
- (5.93 KiB) 74-mal heruntergeladen
Zuletzt geändert von wp_xyz am So 29. Okt 2023, 23:28, insgesamt 1-mal geändert.
Re: ListItem.DisplayRect
Die Imageliste ist richtig eingehängt. Der Viewstyle ist vsList, allerdings werden die Einträge über onCustomDrawitem dargestellt.. In der Routine wird, eben um Icon und Text korrekt darstellen zu können, das DisplayRect ermittelt, das aber unter Windows und Linux unterschiedliche Werte liefert.
Re: ListItem.DisplayRect
Problem gelöst. ViewStyle = vsReport, eine Spalte mit Autosize = true , Caption = '' hat das Problem beseitigt.
Aber warum das unter Windows mit ViewStyle = vsList einwandfrei funktioniert, unter Linux aber nicht, ist mir immer noch rätselhaft. Aber was soll's.
Danke für das Mitdenken!
Aber warum das unter Windows mit ViewStyle = vsList einwandfrei funktioniert, unter Linux aber nicht, ist mir immer noch rätselhaft. Aber was soll's.
Danke für das Mitdenken!