![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нет работает прокрутка в 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;