Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.26;
Скачать: CL | DM;

Вниз

Параллельная прокрутка двух CheckListBox   Найти похожие ветки 

 
[i2e]   (2008-09-18 13:15) [0]

И уж совсем была наша победа, но оказалось, что по колесу мышки прокрутка выполняется только там, куда наведен фокус. И никакие из событий по прокрутке колеса отловить не смог (равно как и по нажатию кнопки вверх/вниз в компоненте).
Вопрос, вроде, простой, но целый день убил - и без толку.
Как можно отловить прокрутку?


 
clickmaker ©   (2008-09-18 13:18) [1]

> И никакие из событий

WM_VSCROLL?


 
oldman ©   (2008-09-18 13:19) [2]

Когда-то давно мне подсказали:

"Кидаем на форму ApplicationEvents и в его OnMessage пишем:

Begin
If Msg.message = WM_MOUSEWHEEL then"


 
[i2e]   (2008-09-18 13:53) [3]

на форму кинул, написал.
и на WM_VSCROLL, и на WM_MOUSEWHEEL выдается "Undeclared identifier".
чего-то не так делаю, но читание help не помогло.
я его не описал? или что?


 
clickmaker ©   (2008-09-18 13:56) [4]

> [3] [i2e]   (18.09.08 13:53)
> на форму кинул, написал.

подмени оконную процедуру WindowProc у первого листбокса.
В ней лови WM_VSCROLL, пересылай второму.
В конце не забудь вызвать сохраненную оригинальную WindowProc


 
Германн ©   (2008-09-18 14:23) [5]


> [i2e]   (18.09.08 13:53) [3]

uses Messages

Хотя с учетом

> чего-то не так делаю, но читание help не помогло.
> я его не описал? или что?

боюсь не поможет. Базовых знаний слишком мало.


 
[i2e]   (2008-09-18 14:30) [6]

видимо, это выше моих сил.
ни фига не въехал.
вижу, что это оно, что должно работать.
но как они ловятся, перехватываются, подменяются? х.з.
похоже, убиваю второй день.


 
[i2e]   (2008-09-18 16:02) [7]

Получилось! Итого:

1) Кидаем на форму ApplicationEvents
2) Добавляем в uses

uses ..., Messages,...

3) и в OnMessage от ApplicationEvents пишем:

procedure TParamDlg.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
begin
 if Msg.message = WM_MOUSEWHEEL then
 begin
    ... // отловили колесо и отрабатываем
 end;
end;


Но WM_VSCROLL на колесо мыши не отловилось.
Благодарю за ценную помощь.


 
KilkennyCat ©   (2008-09-18 16:07) [8]


> Но WM_VSCROLL на колесо мыши не отловилось.


оно (колесо) должно было закрутиться? :)


 
oldman ©   (2008-09-18 16:41) [9]


> и на WM_VSCROLL, и на WM_MOUSEWHEEL выдается "Undeclared identifier".
> я его не описал?


Ну... мозги все-таки работают. Это радует.


 
Smile   (2008-09-18 17:05) [10]


> [i2e]   (18.09.08 13:15)

Попробуй взять здесь:
http://denisov.i2x2.ru/delphi/Units/SListBox.rar
Сайт старый, давно не обновляется, но кое-что для "начинающих" там есть:)


 
[i2e]   (2008-09-19 07:20) [11]

>[10]
хороший сайт. есть полезности. кое что сдул.
а "проблема" уже работает, как описано выше в [7].



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

Текущий архив: 2008.10.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
15-1220206202
silver
2008-08-31 22:10
2008.10.26
продается программист


3-1208388143
Maxim
2008-04-17 03:22
2008.10.26
Обработчик кнопки в WebSnap


15-1220467608
Юрий Зотов
2008-09-03 22:46
2008.10.26
Задачка для совсем-совсем начинающих


15-1220251028
Slider007
2008-09-01 10:37
2008.10.26
С днем рождения ! 1 сентября 2008 понедельник


2-1221641606
vegarulez
2008-09-17 12:53
2008.10.26
Вопрос про DBGrid.DataSource.DataSet.FieldValues[];