Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.047 c
15-1156065454
Dbn
2006-08-20 13:17
2006.09.10
Версия прошивки телефона


15-1155301390
ms1
2006-08-11 17:03
2006.09.10
Дeти - цвeты жизни.


9-1115392165
OSokin
2005-05-06 19:09
2006.09.10
А не устраивать ли нам небольшие конкурсы по кодингу? (ч.4)


2-1155830851
GTAID
2006-08-17 20:07
2006.09.10
PChar:=String


2-1155842084
Denisich
2006-08-17 23:14
2006.09.10
Ошибка в rtl60.bpl





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский