AGB  ·  Datenschutz  ·  Impressum  







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

Memo: Nach Füllen 1. Zeile anzeigen

Ein Thema von Phillie08 · begonnen am 4. Jan 2014 · letzter Beitrag vom 9. Jan 2014
Antwort Antwort
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

AW: Memo: Nach Füllen 1. Zeile anzeigen

  Alt 4. Jan 2014, 13:34
Das sollte etwas für Dich sein.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.399 Beiträge
 
Delphi 12 Athens
 
#2

AW: Memo: Nach Füllen 1. Zeile anzeigen

  Alt 4. Jan 2014, 14:48
CaretPos und SelStart kommen aber praktisch auf das Selbe raus.

Es wird der Cursor neu positioniert.
- bei SelStart via Index über alle Zeichen
- bei CaretPos als X-Y-Position

Aber ScrollIntoView oder so, sollte es als Befehl geben.
Und vermutlich finden sich irgendwo auch Beispiele, wie man per Code scrollen kann.

PS: in der VCL weiß ich, daß das codeseitige Scrollen oftmals/manchmal nur funktioniert, wenn das Memo auch den Fokus besitzt.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Phillie08

Registriert seit: 19. Jan 2011
13 Beiträge
 
#3

AW: Memo: Nach Füllen 1. Zeile anzeigen

  Alt 7. Jan 2014, 12:17
Erst mal vielen Dank für beide Antworten.
Ich hätte womöglich erwähnen sollen, dass es sich um eine VCL-Anwendung handelt, nicht um FMX.
Den Vorschlag von himitsu werde ich mal näher unter die Suche nehmen, sobald ich Zeit habe, mich darum zu kümmern.
Danke also,
Andreas
  Mit Zitat antworten Zitat
ASM

Registriert seit: 15. Aug 2004
165 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Memo: Nach Füllen 1. Zeile anzeigen

  Alt 7. Jan 2014, 12:50
Delphi-Quellcode:
 Memo1.Perform(EM_LineScroll, 0 , -Memo1.Lines.Count-1);
// Auf das Minuszeichen vor 'Memo1.Lines.Count-1' achten!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.399 Beiträge
 
Delphi 12 Athens
 
#5

AW: Memo: Nach Füllen 1. Zeile anzeigen

  Alt 7. Jan 2014, 13:52
Delphi-Quellcode:
 Memo1.Perform(EM_LineScroll, 0 , -Memo1.Lines.Count-1);
// Auf das Minuszeichen vor 'Memo1.Lines.Count-1' achten!
Sicher, daß da keine Klammer fehlt?

-(Memo1.Lines.Count-1)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Memo: Nach Füllen 1. Zeile anzeigen

  Alt 7. Jan 2014, 14:53
ggf. mußt Du etwas ausführlicher arbeiten:
Delphi-Quellcode:
meinMemo.SelStart:= 0;
meinMemo.SelLength:= 0;
meinMemo.SetFocus;
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Memo: Nach Füllen 1. Zeile anzeigen

  Alt 8. Jan 2014, 06:39
Delphi-Quellcode:
  memo1.SetFocus;
  memo1.CaretPos := Point(0,0);
  SendMessage(memo1.Handle, EM_SCROLLCARET, 0, 0);
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Phillie08

Registriert seit: 19. Jan 2011
13 Beiträge
 
#8

AW: Memo: Nach Füllen 1. Zeile anzeigen

  Alt 8. Jan 2014, 17:49
Erneut vielen Dank für eure Hilfe.
Dieses hier funktioniert, komischerweise nur teilweise, nämlich beim ersten mal. Ich muss mal etwas forschen, was da los ist.
Delphi-Quellcode:
 Memo1.Perform(EM_LineScroll, 0 , -Memo1.Lines.Count-1);
// Auf das Minuszeichen vor 'Memo1.Lines.Count-1' achten!
Sicher, daß da keine Klammer fehlt?

-(Memo1.Lines.Count-1)
Ich habe die Anregung mit der Klammer, die mir einleuchtete, aufgegriffen: Memo2.Perform(EM_LineScroll, 0 , -(Memo2.Lines.Count-1));
Der Vorschlag von p80286 hat auch funktioniert.

Alles in allem: Gut zu wissen, dass man nach Jahr(zehnt)en Pause als Wiedereinsteiger hier Hilfe finden kann.
Gruß,
Andreas
  Mit Zitat antworten Zitat
ASM

Registriert seit: 15. Aug 2004
165 Beiträge
 
Delphi 7 Enterprise
 
#9

AW: Memo: Nach Füllen 1. Zeile anzeigen

  Alt 8. Jan 2014, 20:12
Delphi-Quellcode:
 Memo1.Perform(EM_LineScroll, 0 , -Memo1.Lines.Count-1);
// Auf das Minuszeichen vor 'Memo1.Lines.Count-1' achten!
Sicher, daß da keine Klammer fehlt?

-(Memo1.Lines.Count-1)
Der Einwand trifft zwar numerisch korrekt zu. Er ist aber im konkreten Fall de facto völlig belanglos, da ja logisch nicht vor die 1.Zeile gescrollt werden kann (man könnte anstelle "-(Memo1.Lines.Count-1)" auch ohne fatale Konsequenz schreiben "-1000", wenn überhaupt nur 10 Zeilen vorhanden wären).
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#10

AW: Memo: Nach Füllen 1. Zeile anzeigen

  Alt 9. Jan 2014, 06:58
Er ist aber im konkreten Fall de facto völlig belanglos,
Na ja. Du lieferst ja auch nicht 100.000t Zement auf die Baustelle des Einfamilienhauses, obwohl im konkreten Fall de facto nur 15t verbaut werden.

Entweder schreibst Du '-MaxInt' hin oder machst es richtig.
  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 11:06 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