Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   OnMeasureItem und die Canvas Länge (https://www.delphipraxis.net/166666-onmeasureitem-und-die-canvas-laenge.html)

Popov 24. Feb 2012 07:12

OnMeasureItem und die Canvas Länge
 
Und zwar habe ich vor den Text eines Items auf mehrere Zeilen zu verteilen, wenn er nicht in eine Zeile paßt. Das Problem ist, dass ich dafür die Pixellänge des Textes mit der Canvas Breite vergleichen muß. Das erste klappt ja noch, das zweite nicht.

OnMeasureItem liefert zwar keinen Rect wert, aber Canvas eigentlich ClipRect. Nur bekomme ich bei ClipRect.Right den Wert 0 raus. Somit kann ich die Breite der Zeichenfläche nicht ermitteln.

Die Width Breite der ListBox liefert zwar einen ähnlichen Wert, aber nicht den richtigen.

Also entweder ziehe ich von ListBox Width alle Border Breiten ab oder ich hab was übersehen.

jaenicke 24. Feb 2012 07:18

AW: OnMeasureItem und die Canvas Länge
 
Dafür gibt es ClientWidth und ClientRect bei der ListBox.

Popov 24. Feb 2012 07:49

AW: OnMeasureItem und die Canvas Länge
 
Willst du mir durch die Blume sagen ich soll zukünftig besser die OH durchstöbern? Hast ja Recht. Obwohl ClientWidth so weit erst in der TControl vorkommt, dass ich die übersehen habe. Und dabei habe ich wirklich nach ClientWidth gesucht und mich gewundert, dass es nicht da ist. :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz