Карта сайта 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 вертикальной полосы прокрутки.


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


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

заголовок

e-mail

Ваше имя

Сообщение

Введите код




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



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


реклама



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

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