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/)
-   -   Umbruch in Checkbox mit bedingtem Trennzeichen. (https://www.delphipraxis.net/214445-umbruch-checkbox-mit-bedingtem-trennzeichen.html)

dummzeuch 12. Jan 2024 13:24

Umbruch in Checkbox mit bedingtem Trennzeichen.
 
TCheckbox (VCL) hat ja schon seit einiger Zeit eine WordWrap Property, die die Caption automatisch umbricht, wenn sie zu breit wird. Ich verwende das in der Regel in Kombination mit Anchor = [akLeft, akTop, akRight].
Das funktioniert auch prima, wenn die Worte nicht allzu lang sind. Allerdings gibt es solche Wortungetüme wie "Geschwindigkeitskorrektur", die ich gerne passend trennen würde:
Delphi-Quellcode:
Caption := 'Geschwindigkeits-'#13#10+'korrektur';

funktioniert zwar, aber das führt halt immer zu einem Umbruch, auch wenn die Checkbox breit genug wäre.

Textverarbeitungen kennen ja sowas wie ein bedingtes Trennzeichen, welches ein Wort nur dann trennt, wenn es den Umbruch verbessert. Ich vermute mal, TCheckbox unterstützt sowas nicht, oder?

(Es ist mir nicht wichtig genug, um es selbst zu programmieren, aber vielleicht gibt es das ja und ich weiß es nur nicht.)

himitsu 12. Jan 2024 14:15

AW: Umbruch in Checkbox mit bedingtem Trennzeichen.
 
Im HTML und CSS gibt es ja Elemente und Entities, welche den Zeilenumbruch steuern.
Auch Word und Wordpad/RTF kennen sowas.

Jene gibt es auch im Unicode.
Angefangen mit dem berühmten NonBrackingSpace #160

#$2011 Nicht umbrechender Vietelstrich
#$200B 0-breites Leerzeichen
#$200D Umbruch mit Vietelstrich
https://www.compart.com/de/unicode/block/U+2000

Delphi-Quellcode:
'aaaaa'#$200B'bbbbb'#$200D'ccccc'#$2011'ddddd eeee fffff'#160'ggggg hhhhh'


Delphi-Quellcode:
'aaaaa'#8203'bbbbb'#8205'ccccc'#8209'ddddd eeee fffff'#160'ggggg hhhhh'


Aber leider wollen Label und Checkbox sowas nicht kennen.
Memo kennt zumindestens noch das 0-breite Leerzeichen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:19 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