AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Merkwürdiges Verhalten von TMemo

Ein Thema von Maekkelrajter · begonnen am 15. Sep 2024 · letzter Beitrag vom 23. Sep 2024
Antwort Antwort
Maekkelrajter

Registriert seit: 8. Mär 2017
Ort: Köln
156 Beiträge
 
Delphi 12 Athens
 
#1

Merkwürdiges Verhalten von TMemo

  Alt 15. Sep 2024, 19:07
Zur Zeit bin ich dabei, an einigen Stellen meines Projektes anstatt TRichedit ein TMemo zu verwenden (siehe auchhier) Leider zeigt auch TMemo unerwartetes und unschönes Verhalten. Wenn die Eigenschaft Scrollbars auf ssBoth gesetzt ist, werden die Scrollbars immer eingeblendet, auch wenn gar kein Text angezeigt wird oder der Text komplett (horizontal und vertikal) in das Textfeld passt. Damit könnte man zur Not leben. Zu allem Überfluss wird aber der horizontale ScrollBar bei manchen Texten disabled (ausgegraut), obwohl WordWrap auf 'false' gesetzt ist und Zeilen vorhanden sind, die deutlich über den rechten Rand hinausragen. Die lassen sich so im TMemo natürlich nicht vollständig anzeigen. (Siehe Anhänge). 'Long Line1.jpg' zeigt einen screenshot des Formulars mit einem TMemo, 'Long Line2.jpg' zeigt die zugehörige komplette Zeile rot unterstrichen, die im Original keinen Zeilenumbruch hat.
Woran kann das liegen und was kann man dagegen tun?

Gruß LP
Miniaturansicht angehängter Grafiken
long-line1.jpg   long-line2.jpg  
  Mit Zitat antworten Zitat
TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
247 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Merkwürdiges Verhalten von TMemo

  Alt 15. Sep 2024, 20:21
Muss Word Wrap nicht auf true stehen?

Set WordWrap to true to make the edit control wrap text at the right margin so that it fits in the client area. The wrapping has cosmetic purposes only. The text does not include any return characters that were not explicitly entered. Set WordWrap to false to have the edit control display a separate line only where return characters were explicitly entered into the text.


Ups, das geht ja völlig am Problem vorbei .... sorry..
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de
  Mit Zitat antworten Zitat
Alallart

Registriert seit: 8. Dez 2015
155 Beiträge
 
#3

AW: Merkwürdiges Verhalten von TMemo

  Alt 15. Sep 2024, 20:42
@Maekkelrajter

TMemo ist etwas primitiv und liefert hier und da unübliches Verhalten. Es ist aber normal für TMemo. Zum Beispiel ScrollBars. Bei TMemo ist es ausgegraut wenn es nicht benötigt wird, sonst eingeblendet. Das gleiche bei TRichEdit. Es wird ausgeblendet wenn es nicht benötigt wird, sonst eingeblendet. Wie gesagt, das ist bei TMemo normal.

Besser immer TRichtEdit nutzen.
  Mit Zitat antworten Zitat
Maekkelrajter

Registriert seit: 8. Mär 2017
Ort: Köln
156 Beiträge
 
Delphi 12 Athens
 
#4

AW: Merkwürdiges Verhalten von TMemo

  Alt 19. Sep 2024, 13:00
Ich habe etwas mit der Zuweisung der Stringlist zum Memo experimentiert. MitMemo1.lines.assign(MyStringlist) oderMemo1.lines.addstrings(MyStringlist) ist zwar der Text OK und beide Scrollbars funktionieren korrekt, aber dafür dauert das auch über 20 sec, also keine Option.

Jetzt habe ich mir einen Workaround einfallen lassen. Ich ermittle den Index der längsten Zeile des Memos und weise dann dieser Zeile noch mal ihren eigenen Inhalt zu:
Delphi-Quellcode:
  SL:= TStringlist.Create;
  try
    If GetXMLContent(SL) Then
    begin
      memo1.Text:= SL.Text;
      index := MaxTextWidth(memo1);
      Memo1.Lines[index] := memo1.Lines[index];
    end;
  finally
    SL.Free;
  end;
Der Code sieht zwar seltsam aus, macht aber genau das, was er soll: Text und beide Scrollbars sind OK, und die Ausführungszeit beträgt deutlich weniger als eine halbe Sekunde und steht auch im richtigen Verhältnis zur Menge der Daten, egal ob sie von Windows oder MacOS stammen. Geht doch!
Wer eine bessere Lösung weiß, möge sich melden. Ich erkläre mein Problem einstweilen für gelöst!

Gruß LP

Geändert von Maekkelrajter (19. Sep 2024 um 13:23 Uhr)
  Mit Zitat antworten Zitat
ol1uw

Registriert seit: 24. Jul 2004
Ort: Freiberg
69 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Merkwürdiges Verhalten von TMemo

  Alt 19. Sep 2024, 13:28
Hallo

bliebe als Versuch noch SynEdit

Uwe
  Mit Zitat antworten Zitat
Maekkelrajter

Registriert seit: 8. Mär 2017
Ort: Köln
156 Beiträge
 
Delphi 12 Athens
 
#6

AW: Merkwürdiges Verhalten von TMemo

  Alt 19. Sep 2024, 13:52
Hallo

bliebe als Versuch noch SynEdit

Uwe
Synedit hatte ich bereits installiert und es funktioniert anscheinend korrekt. Aber wo finde ich eine ausführliche Doku zu dieser offenbar sehr leistungsfähigen Komponente? Wenn ich die vorhandenen (TRichEdit und TMemo) damit ersetzen will, komme ich ohne vernünftige Doku nicht aus. Bisher habe ich leider vergeblich danach gesucht

Gruß LP

Geändert von Maekkelrajter (19. Sep 2024 um 13:55 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.096 Beiträge
 
Delphi 12 Athens
 
#7

AW: Merkwürdiges Verhalten von TMemo

  Alt 23. Sep 2024, 11:15
Bist Du auf der neuen Delphi 12.2 Version, oder noch der alten?

Da sollte das TMemo irgendwie neu designed sein, wenn ich diesen Satz richtig verstehe:
Zitat:
New! New Styled Memo Implementation with enhanced IME support, available for all supported platforms
aus

https://blogs.embarcadero.com/rad-st...anced-feature/

Das hört sich aber erstmal nach FMX an, ob das auch für VCL gilt?
  Mit Zitat antworten Zitat
Maekkelrajter

Registriert seit: 8. Mär 2017
Ort: Köln
156 Beiträge
 
Delphi 12 Athens
 
#8

AW: Merkwürdiges Verhalten von TMemo

  Alt 23. Sep 2024, 11:32
Bist Du auf der neuen Delphi 12.2 Version, oder noch der alten?
Meine aktuelle Version ist 12.1 CE.

GRuß LP
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:23 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