Autor Beitrag
connyT
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Mo 11.02.19 17:35 
Hallo zusammen (:

Ich versuche eine Textbox darzustellen, die variablen Text enhält. Also je nach Text der darin angezeigt werden soll, soll die Höhe des Textelements angepasst werden.
Dafür habe ich jetzt eine TFramedVertScrollBox genutzt und in ihr ein TText-Element hinzugefügt.
Das TText-Element hat folgende Eigenschaften:
Align: MostTop
TextSettings HorzAlign: Leading
TextSettings VertAlign: Leading
AutoSize: True

Was ich schon festgestellt habe ist, dass ich ne Schrift nehmen muss bei der alle Buchstaben gleich breit sind, was aber auch kein Problem ist, da ich sowieso Courier New brauche. Nutze ich die Standardschrift, dann sind rechts manche Buchstaben am Ende der Wörter abgeschnitten.

Doch dann habe ich noch das Problem, dass man weiter runterscrollen kann als man bräuchte. Also wenn der Cursor der Scrollbar ganz unten ist, dann ist dort ganz viel weißer Platz. Woran könnte das liegen? Was muss ich da noch einstellen? Der Text/String selbst enthält am Ende keine Leerzeilen.

Ich nutze übrigens Firemonkey und 10.3 Rio.
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2292
Erhaltene Danke: 420

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Mo 11.02.19 20:25 
Guten Abend connyT,

benutz' doch einfach das TMemo. Die Eigenschaft .ShowScrollBars erlaubt das Darstellen von (H&V) Scrollbalken.
Und wenn du den Textinhalt nur lesend machen möchtest, stell' die Eigenschaft .ReadOnly auf true.

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)
connyT Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Di 12.02.19 16:15 
Hallo Frühlingsrolle,

danke für die Antwort!

Ich hatte zuerst ein TMemo probiert, leider komme ich damit aus anderem Grund nicht zum gewünschten Ergebnis.
Und zwar ist das Ziel, dass die Scrollbar links von dem Kasten mit dem Text angezeigt wird und auch noch mit ein bisschen Abstand. So lange eine Scrollbar angezeigt wird passt die Darstellung. Wird diese jedoch nicht angezeigt, dann ist der Text weiter links und steht dann links über den Kasten raus.
Eine Lösung wäre, dass ich die vertikale Scrollbar für TMemo immer anzeige, aber leider hat das nicht geklappt. Die zweite Lösung wäre dass der Text sich nicht nach links schiebt wenn keine Scrollbar da ist, aber das habe ich leider auch nicht hinbekommen.

Bei der TFramedVertScrollBox kann ich zumindest erzwingen, dass es mir die Scrollbar anzeigt...

Vielleicht hast du aber einen Rat bezüglich TMemo?
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2292
Erhaltene Danke: 420

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Di 12.02.19 16:55 
Hätte ich, wenn es um VCL ginge. Firemonkey ist nicht meins.
Zumindest kann man im VCL über die Eigenschaft .Scrollbars sich dafür entscheiden, wann und welche Scrollbar angezeigt werden soll.

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)
connyT Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Do 21.02.19 16:31 
Schade, dass du dich bei Firemonkey nicht auskennst.

Ich habe mich heute nochmal rangesetzt und am Layout von dem TMemo rumprobiert und letztendlich habe ich es endlich so hinbekommen wie ich wollte! Ich musste das ganze Style-Grundgerüst ändern, aber jetzt klappt es endlich wie ich will (:
Diese Styles in Firemonkey sind echt sehr viel Trial&Error

Jetzt muss ich im nächsten Schritt nur noch rausfinden wie ich die Zeichengröße so anpassen kann, dass keine horizontale Scrollbar angezeigt wird und wie man den Text über einen Klick in den Text scrollen kann. Wie wenn man am Handy nen Text scrollt.

Zu ersterem habe ich bisher nur Ansätze für VCL gefunden und für letzteres nichts *seuftz*
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2292
Erhaltene Danke: 420

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Fr 22.02.19 15:07 
Ich habe es mir ein bisschen näher angesehen und in der (FireMonkey) Klasse TMemo, die Eigenschaft .VScrollbar und .HScrollbar vorgefunden.
Wenn du die gegebenen Scrollbars innerhalb des TMemo ausblendest und stattdessen 2 TScrollbar Komponenten neben dem TMemo platzierst, so wie du es brauchst, dann kannst du innerhalb des TScrollbar.OnChange Ereignisses folgendes ausführen:

ausblenden Delphi-Quelltext
1:
Memo1.VScrollBar.Value := Scrollbar1.Value;					


Wenn du es noch hübscher haben möchtest, leite eine Klasse von z.B. TStyledControl ab, platziere darauf ein Memo, sowie 2 Scrollbars, stell' die eine oder andere Enumeration bereit, die für die Ausrichtung der Scrollbars gedacht ist, als Eigenschaft, füge noch dies und das hinzu, und schon hast du eine wiederverwendbare Komponente nach deinen Anforderungen.

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)
connyT Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Fr 22.02.19 17:02 
Das ist eine gute Idee, danke Frühlingsrolle. Das muss ich mal probieren :D

Vielleicht kriege ich es so auch dazu, dass man es scrollen kann wenn man in den Text klickt. Theoretisch könnte man ja ne Scrollbar über das komplette TMemo machen und im Style-Editor ein unsichtbares Bild für die ganzen Bestandteile nehmen. Dann müsste es theoretisch noch da sein, aber eben nicht sichtbar... Na mal probieren (:
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2292
Erhaltene Danke: 420

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Sa 23.02.19 05:49 
In dem Fall solltest du dich mit den "Gesten" vertraut machen. Siehe dazu, Gesten in FireMonkey.

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)