Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi tmemo cursor an erste stelle (https://www.delphipraxis.net/53226-tmemo-cursor-erste-stelle.html)

hardcorehorst 12. Sep 2005 17:36

Re: tmemo cursor an erste stelle
 
Liste der Anhänge anzeigen (Anzahl: 1)
schaut mal bitte

marabu 12. Sep 2005 17:42

Re: tmemo cursor an erste stelle
 
Es wird immer unverständlicher, was du willst.

Wenn du nur per Knopf eine neue Zeile am Anfang vom Memo einfügen willst, dann so:

Delphi-Quellcode:
Memo.Lines.Insert(0, 'NeueZeile');
marabu

TeTSuO 8. Nov 2005 18:23

Re: tmemo cursor an erste stelle
 
Ich glaube ich weis was hier gemeint war ich habe nämlich das gleiche Problem

Mein memo kann nur 3 Zeilen anzeigen
Wenn ich jetzt mehrere Zeilen einfüge
zeigt mein Memo die letzten 3 Zeilen an

ich will aber das der Anwender die ersten 3 Sieht

Den Cursor auf die 1. Position setzen mit

Delphi-Quellcode:
  ...
  Memo.SelStart=0;
  Memo.SetFocus;
funktioniert zwar aber die Scrollbar ist immer noch unten und nicht oben.
Gibt es da noch ne andere Funktion?

TeTSuO 8. Nov 2005 20:08

Re: tmemo cursor an erste stelle
 
Ich habs gefunden wen's interessiert

Dieser Code setzt die Scrollbar nach oben

Delphi-Quellcode:
SendMessage(Memo1.Handle, WM_VSCROLL, SB_TOP, 0);
Ciao

turboPASCAL 8. Nov 2005 21:17

Re: tmemo cursor an erste stelle
 
Man(n) könnte ja auch:

Delphi-Quellcode:
MemoX.Perform(EM_LineScroll, 0, -MemoX.Lines.Count - 1);

Lannes 9. Nov 2005 12:00

Re: tmemo cursor an erste stelle
 
Hallo,
Zitat:

Zitat von hardcorehorst
...( 4 inklusive der blöden leeren letzten zeile)
...die blöde 4. zeile kann auch weg...

wenn es in den Zeilen Deines Memo keine Leerzeichen am Anfang und/oder Ende gibt die erhalten bleiben müssen kannst Du folgendes einbauen:
Zitat:

Zitat von Delphi-Hilfe
Die Funktion Trim entfernt alle am Anfang und Ende eines Strings vorhandenen Leer- und Steuerzeichen.

Delphi-Quellcode:
Memo1.Text := Trim(Memo1.Text);
willst Du eventuelle Leerzeichen erhalten, dann nimm diesen Code:
Delphi-Quellcode:
Memo1.Text := Copy(Memo1.Text,1,Length(Memo1.Text)-2);
Es werden die letzten beiden Steuerzeichen, die diesen "blöden" Zeilenumbruch erzeugen gelöscht.

Diese erste Zeile die Du löschen möchtest, ist in der Eigenschaft Lines deines Memo eingetragen.
Diesen Eintrag kannst Du im Objekt-Inspektor löschen, indem Du hinter der Eigenschaft Lines den Stringlisten-Editor aufrufst und den Eintrag entfernst.

Wenn beide Zeilen, die Erste und Letzte gelöscht sind, brauchst Du auch nichts mehr zum Scrollen. :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:45 Uhr.
Seite 2 von 2     12   

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