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/)
-   -   Delphi Zeilenumbruch in VirtualTreeView (VST) (https://www.delphipraxis.net/132622-zeilenumbruch-virtualtreeview-vst.html)

TUX_der_Pinguin 16. Apr 2009 09:37


Zeilenumbruch in VirtualTreeView (VST)
 
Ich beschäftige mich grade mit dem Thema Multiline, dazu verwende ich die aktuelle Version 4.8.5 von VST sowie
Delphi 2007 Prof. für Win32 R2. Was ich will sind einige Zeilen die mehrzeilig Angezeigt werden sollen, dies soll
aber mehr oder minder manuell gesteuert werden d.h. der Zeilenumbruch soll an einer bestimmten Stelle eingefügt werden.

Beispiel eines Node:
Zitat:

Dies ist die 1. Zeile
Dies ist die 2. Zeile, die noch länger ist wie die 1.
Eine dritte bzw. weitere Zeilen sind optional.
Im Text sind Steuerzeichen für den Zeilenumbruch verantwortlich #13#10, diese Steuerzeichen werden im
VirtualTreeView jedoch nur als kästchen dargestellt, bei der Suche nach dem Problem bin ich auf einen
Beitrag aus dem Support Forum von Soft-gems gestoßen. Soft-Gems Forum aus dem Jahre 2004,
dort wird beschrieben das es keine Lösung zu geben scheint.

Tja meine Frage ist hat sich da mitlerweile etwas getan oder kann ich mein Vorhaben gleich begraben?

TUX_der_Pinguin 16. Apr 2009 10:16

Re: Zeilenumbruch in VirtualTreeView (VST)
 
Hmm ich bin einwenig verwirrt, ich habe die Spaltenbreite etwas vergrößert und jetzt scheint es zu funktionieren,
aber auch nicht 100%, d.h. ist die Spalte mehr als Breit genüg bricht der Text bei #13#10 um, ist die Zeile nicht breit
genug tauchen im Text die Steuerzeichen als "Kästchen" auf. Sprich man kann den Zeilen umbruch in diesem Fall nicht erzwingen.

Ist die Spalte breit genug, funktioniert es.
Zitat:

Dies ist die 1. Zeile
Dies ist die 2. Zeile, die noch länger ist wie die 1.
Eine dritte bzw. weitere Zeilen sind optional.
Ist die Spalte zu schmal, klappt es nicht
Zitat:

Dies ist die 1.
Zeile#13#10Dies ist
die 2. Zeile, die noch
länger ist wie die 1.#13#10
Eine dritte bzw. weitere
Zeilen sind optional.

Jens Hartmann 16. Apr 2009 11:13

Re: Zeilenumbruch in VirtualTreeView (VST)
 
Hallo,

ich weiß zwar nicht, ob ich damit richtig liege, aber wenn du die Zeilenumbrüche mit StringReplaced bearbeiten würdest, vorrausgestzt natürlich es sind String´s, und du setzt die Spaltenbreite auf deine gewünschte Zeilenlänge und außerdem
MultiLine vom VST auf true, müsste das ganze automatisch gehen.

z.B.

Delphi-Quellcode:

  MeinString := StringReplace(MeineString, #10#13, ' ', [rfReplaceAll]);

Wenn du jetzt die Spaltenbreite so setzten tust, das da 40 Zeichen Platz haben, und du vorher jede Zeile auf die Länge 40 Zeichen setzen tust, müsste das Funktionieren.

Gruß Jens

TUX_der_Pinguin 16. Apr 2009 11:18

Re: Zeilenumbruch in VirtualTreeView (VST)
 
Zitat:

Zitat von Jens Hartmann
Hallo,

ich weiß zwar nicht, ob ich damit richtig liege, aber wenn du die Zeilenumbrüche mit StringReplaced bearbeiten würdest, vorrausgestzt natürlich es sind String´s, und du setzt die Spaltenbreite auf deine gewünschte Zeilenlänge und außerdem
MultiLine vom VST auf true, müsste das ganze automatisch gehen.

z.B.

Delphi-Quellcode:

  MeinString := StringReplace(MeineString, #10#13, ' ', [rfReplaceAll]);

Wenn du jetzt die Spaltenbreite so setzten tust, das da 40 Zeichen Platz haben, und du vorher jede Zeile auf die Länge 40 Zeichen setzen tust, müsste das Funktionieren.

Gruß Jens


Das bringt mir nichts, da ich z.B. auch mal einen Umbruch nach dem ersten Wort setzen will und die nächste Zeile ist dann
ein vielfaches länger.

Ausserdem klappt es ja jetzt doch, ich muß nur drauf achten das die Spaltenbreite generell recht großzügig gewählt ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:05 Uhr.

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