Как програмно прокрутить Memo?

Previous  Top  Next

    
 

 

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

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 и т.п можно прокрутить подобным образом

©Drkb::00545

Взято с Vingrad.ru http://forum.vingrad.ru

 

 


 

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

 

 

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;

©Drkb::00993

http://delphiworld.narod.ru/

DelphiWorld 6.0

 


 

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;

 

©Drkb::01008

http://delphiworld.narod.ru/

DelphiWorld 6.0