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

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

Нет работает прокрутка в ScrollBar. Кто сталкивался? [D7, WinXP]


EarlVadim ©   (2006-04-20 17:19:00) 

Есть форма в ней ScrollBox в котором куча разных компонентов.
Для управлением прокруткой колесом мыши сделал как в сети нашёл


procedure TMainForm.sScrollBox1MouseWheel(Sender: TObject;
 Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint;
 var Handled: Boolean);
begin
   sScrollBox1.VertScrollBar.Position:= ScrollBox1.VertScrollBar.Position+8*(Sign(-1*WheelDelta));
   Handled:=True;
end;

В инспекторе соответственно проставил событие OnMouseWheel на эту процедуру.
НЕ РАБОТАЕТ.
Пытался трассировать, выяснил, что Запись в POSITION не проходит. То есть до вызова процедуры POSITION=0 после записи любого числа всё-равно POSITION=0;
Что и где я упустил?


EarlVadim   (2006-04-21 11:25:00) [1]

Все разобрался.....
Это у меня компонента кривая (не стандартная из D7)


EarlVadim   (2006-04-21 10:48:00) [2]

Вот тут ещё попробовал тестовую форму сделать - там все работает.
Появилось предположение, что буксует у меня из-за того, что я динимически создаю все элементы интерфейса с Parent=ScrollBox1


EarlVadim   (2006-04-21 10:39:00) [3]

ВСЕ РАВНО Не работает.
Было подозрение что где-то намудрил с ScrollBox.SetFocus.
Пробовал разные варианты - без изменений.
Сейчас просто последняя строка FormShow

ScrollBox.SetFocus;


Lamer@fools.ua   (2006-04-20 20:35:00) [4]

procedure TForm1.ScrollBox1MouseWheel(Sender: TObject; Shift: TShiftState;
 WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
 with ScrollBox1.VertScrollBar do
   Position := Position - WheelDelta div 8;
 Handled := True;
end;


Наверх

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