Hallöle in die Runde,
ich versuche, mehrzeilige (Sub-)Items in einem ListView zu generieren.
Allerdings wird niemals die Message WM_MEASUREITEM getriggert. Auf die müßte ich aber reagieren, um die Höhe des Items zu verändern.
OwnerDraw ist TRUE.
Kann mir jemand helfen?
Windows 10, Lazarus und FPC sind Stand heute (gerade neu heruntergeladen und installiert)...
WM_MEASUREITEM wird nicht getriggert
Re: WM_MEASUREITEM wird nicht getriggert
Ich bin nicht sicher, ob ein TListView Zeilen mit unterschiedlichen Höhen haben kann. Im gesamten Quellcode von TCustomListView, sowohl in den Ordnern lcl und lcl/include, als auch für das entsprechende Windows-Widget (Ordner lcl/interfaces/win32) finde ich nirgendwo die Buchstaben "measure", und wenn ich WM_MEASUREITEM in Google eingebe, erwähnt die gefundene Microsoft-Seite (https://docs.microsoft.com/de-de/window ... easureitem) nur "Listen- und Kombinationsfelder", also TListBox und TComboBox. Bist du sicher, dass du da nichts durcheinandergebracht hast?
Wenn du unterschiedliche Zeilen in einem TListView-ähnlichen Control in "Report"-Darstellung brauchst, dann könntest du zu VirtualTreeView wechseln (was aber einiges an Änderungen im Quellcode bedeutet) oder zu TStringGrid, das man so designen kann, dass es sich optisch kaum noch von TListView unterscheidet.
Wenn du unterschiedliche Zeilen in einem TListView-ähnlichen Control in "Report"-Darstellung brauchst, dann könntest du zu VirtualTreeView wechseln (was aber einiges an Änderungen im Quellcode bedeutet) oder zu TStringGrid, das man so designen kann, dass es sich optisch kaum noch von TListView unterscheidet.
Re: WM_MEASUREITEM wird nicht getriggert
Danke wp_xyz,
ich glaube auch, damit bin ich auf dem Holzweg.
Es geistern halt einige Snippets im i-Net herum, die das angeblich via WM_MEASUREITEM können mit einer TListView.
Ich versuche das jetzt lieber mit ner TListBox, das erscheint mir erfolgversprechender. Die bietet ja auch direkt ein OnMeasureItem-Event.
ich glaube auch, damit bin ich auf dem Holzweg.
Es geistern halt einige Snippets im i-Net herum, die das angeblich via WM_MEASUREITEM können mit einer TListView.
Ich versuche das jetzt lieber mit ner TListBox, das erscheint mir erfolgversprechender. Die bietet ja auch direkt ein OnMeasureItem-Event.