Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Memo Ende auswählen (https://www.delphipraxis.net/151145-memo-ende-auswaehlen.html)

bezarre 7. Mai 2010 11:54


Memo Ende auswählen
 
Hallo,

ich habe eine MemoBox in der ich ein Log einlesen anzeigen lasse. Die Box ist readonly und hat Vertikale Scrollbars.
Ich möchte nun, dass sobald das Log eingelesen wurde, in der Memobox ganz nach unten gescrollt wird.

Wie mache ich das? Habe irgendwie an SelStart gedacht, damit komme ich aber nicht weiter.

Gruß
Micha

DeddyH 7. Mai 2010 11:57

Re: Memo Ende auswählen
 
Ungetestet:
Delphi-Quellcode:
Memo.Perform(WM_VSCROLL,SB_BOTTOM,0);

jaenicke 7. Mai 2010 12:00

Re: Memo Ende auswählen
 
Also Delphi 2006 in Kombination mit Windows Vista / 7 macht das ganz automatisch. XP habe ich leider zum Testen nicht sofort verfügbar, mag sein, dass es da anders ist.
Dann sollten DeddyHs Lösung oder ScrollBy helfen. ;-)
// EDIT:
Ach so, verstehe: Du lädst das mit LoadFromFile? Dann kannst du einfach eine Leerzeile mit Lines.Add hinzufügen, das genügt schon. Oder halt eine der anderen Varianten.

// EDIT:
Das beste ist DeddyHs Lösung, die funktioniert einfach am einfachsten.

bezarre 7. Mai 2010 12:09

Re: Memo Ende auswählen
 
Hallo,

vielen Dank.

Gruß
Micha

himitsu 7. Mai 2010 13:28

Re: Memo Ende auswählen
 
Zitat:

Zitat von bezarre
Habe irgendwie an SelStart gedacht, damit komme ich aber nicht weiter.

YourMemo.SelStart := -1; ging nicht?

Der Cursor sollte ja automatisch ins Bild gescrollt werden.

DeddyH 7. Mai 2010 13:31

Re: Memo Ende auswählen
 
Also, bei mir passiert da gar nichts.

himitsu 7. Mai 2010 13:35

Re: Memo Ende auswählen
 
hmmm, eigentlich müßte -1 "Textende" heißen, da dieses so über die WinAPI geregelt wird und die VCL nutzt ja auch nur die WinAPI MSDN-Library durchsuchenEM_SETSEL.

Oder galt das nur beim RichEdit, bzw. nur für SelLength? :gruebel:

[edit]
OK,
Delphi-Quellcode:
Memo1.SelStart := Length(Memo1.Text);
// bzw.
Memo1.SelStart := MaxInt;
ist das Ende und beim Memo wird doch nicht automatisch gescrollt. :oops:

DeddyH 7. Mai 2010 13:44

Re: Memo Ende auswählen
 
Aber so geht es:
Delphi-Quellcode:
Memo1.SelStart := -1;
Memo1.SelLength := 0;


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