Hallo,
das Thema mit dem Scrollen in einem TRichEdit wurde im Forum schon mehrfach behandelt. Dennoch stehe ich vor einem Problem, dass ich bislang nicht lösen konnte:
Ich habe auf meinem Form ein TRichEdit. Für dieses ist
Anchors:=[akLeft, akRight, akTop, akBottom];
gesetz. Wenn ich mein Form Maximiere, dann vergrößert sich entsprechend auch das TRichEdit. Weiterhin wird der Text nicht vom Benutzer, sondern ausschließlich vom Programm hinzugefügt und danach immer auf die letzte Zeile gescrollt.
Bin ich
auf der letzten Zeile und maximiere das Fenster ist alles OK. Wenn ich es dann aber wieder minimiere, dann steht der Text irgendwo und ich bin eben nicht mehr auf der letzten Zeile. Ich habe jetzt versucht, das Problem so zu lösen:
Delphi-Quellcode:
Procedure TChat.WMSysCommand(Var Msg: TMessage);
Begin
Case Msg.WParam Of
SC_Minimize : Hide; // Minimieren-Button
SC_Maximize : Begin
WindowState:=wsMaximized;
Log.Perform(EM_SCROLLCARET, 0, 0); // auf letzte Zeile scrollen
// SendMessage(Log.Handle, // Auf letzte Zeile scrollen
// WM_VScroll, SB_Bottom, 0);
End;
SC_Close : Hide; // Schließen-Button
Else // alles andere
Inherited; // Botschafen durchleiten
End;
End;
Beide Methoden, mit denen ich sonst immer den Text an das Ende scrolle, versagen hier. Was mache ich verkehrt?
Gruß, Alex