Форум: "Начинающим";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];
ВнизКак осуществить прокрутку в ScrollBox? Найти похожие ветки
← →
Vasiliy (2006-08-20 07:56) [0]Приветствую Вас, мастера. Вот такой вопрос возник.
Имеется компонент ScrollBox на форме, Align=Alclient. В этом компоненте находится Timage в котором загружена картинка, превосходящая размеры Scrollbox, как минимум вдвое. Соответственно появились ползунки.
Я обратил внимание что при прокрутке ползунков изменились Left и Top компонента Image. Решил воспользоваться событием OnMouseWheel... чтобы их изменить, но что-то не работает, при ни на Image, ни на ScrollBox.
Подскажить пожалуйста, как осуществить прокрутку ScrollBox, крутя колесик мышки.
Заранее благодарю.
← →
Мефисто (2006-08-20 08:53) [1]TScrollBox.HorzScrollBar
TScrollBox.VertScrollBar
TScrollBox.VertScrollBar.Position
← →
vasiliy (2006-08-21 06:06) [2]>>>Мефисто (20.08.06 08:53) [1]
TScrollBox.HorzScrollBar
TScrollBox.VertScrollBar
TScrollBox.VertScrollBar.Position
А на какой компонент событие движения колесика мышки накладывать, а что-то не получается (на события Scrollbox, Image не работает).
С уважением.
← →
Мефисто (2006-08-21 13:19) [3]TForm.OnMouseWheel....
Begin
TScrollBox.VertScrollBar.Position := TScrollBox.VertScrollBar.Position + WheelDelta;
end;
← →
ffo © (2006-08-21 13:42) [4]
> Подскажить пожалуйста, как осуществить прокрутку ScrollBox,
> крутя колесик мышки
Для этого напиши небольшой перехватчик событий прокрутки мыши.
Вот пример писанный мной для скролов формы:
public
{ Public declarations }
procedure ffoHOOK(var Msg:TMsg;var Handled:Boolean);
// ...
procedure Tfm_TP22500.FormCreate(Sender: TObject);
begin
Application.OnMessage:=ffoHOOK;
end;
//...
procedure TForm1.ffoHOOK(var Msg:TMsg;var Handled:Boolean);
begin
case Msg.message of
wm_MOUSEWHEEL://Крутнули кнопку мыши
if Msg.wParam > 0 then VertScrollBar.Position:=VertScrollBar.Position+10
else VertScrollBar.Position:=VertScrollBar.Position-10;
wm_KEYDOWN://Сообщение от клавиатуры
case Msg.wParam of
vk_Left: HorzScrollBar.Position:=HorzScrollBar.Position-10;//смещение влево
vk_Right:HorzScrollBar.Position:=HorzScrollBar.Position+10;//смещение вправо
vk_Up: VertScrollBar.Position:=VertScrollBar.Position-10;//смещение вверх
vk_Down: VertScrollBar.Position:=VertScrollBar.Position+10;//смещение вниз
end;//case
end;//case
//...
//Отключи
Form1.Repaint;
Handled:=true;
end;
Как видишь тут и кнопки управления курсором перехвачены(крутишь ср кн мыши или жмешь на кнопки перемещения курсора, а двигается скрол куда теде надо)
← →
ffo © (2006-08-21 13:46) [5]
> Tfm_TP22500
Извини. Случайно оставил Tfm_TP22500 из своего приера, не обращай внимания.
← →
Vasiliy (2006-08-22 06:07) [6]Спасибо, сегодня же поэксперементирую.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.043 c