Thema: Delphi Listboxitem zentrieren?

Einzelnen Beitrag anzeigen

Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#1

Listboxitem zentrieren?

  Alt 7. Jul 2014, 14:31
Hallo,

wie zentriert man einen Listboxeintrag bzgl. clientwidth der Listbox?
Nicht grinsen!!! Das wäre recht einfach, wenn man nur einmal canvas.textout hätte.
Aber:
items[index] sei irgendwie zerlegt in s1, s2 und s3.
Und zwar erst in DrawItem!
(items[index]:=s1+s2+s3
Alle diese Teile werden zwar auf der gleichen Zeile, aber eben unterschiedlich formatiert ausgegeben.
(Anderer canvas.font, anderer canvas.brush, Leerzeichen dazwischen usw.)
Also hat man nicht einen kompakten String und deshalb die Ausgabelänge, sondern 3 mal canvas.textout.
Man kennt die Ausgabelänge nicht, bevor man das alles ausgegeben hat.
Wie das dann zentrieren?
Mir fehlt da die Idee.
Evtl. erst auf eine Bitmap zeichnen, dann hat man die Gesamtlänge. Die richtige Position auf der Listbox setzen und zuletzt die Bitmap auf die Listbox schieben
oder alles dort neu hinzeichnen? Was wäre besser?

Gruß
Mattze
  Mit Zitat antworten Zitat