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/)
-   -   Merkwürdiges Verhalten von TMemo (https://www.delphipraxis.net/215838-merkwuerdiges-verhalten-von-tmemo.html)

Maekkelrajter 15. Sep 2024 18:07

Merkwürdiges Verhalten von TMemo
 
Liste der Anhänge anzeigen (Anzahl: 2)
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

TomyN 15. Sep 2024 19:21

AW: Merkwürdiges Verhalten von TMemo
 
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..

Alallart 15. Sep 2024 19:42

AW: Merkwürdiges Verhalten von TMemo
 
@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.

Maekkelrajter 19. Sep 2024 12:00

AW: Merkwürdiges Verhalten von TMemo
 
Ich habe etwas mit der Zuweisung der Stringlist zum Memo experimentiert. Mit
Delphi-Quellcode:
Memo1.lines.assign(MyStringlist)
oder
Delphi-Quellcode:
Memo1.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! :-D

Gruß LP

ol1uw 19. Sep 2024 12:28

AW: Merkwürdiges Verhalten von TMemo
 
Hallo

bliebe als Versuch noch SynEdit

Uwe

Maekkelrajter 19. Sep 2024 12:52

AW: Merkwürdiges Verhalten von TMemo
 
Zitat:

Zitat von ol1uw (Beitrag 1541208)
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

Rollo62 23. Sep 2024 10:15

AW: Merkwürdiges Verhalten von TMemo
 
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?

Maekkelrajter 23. Sep 2024 10:32

AW: Merkwürdiges Verhalten von TMemo
 
Zitat:

Zitat von Rollo62 (Beitrag 1541406)
Bist Du auf der neuen Delphi 12.2 Version, oder noch der alten?

Meine aktuelle Version ist 12.1 CE.

GRuß LP


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