Einzelnen Beitrag anzeigen

Panthrax

Registriert seit: 18. Feb 2005
286 Beiträge
 
Delphi 2010 Enterprise
 
#14

Re: Richedit - Fokus auf letzte Zeilen halten(inaktives Fens

  Alt 15. Mär 2010, 10:13
Delphi-Quellcode:
*.Perform(EM_SCROLL, SB_LINEDOWN, 0); // bei konstant einer Zeile
*.Perform(EM_LINESCROLL, 0, Offset); // mit Variable
Wenn das Steuerelement umgebrochene Zeilen enthält, ist eine Zeile zu wenig. Dann besser so:
Delphi-Quellcode:
var
  TopLineIndex: Integer;
  ScrollPos: Integer;
  PageSize: Integer;
begin
  PageSize := 14; // Anzahl sichtbare Zeilen
  ScrollPos := *.Lines.Count - PageSize;
    // erste sichtbare Zeile so justieren, dass die letzte Zeile sichbar ist

  TopLineIndex := *.Perform(EM_GETFIRSTVISIBLELINE, 0, 0);
  *.Perform(EM_LINESCROLL, 0, ScrollPos - TopLineIndex);
end;
"Es gibt keine schlimmere Lüge als die Wahrheit, die von denen, die sie hören, missverstanden wird."
  Mit Zitat antworten Zitat