Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как заставить работать колесо прокрутки на форме? [D7, XP]


allucard ©   (2007-04-20 11:52:00) 

Доброго дня.

Есть форма с линейкой прокрутки, как её заставить прокручиваться от колеса прокрутки?

Спасибо.


allucard   (2007-04-20 12:44:00) [1]

Спасибо


X9   (2007-04-20 12:29:00) [2]

В смысле, у формы AutoScroll установлено в True?

Тогда так:

Оформляем обработчик OnMouseWheelUp следующим образом:

procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
 MousePos: TPoint; var Handled: Boolean);
begin
 Form1.VertScrollBar.Position := Form1.VertScrollBar.Position + 10;
end;


А OnMouseWheelDown, соответственно, так:

procedure TForm1.FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
 MousePos: TPoint; var Handled: Boolean);
begin
 Form1.VertScrollBar.Position := Form1.VertScrollBar.Position - 10;
end;


Где 10- желаемый шаг прокрутки.


Elen   (2007-04-20 12:28:00) [3]

Если я правильно понимаю вопрос то:

procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
 WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
ScrollBy(0,WheelDelta div 10);
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо