Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Прокрутка TScrollBox с помощью стрелок вверх и вниз

Delphi , Компоненты и Классы , TScrollBox

Прокрутка TScrollBox с помощью стрелок вверх и вниз

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

private
   procedure CMDialogKey(var Msg: TCMDialogKey); message CM_DIALOGKEY;
 end;


 implementation

 procedure TForm1.CMDialogkey;
 begin
   with Scrollbox1.VertScrollBar do
   begin
     case Msg.CharCode of
       // Delphi takes care of Position < 0 or Position > Range 
      VK_DWON: Position := Position + Increment; // down arrow key 
      VK_Up: Position   := Position - Increment; // up arrow key 
      else
         inherited;
     end;
   end;
 end;

Here's the translation of the text into Russian:

Классический код Delphi! Этот код - обработчик сообщения для сообщения CMDialogKey, которое отправляет система при событии нажатия клавиши в диалоговом окне (в этом случае, TScrollBox). Цель - реализовать прокрутку вверх и вниз с помощью стрелок.

Распределение кода:

  1. Процедура CMDialogKey объявлена в разделе интерфейса, указывая, что она будет обрабатывать сообщения, связанные с событиями диалогового окна.
  2. В разделе реализации процедура CMDialogKey определена. Она принимает параметр TCMDialogKey, содержащий информацию о событии нажатия клавиши.
  3. В процедуре мы используем оператор with для доступа к свойству VertScrollBar компонента Scrollbox1, который предположительно является компонентом TScrollBox на форме.
  4. Затем мы проверяем код символа нажатой клавиши с помощью свойства CharCode параметра TCMDialogKey. Если клавишей является стрелка вниз (VK_DOWN), мы увеличиваем позицию вертикальной полосы прокрутки на текущую величину шага. Аналогично, если клавишей является стрелка вверх (VK_UP), мы уменьшаем позицию.
  5. Если нажатие клавиши не является стрелкой, мы вызываем метод inherited для позволения родительскому классу обрабатывать событие.

Код сделает ваш компонент TScrollBox прокручиваться вверх и вниз при нажатии стрелок, когда он имеет фокус.

Некоторые предложения по улучшению:

  • Вы можете добавить обработку ошибок или проверку для обеспечения, что значение шага не равно нулю или отрицательному, что может вызвать проблемы с прокруткой.
  • Рассмотрите добавление оператора break после присваивания значения Position для предотвращения дальнейшей обработки события.
  • Если вы планируете использовать этот код в нескольких формах, рассмотрите извлечение его в отдельный модуль или класс для уменьшения дублирования.

В целом, это nice и компактное реализация, которая достигает своей цели. Хорошая работа!

Прокрутка TScrollBox в приложении на языке Delphi с помощью стрелок вверх и вниз реализована посредством обработки сообщения CM_DIALOGKEY и изменением значения свойства Position вертикальной полосы прокрутки.


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

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




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


:: Главная :: TScrollBox ::


реклама


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

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 11:42:07/0.0053079128265381/1