Форум: "Прочее";
Текущий архив: 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.043 c