Einzelnen Beitrag anzeigen

r29d43

Registriert seit: 18. Jan 2007
287 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Richedit - noch einmal Cursor positionieren

  Alt 2. Mai 2009, 11:17
Hallo,

du hattest das Manko dieses Verfahrens schon richtig erwähnt: "...mit Bezug auf diesen Topic - um den Bildausschnitt richtig zu fixieren, muss ich doch anders vorgehen, weil die Länge des Textes sich ja geändert hat und daher auch die relative Position der Scrollbar."

Besser als diese realtive ist da also eine quasi absolute Positionierung, per em_-Messages:

Delphi-Quellcode:
const EM_GETSCROLLPOS = WM_USER +221;
      EM_SETSCROLLPOS = WM_USER +222;
var oldSelStart : integer;
    ScrollXY0 : TPoint;


// - - - - - Code - - - - -


with RichEdit1 do begin
  Lines.BeginUpdate;
  Perform(EM_GETSCROLLPOS,0,integer(@ScrollXY0));
  oldSelStart := SelStart;
  ...

  ...
  SelStart := oldSelStart;
  Perform(EM_SetScrollPos,0,integer(@ScrollXY0));
  Lines.EndUpdate;
end;
  Mit Zitat antworten Zitat