powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Scroll
11 сообщений из 11, страница 1 из 1
Scroll
    #32294186
Andrei_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как заставить скролбокс с компонентами внутри скролиться по колесу.
Ставил автоскролл. Даже прописывал руками - видимо не вызывается для него событие. Он не активный чтоли. Хотя ставил табстоп и тыкал везде. Драйвера не причем - дерево крутится.
...
Рейтинг: 0 / 0
Scroll
    #32294266
Duce
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Он не обрабатывает WM_MOUSEWHEEL
В принципе можешь свой компонент-наследник слепить,
добавив свой обработчик

procedure WMMOUSEWHEEL(var Message: TWMChar); message WM_MOUSEWHEEL;
...
Рейтинг: 0 / 0
Scroll
    #32294304
Andrei_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень понял. А зачем у него тогда эвенты такие есть? Кто-то тогда воспринимает это событие - форма например? Ну кроме своего наследника есть вариант выкрутиться так???
...
Рейтинг: 0 / 0
Scroll
    #32294310
koff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня сделано так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
procedure TMainForm.ScrollBoxMouseWheel(Sender: TObject;
  Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint;
  var Handled: Boolean);
begin
  inherited;
  WheelScrollHandle(TScrollBox(Sender), WheelDelta);
end;

const cWheelSpeed =  10 ;
  cWheelDiv =  10 ; //Делитель, а то иногда слишком быстро
  CWheelDirtyDraw = False; //Отрисовавать при каждом скролле  
procedure WheelScrollHandle(sb: TScrollBox; delta: Integer);
  var
    OldPos: Integer;
begin
  if not cWheelEnabled then exit;
  if not sb.VertScrollBar.IsScrollBarVisible then exit;
  with sb.VertScrollBar do begin
    OldPos := Position;
    Position := Position - Round( (Delta / CWheelDiv) * (cWheelSpeed /  100 ) );

  end;
  if not cWheelDirtyDraw then SB.Invalidate;
end
...
Рейтинг: 0 / 0
Scroll
    #32294332
Andrei_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы ребята видимо прикалываетесь....

Я же и спрашиваю почему у меня не вываливается в события
ScrollBoxMouseWheel
ScrollBoxMouseWheelDown
ScrollBoxMouseWheelUp

Как реализовать в них я уж придумаю
...
Рейтинг: 0 / 0
Scroll
    #32294355
Andrei_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или я не правильно понял вашего хода мыслей и енто имеется ввиду в сторону
TCustomForm.MouseWheelHandler
...
Рейтинг: 0 / 0
Scroll
    #32294847
Andrei_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Люди, ну плиз, помогите разобраться, ну очень надо.....
...
Рейтинг: 0 / 0
Scroll
    #32295536
koff4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только что сляпал форму со скроллбоксом, кинул туда 3 edita, прописал обработчик - все скроллируется. Правда не скроллируются сетки и другие компоненты, сами колесо обрабатывающие. Но все остальное - OK. Даже и не знаю, где тут может быть трабл.
...
Рейтинг: 0 / 0
Scroll
    #32295551
koff4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати обнаружил интересную вещь. ScrollBox должен имет фокус ввода (какой нибудь компонент в нем). Иначе никаих сообщений по колесу не вырабатывается. Возможно трабл имеено в этом.
...
Рейтинг: 0 / 0
Scroll
    #32296429
Andrei_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну человек, ну напиши ты плиз конкртено.

Только что сляпал форму со скроллбоксом, кинул туда 3 edita, прописал обработчик - все скроллируется

Какой написал обработчик??? Для какого объекта???? Для какого евента или к чему обработчик????
...
Рейтинг: 0 / 0
Scroll
    #32296435
Andrei_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все, вроде разобрался. Всем спасибо большое....
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Scroll
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]