AGB  ·  Datenschutz  ·  Impressum  







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

RichEdit runterscrollen

Ein Thema von S - tefano · begonnen am 28. Jun 2003 · letzter Beitrag vom 12. Mär 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#1

RichEdit runterscrollen

  Alt 28. Jun 2003, 13:46
Hi,

ich habe ein RichEdit auf meiner Form, in das ich ankommende Texte reinschreibe. Dabei wird zwar der Text eingefügt, aber danach steht der Cursor im RichEdit auf dem ersten Zeichen des Textes.
Hab dann mal zum Probieren Postmessage benutze, wobei ich zuerst ein VK_CONTROL mit WM_KEYDOWN, danach dasselbe mit VK_END und danach beides mit WM_KEYUP an das Handle des Richedits sende. Aber irgendwie springt der Cursor dann nur an das Ende der jeweiligen Zeile.
Als Übergangslösung hab ich mir ne Schleife gemacht, die dem RichEdit so oft ein VK_DOWN (Pfeil nach Unten) schickt wie es Zeilen hat, und danach ein VK_END schicke um ans Ende der letzten Zeile zu kommen.
Aber das muss doch auch irgendwie so gehen, dass ich einfach Strg + Ende simuliere, damit ich nur eine Message abschicken muss...
Weiß einer wie das geht?

Bis dann,

S - tefano
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2
  Alt 28. Jun 2003, 13:52
Beim Memo geht es recht einfach mitMemo1.ScrollBy(0, MaxInt); ......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#3
  Alt 28. Jun 2003, 14:28
Hm, ne, beim RichEdit klappts leider nicht.

Aber ich könnt ja mal die Überschrift ändern...
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 28. Jun 2003, 14:59
Moin Stefano,

TRichEdit ist von TCustomMemo abgeleitet und kennt ScrollBy.
(zumindest bei mir).

Ansonsten könntest Du Dir ja auch mal EM_SCROLL bzw. WM_VSCROLL ansehen.

Das sinnvollste wäre aber wohl eigentlich, was Du beschrieben hast, also die Simulation von VK_CONTROL/VK_END.

Du musst nur daran denken die Reihenfolge einzuhalten, also
  1. WM_KEYDOWN mit VK_CONTROL
  2. WM_KEYDOWN mit VK_END
  3. WM_KEYUP mit VK_END
  4. WM_KEYUP mit VK_CONTROL
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#5
  Alt 28. Jun 2003, 15:09
Moin Christian,
Zitat von Christian Seehase:
TRichEdit ist von TCustomMemo abgeleitet und kennt ScrollBy.
(zumindest bei mir).
ScrollBy gibt es schon beim Grid. Aber mit 0, MaxInt geht schonmal nichts. Jedenfalls beim Grid.

Grüsse, Daniel
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#6
  Alt 28. Jun 2003, 15:22
Moin Daniel,

ist schon lustig.
Ich hab's mal eben ausprobiert.
Bei einem Memo funktioniert es auch nicht
Das Caret wird verschoben, aber der angezeigte Ausschnitt des Controls nicht.

Aber so geht's (getestet)

Delphi-Quellcode:
  SendMessage(RichEdit1.Handle,WM_KEYDOWN,VK_CONTROL,0);
  SendMessage(RichEdit1.Handle,WM_KEYDOWN,VK_END,0);
  SendMessage(RichEdit1.Handle,WM_KEYUP,VK_END,0);
  SendMessage(RichEdit1.Handle,WM_KEYUP,VK_CONTROL,0);
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#7
  Alt 28. Jun 2003, 15:44
@Chris
Genau so hab ichs auch gemacht (nur mit Postmessage statt Sendmessage). Passiert das gleiche wie bei mir. Das Strg wird dann irgendwie nicht erkannt, das Richedit reagiert nur auf die Message für VK_END.
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#8
  Alt 28. Jun 2003, 15:46
Moin Stefano,

probier's mal mit SendMessage.

Postmessge wartet nicht bis die Message verarbeitet ist. Vielleicht geht dadurch etwas durcheinander.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#9
  Alt 28. Jun 2003, 16:59
Hm, dann hab ich wohl vergessen das klar genug rauszustellen.
Hab mal stumpfer Weise deinen Code per Copy/Paste bei mir eingefügt.

Zitat:
Passiert das gleiche wie bei mir.
Damit meinte ich, dass ich es schon ausprobiert habe. Naja, läuft bei mir jedenfalls merkwürdigerweise nicht.
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat
Benutzerbild von phXql
phXql

Registriert seit: 11. Mär 2004
Ort: Mühldorf
824 Beiträge
 
#10

Re: RichEdit runterscrollen

  Alt 11. Mär 2004, 22:33
so nach langem suchen hab ichs endlich gefunden.

also erst die SelStart setzen:
RichEdit1.SelStart := RichEdit1.GetTextLen(); und dann das:
SendMessage(RichEdit1.handle, EM_SCROLLCARET,0,0);
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:45 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