Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.08.26;
Скачать: [xml.tar.bz2];

Вниз

плавный скроллинг TScrollBox   Найти похожие ветки 

 
click   (2007-07-30 12:58) [0]

в основной по непонятной причине ветку закрыли, попробую здесь, копи - пастю от сюда http://delphimaster.net/view/1-1185652576/

Пол дня сижу с этой проблемой... (теперь уже куда дольше)голова уже не варит совсем!
Вобщем нужно чтобы мой скролбокс плавно прокручивался при вращении над ним колесика. Пробовал естественно MouseWheel, пробовал отлавливать WM_MOUSEWHEEL все это до моего "бокса" не доходит пробовал также ловить WM_HSCROLL и WM_VSCROLL - это доходит но как выянилось не то что нужно.... Пытался также отправлять ему
sendmessage(myhandle,EM_SCROLL,SB_LINEDOWN он тоже не реагирует зараза...
Всеми желаемыми требованиями обладает TMemo, он и прокручивается отлично и при нажатии колеса появляется типичная картинка после чего можно перемещаться просто движениями мыши.
Просмотрел обе ветки в генофонде (предположим вправо вверх - ветвь наследников от TControl в сторону Мемо, а в лево вверх уходят предки скролбокса) так и там во всех наследниках не нашел ничего особенного что могло вызвать такую разницу в реакции на колесо... единственное что нарыл это разница в CreateParams на уровне  TScrollingWinControl. Пробовал и его переписать наподобие "мемовского" - это тоже ничего не дало...
Вобщем понимаю что ответ на поверхности но соображалка уже не работает... если есть у кого дельный совет - дайти плиз.. я сдаюсь! ))


 
Kerk ©   (2007-07-30 15:11) [1]

Посмотри как работает событие OnMouseWheel


 
Yanis ©   (2007-07-30 16:53) [2]


> Пробовал естественно MouseWheel, пробовал отлавливать WM_MOUSEWHEEL
> все это до моего "бокса" не доходит пробовал также ловить
> WM_HSCROLL и WM_VSCROLL - это доходит но как выянилось не
> то что нужно.... Пытался также отправлять ему

Можно пояснить. Ещё лучше было бы написать код.
Я так понял весь вопрос заключается в
> чтобы мой скролбокс плавно прокручивался при вращении над
> ним колесика

?


 
click   (2007-07-31 10:29) [3]


> Yanis ©   (30.07.07 16:53) [2]

>Я так понял весь вопрос заключается в том чтобы мой скролбокс плавно
> прокручивался при вращении над  ним колесика?


так точно!!! ;-)


 
click   (2007-07-31 10:34) [4]


> Kerk ©   (30.07.07 15:11) [1]
> Посмотри как работает событие OnMouseWheel


я смотрел... более того у скроллбокса оно и без меня реализовано!
проблема в том что это событие не наступает ((( как ни крути колесо...


 
Пробегал тут   (2007-07-31 14:03) [5]

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
 var Handled: Boolean);
var
 ActiveControl: TControl;
 Direction, CurPosX, CurPosY: SmallInt;
begin
 if Msg.message = WM_MOUSEWHEEL then
 begin
   CurPosX := LoWord(Msg.lParam);
   CurPosY := HiWord(Msg.lParam);
   ActiveControl := FindDragTarget(Point(CurPosX,CurPosY), True);
   if ActiveControl is TScrollBox then
   begin
     Direction := HiWord(Msg.wParam);
     with ScrollBox1.VertScrollBar do
     begin
       if Direction > 0 then
         Position := Position + 10;
       if Direction < 0 then
         Position := Position - 10;
     end;
   end;
   Handled := False;
 end;
end;


 
click   (2007-07-31 16:07) [6]

>>Пробегал тут   (31.07.07 14:03) [5]

спасибо большое! обязательно попробую щас на работе негде)



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.08.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.063 c
4-1172729319
DeadMeat
2007-03-01 09:08
2007.08.26
Выгрузка *.dll


2-1185684289
koha
2007-07-29 08:44
2007.08.26
Реестор, вопрос по TRegistry


15-1185371357
Галинка
2007-07-25 17:49
2007.08.26
Посоветуйте книгу по Си


2-1185959157
Nikfel
2007-08-01 13:05
2007.08.26
Внутри ли кнопки курсор.


2-1185513548
NKT
2007-07-27 09:19
2007.08.26
Размер дочернего окна





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