// TMemo zeilen-
oder buchstabenweise scrollen. procedure TForm1.FormCreate(Sender: TObject); begin Memo1.ScrollBars := ssBoth; // bei Bedarf end; procedure MemoScroll(cm: TCustomMemo; x, y: integer); overload; begin cm.Perform(EM_LINESCROLL, x, y); end; procedure MemoScroll(cm: TCustomMemo; zuZeile: integer); overload; var i: integer; begin i := cm.Perform(EM_GETFIRSTVISIBLELINE, 0, 0); cm.Perform(EM_LINESCROLL, 0, succ(zuZeile - i)); MemoScroll(cm, -pred(length(cm.Text)), 0); end; // Beispielaufrufe: // 25 Zeilen vorwärts procedure TForm1.Button3Click(Sender: TObject); begin Memoscroll(Memo1, 0, 25); end; // 15 Zeilen rückwärts procedure TForm1.Button4Click(Sender: TObject); begin Memoscroll(Memo1, 0, -15); end; // zum Ende procedure TForm1.Button5Click(Sender: TObject); begin Memoscroll(Memo1, 0, pred(Memo1.lines.count)); end; // zum Anfang procedure TForm1.Button6Click(Sender: TObject); begin Memoscroll(Memo1, 0, -pred(Memo1.lines.count)); end; // Zum Zeilenanfang der elften Zeile (Zählung beginnt bei "0") procedure TForm1.Button7Click(Sender: TObject); begin Memoscroll(Memo1, 10); end; // 10 Zeichen nach rechts procedure TForm1.Button8Click(Sender: TObject); begin Memoscroll(Memo1, 10, 0); end; // 10 Zeichen nach links procedure TForm1.Button9Click(Sender: TObject); begin Memoscroll(Memo1, -10, 0); end; |
Zugriffe seit 6.9.2001 auf Delphi-Ecke