Этот пример прокручивает на одну строку вниз.

Code:

memo1.Perform(WM_VScroll, SB_LINEDOWN,0);

 

Возможны так же следующие опции:

SB_BOTTOM

SB_ENDSCROLL

SB_LINEDOWN

SB_LINEUP

SB_PAGEDOWN

SB_PAGEUP

SB_THUMBPOSITION

SB_THUMBTRACK

SB_TOP

 

TComboBox, TListBox, TRichEdit и т.п можно прокрутить подобным образом

 

В поле ввода вводите на какую строку нужно сойти, и по нажатию на кнопку эта строка будет попадать о зону видимости:

 

Code:

procedure TForm1.Button1Click(Sender: TObject);

var

line: integer;

begin

line := StrToIntDef(Edit1.Text,1);

Memo1.SelStart := Memo1.Perform(EM_LINEINDEX, line, 0);

Memo1.Perform(EM_SCROLLCARET, 0, 0);

end;

 

Code:

Var

ScrollMessage:TWMVScroll;

begin

ScrollMessage.Msg:=WM_VScroll;

for i := Memo1.Lines.Count DownTo 0 do

begin

   ScrollMessage.ScrollCode:=sb_LineUp;

   ScrollMessage.Pos:=0;

   Memo1.Dispatch(ScrollMessage);

end;

end;

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить