Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.12.2011, 00:43
vmilyoshin vmilyoshin вне форума
Прохожий
 
Регистрация: 26.10.2011
Сообщения: 15
Репутация: 10
По умолчанию Перемещение VertScrollBar формы

Как заставить VertScrollBar формы перемещатся по нажатию стрелок вверх и вниз.
Допустим для колёсика мыши:
Код:
procedure TForm19.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
  VertScrollBar.Position:= VertScrollBar.Position + 10;
end;

procedure TForm19.FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
  VertScrollBar.Position:= VertScrollBar.Position - 10;
end;
А как сделать тоже самое для стрелок? Спасибо.
Ответить с цитированием
  #2  
Старый 29.12.2011, 01:59
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

По аналогии, можно использовать события формы OnKeyDown, определять нажатую клавишу и крутить в нужную сторону.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
Этот пользователь сказал Спасибо Bargest за это полезное сообщение:
vmilyoshin (29.12.2011)
  #3  
Старый 29.12.2011, 07:14
vmilyoshin vmilyoshin вне форума
Прохожий
 
Регистрация: 26.10.2011
Сообщения: 15
Репутация: 10
По умолчанию

Цитата:
Сообщение от Bargest
По аналогии, можно использовать события формы OnKeyDown, определять нажатую клавишу и крутить в нужную сторону.

У меня на форме имеется 2 CheckBoxa. После клика мыши по одному из них событие формы onKeyDown перестаёт работать. По нажатию стрелок фокус перекидывается то к одному CheckBoxу то к другому.

В событии формы прописано:
Код:
if (Key = 38) then VertScrollBar.Position:= VertScrollBar.Position - 10;
if (Key = 40) then VertScrollBar.Position:= VertScrollBar.Position + 10;
Как это можно уладить?
Ответить с цитированием
  #4  
Старый 29.12.2011, 08:36
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

keypreview?
Ответить с цитированием
  #5  
Старый 29.12.2011, 18:12
vmilyoshin vmilyoshin вне форума
Прохожий
 
Регистрация: 26.10.2011
Сообщения: 15
Репутация: 10
По умолчанию

Цитата:
Сообщение от Pyro
keypreview?
Не помогает.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:12.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter