Как програмно прокрутить 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
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
DelphiWorld 6.0