![]() |
Richedit scrollen, aber ohne Fokus
n'abend die Damen und Herren,
kann man denn wirklich nicht soein besch** TRichEdit scrollen, ohne daß es Fokus besitzt? WM_VSCROLL oder EM_SCROLLCARET funktionieren nur, wenn das RichEdit den Fokus hat. Die Lösung: Fokus merken, Richedit fokusieren, scrollen und Fokus zurücksetzen ist voll für'n A**. |
AW: Rechedit scrollen, aber ohne Fokus
|
AW: Rechedit scrollen, aber ohne Fokus
Nee, kannte ich nicht, aber funktioniert auch nicht :(
Delphi-Quellcode:
Hat das Ding den Fokus, dann geht's, aber Ohne geht's nicht.
log.SelStart := log.Perform(EM_LINEINDEX, log.Lines.Count, 0);
B := log.HideSelection; try log.HideSelection := False; log.Perform(EM_SCROLLCARET, 0, 0); finally log.HideSelection := True;//B; end; (egal ob der Fokus in der Form oder in einer anderen Form liegt) |
AW: Rechedit scrollen, aber ohne Fokus
Blöde Frage, wo steht der Cursor?
Und die andere Möglichkeit mit dem Scroll bis zum Ende? Gruß K-H |
AW: Rechedit scrollen, aber ohne Fokus
Für ein TMemo verwende ich EM_LINESCROLL (im TForm.OnMouseWheel). Keine Ahnung, ob das auch bei TRichEdit funktioniert.
MfG Dalai |
AW: Rechedit scrollen, aber ohne Fokus
Zitat:
Zitat:
Wie gesagt, egal welche Variante ich nutze, also WM_VSCROLL oder EM_SCROLLCARET, es funktioniert immer nur, wenn der Fokus beim Richedit liegt, aber da ist er nunmal nicht. [add] Und EM_LINESCROLL funktioniert auch nicht. Perform und SendMessage machen auch keinen Unterschied. Praktisch dürften jetzt wohl auch alle "zwei RichEdits synchron scrollen"-Codes nicht mehr funktionieren. :gruebel: (und alle Thread dazu, welche ich fand, waren auch mindestens 5 Jahre alt ... also von da, wo es noch ging) |
AW: Richedit scrollen, aber ohne Fokus
Es gab ein paar Probleme mit einer unit ... die wurde nicht mit kompiliert :wall:
Nja, aktuell sieht es so aus. (weiter testen werd' ich das jetzt aber nicht) geht nicht: EM_SCROLLCARET EM_SCROLLCARET + HideSelection-Trick geht: WM_VSCROLL + SB_BOTTOM ungetestet/weiß nicht: EM_LINESCROLL WM_VSCROLL + SB_ENDSCROLL WM_VSCROLL + SB_LINEDOWN WM_VSCROLL + SB_PAGEDOWN GetScrollRange + SetScrollPos(Max) |
AW: Richedit scrollen, aber ohne Fokus
Delphi-Quellcode:
procedure TFormMain.Timer1Timer(Sender: TObject);
begin RichEdit1.Lines.BeginUpdate; RichEdit1.Lines.Append(FormatDateTime('hh:nn:ss:zzz', Now)); RichEdit1.Perform(WM_VSCROLL, SB_BOTTOM, 0); RichEdit1.Lines.EndUpdate; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 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 by Thomas Breitkreuz