Главная страница
    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.043 c
3-1151498384
Serjio77
2006-06-28 16:39
2006.09.10
Выгрузка из файла xml для чайника...


3-1152192063
mefisto
2006-07-06 17:21
2006.09.10
"Наглядный" SQL Запрос : )


5-1138780491
matveev
2006-02-01 10:54
2006.09.10
TPageControl добавление TTabSheet в design-time


15-1155631422
Александр Иванов
2006-08-15 12:43
2006.09.10
Мартин Файлер "Рефакторинг"


2-1155983892
SerJaNT
2006-08-19 14:38
2006.09.10
HTML и Буфер обмена





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский