Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

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

Delphi , Программа и Интерфейс , TMemo и TRichEdit

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

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

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

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

Рады Windows API программированию!

В этом примере метод Perform используется для имитации события вертикального скролла для контрола memo. Сообщение WM_VScroll отправляется в контрол memo с параметром SB_LINEDOWN, что означает "скролл вниз на одну строку".

Вот разбивка возможных вариантов:

  • SB_BOTTOM: Переместить курсор до конца контрола.
  • SB_ENDSCROLL: Окончание скролла (используется внутренне Windows).
  • SB_LINEDOWN: Скролл вниз на одну строку (как в этом примере).
  • SB_LINEUP: Скролл вверх на одну строку.
  • SB_PAGEDOWN: Скролл вниз на страницу.
  • SB_PAGEUP: Скролл вверх на страницу.
  • SB_THUMBPOSITION: Установить позицию пальца.
  • SB_THUMBTRACK: Установить позицию трека.
  • SB_TOP: Переместить курсор до начала контрола.

Эти параметры могут использоваться с любым контролом, который поддерживает вертикальный скролл, например, с TComboBox, TListBox, TRichEdit и т.д.

Чтобы программно скроллить memo (или другой скрольируемый контрол) в Delphi или C++Builder, вы бы использовали следующий код:

Memo1.Perform( WM_VScroll, SB_LINEDOWN, 0 );

Или, если вы хотите скроллить до конкретной позиции:

Memo1.Perform( WM_HSCROLL, SB_THUMBPOSITION, 50 ); // Скролл до 50% ширины контрола

Обратите внимание, что Perform используется вместо отправки сообщения напрямую, потому что оно предоставляет более удобный способ имитации пользовательского ввода.

Если вы ищете альтернативное решение, вы также можете использовать метод ScrollBy или свойство Position (для некоторых контролов) для достижения схожих результатов. Например:

Memo1.ScrollBy(0, 10); // Скролл вниз на 10 строк

Или:

Memo1.Position := Memo1.Position + 10; // То же самое, что и выше

Программная прокрутка Memo-компонента в Delphi может выполняться с помощью метода Perform() класса TControl, передавая ему константу WM_VScroll и значение параметра nCmdShow.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: TMemo и TRichEdit ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 19:51:07/0.0031490325927734/0