Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Delphi 11 VCL TMemo Scrollbar beeinflusst Textposition (https://www.delphipraxis.net/209090-delphi-11-vcl-tmemo-scrollbar-beeinflusst-textposition.html)

Michael II 23. Okt 2021 23:32

Delphi 11 VCL TMemo Scrollbar beeinflusst Textposition
 
Mir ist aufgefallen, dass seit Delphi 11 in einer meiner Apps in den Chatfenstern der angezeigte Text fast am linken Memo Rand "klebt".

Offenbar setzt Delphi 11 den Text neu* genau dann weiter links wenn eine vertikale Scrollbar (Scrollbars := ssVertical) gesetzt wird.
* In Delphi 10.4 Update 2 und früher war das nicht so.

Weiss jemand, wieso die Randeinstellungen in diesem Fall geändert worden sind?

[Ich weiss dass ich die Memo Ränder via EM_GETRECT lesen und via EM_SETRECT selber setzen kann. Ich frage mich nur, wieso das Verhalten ab Delphi11 neu ist?]

Achim Kalwa 24. Okt 2021 13:44

AW: Delphi 11 VCL TMemo Scrollbar beeinflusst Textposition
 
Mahlzeit,
Zitat:

Zitat von Michael II (Beitrag 1496528)
Mir ist aufgefallen, dass seit Delphi 11 in einer meiner Apps in den Chatfenstern der angezeigte Text fast am linken Memo Rand "klebt".

Offenbar setzt Delphi 11 den Text neu* genau dann weiter links wenn eine vertikale Scrollbar (Scrollbars := ssVertical) gesetzt wird.
* In Delphi 10.4 Update 2 und früher war das nicht so.

Weiss jemand, wieso die Randeinstellungen in diesem Fall geändert worden sind?

Ab Delphi 11 hat TMemo (und TRichEdit) ein neues Propery "EditMargins". Setze dort "Auto" auf "True" und es sollte wieder so aussehen wie in Delphi 10.4. Alternativ kannst Du dort eigene Ränder für "Left" und "Right" festlegen.

Hier wäre es mMn sinnvoll gewesen, Auto=True als Default zu verwenden wenn in der DFM-Datei keine EditMargins vorhanden sind.

Michael II 25. Okt 2021 00:37

AW: Delphi 11 VCL TMemo Scrollbar beeinflusst Textposition
 
Zitat:

Zitat von Achim Kalwa (Beitrag 1496546)
Mahlzeit,
Ab Delphi 11 hat TMemo (und TRichEdit) ein neues Propery "EditMargins". Setze dort "Auto" auf "True" und es sollte wieder so aussehen wie in Delphi 10.4. Alternativ kannst Du dort eigene Ränder für "Left" und "Right" festlegen.

Hier wäre es mMn sinnvoll gewesen, Auto=True als Default zu verwenden wenn in der DFM-Datei keine EditMargins vorhanden sind.


Besten Dank! Das funktioniert...
Und ja... es wäre schön, wenn bei alten Projekten in neuen Delphis nicht rumgegurkt würde.


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