SendMessage(
(HWND) hWnd, // handle to destination window
EM_SETSCROLLPOS, // message to send
(WPARAM) wParam; // not used; must be zero
(LPARAM) lParam; // point (POINT *)
);
Как сделать скролинг в конец текста в TRxRichEdit?
Или аналогичное действие в стандарном компоненте TRichEdit?
Цитата:
Originally posted by Glazunov Oleg
Как сделать скролинг в конец текста в TRxRichEdit?
Или аналогичное действие в стандарном компоненте TRichEdit?
Как сделать скролинг в конец текста в TRxRichEdit?
Или аналогичное действие в стандарном компоненте TRichEdit?
У виндового ричедита, оболочкой которого является VCL-компонент, есть сообщение EM_SETSCROLLPOS, отправив которое ричедиту, можно прокрутить текст.
Другой способ, мне думается, - это использование SelStart и SelLength.
Цитата:
Originally posted by fellow
У виндового ричедита, оболочкой которого является VCL-компонент, есть сообщение EM_SETSCROLLPOS, отправив которое ричедиту, можно прокрутить текст.
Другой способ, мне думается, - это использование SelStart и SelLength.
У виндового ричедита, оболочкой которого является VCL-компонент, есть сообщение EM_SETSCROLLPOS, отправив которое ричедиту, можно прокрутить текст.
Другой способ, мне думается, - это использование SelStart и SelLength.
SelStart и SelLength - сразу отпадают, так как срабатывают, когда фокус ввода у RichEdit'а (у меня фокус ввода у другого элемента программы).
Можно поподробнее про EM_SETSCROLLPOS - какие параметры передаются вместе с этим сообщением, а то боюсь что не найду соответствующей инфы.
http://msdn.microsoft.com ):
Цитата из MSDN (MSDN - полезнейший кладезь информации,
Цитата:
An application sends an EM_SETSCROLLPOS message to tell the rich edit control to scroll to a particular point.
To send this message, call the SendMessage function with the following parameters.
Parameters
wParam
This parameter is not used.
lParam
Pointer to a POINT structure which specifies a point in the virtual text space of the document, expressed in pixels. The document will be scrolled until this point is located in the upper-left corner of the edit control window. If you want to change the view such that the upper left corner of the view is two lines down and one character in from the left edge. You would pass a point of (7, 22).
Rich Edit checks the X and Y coordinates and adjusts them if necessary, so that a complete line is displayed at the top. It also ensures that the text is never completely scrolled off the view rectangle.
Return Values
This message always returns 1.
Requirements
Version: Requires Rich Edit 3.0 or later.
Header: Declared in Richedit.h.
See Also
Rich Edit Controls Overview, Rich Edit Messages, EM_GETSCROLLPOS
To send this message, call the SendMessage function with the following parameters.
Код:
Parameters
wParam
This parameter is not used.
lParam
Pointer to a POINT structure which specifies a point in the virtual text space of the document, expressed in pixels. The document will be scrolled until this point is located in the upper-left corner of the edit control window. If you want to change the view such that the upper left corner of the view is two lines down and one character in from the left edge. You would pass a point of (7, 22).
Rich Edit checks the X and Y coordinates and adjusts them if necessary, so that a complete line is displayed at the top. It also ensures that the text is never completely scrolled off the view rectangle.
Return Values
This message always returns 1.
Requirements
Version: Requires Rich Edit 3.0 or later.
Header: Declared in Richedit.h.
See Also
Rich Edit Controls Overview, Rich Edit Messages, EM_GETSCROLLPOS
Код:
SendMessage(Memo1->Handle, EM_LINESCROLL, 0, Memo1->Lines->Count-n);
где n - количество строк в Memo1
кстати, какое сообщение отправляется по Ctrl+End ?
в Memo и Richedit оно работает, надо бы его использовать.