![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Параллельная прокрутка двух CheckListBox
[i2e] © (2008-09-18 13:15:00)И уж совсем была наша победа, но оказалось, что по колесу мышки прокрутка выполняется только там, куда наведен фокус. И никакие из событий по прокрутке колеса отловить не смог (равно как и по нажатию кнопки вверх/вниз в компоненте).
Вопрос, вроде, простой, но целый день убил - и без толку.
Как можно отловить прокрутку?
[i2e] (2008-09-19 07:20:00) [1]>[10]
хороший сайт. есть полезности. кое что сдул.
а "проблема" уже работает, как описано выше в [7].
Smile (2008-09-18 17:05:00) [2]
> [i2e] (18.09.08 13:15)
Попробуй взять здесь:
http://denisov.i2x2.ru/delphi/Units/SListBox.rar
Сайт старый, давно не обновляется, но кое-что для "начинающих" там есть:)
oldman (2008-09-18 16:41:00) [3]
> и на WM_VSCROLL, и на WM_MOUSEWHEEL выдается "Undeclared identifier".
> я его не описал?
Ну... мозги все-таки работают. Это радует.
KilkennyCat (2008-09-18 16:07:00) [4]
> Но WM_VSCROLL на колесо мыши не отловилось.
оно (колесо) должно было закрутиться? :)
[i2e] (2008-09-18 16:02:00) [5]Получилось!Итого:
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 на колесо мыши не отловилось.
Благодарю за ценную помощь.
[i2e] (2008-09-18 14:30:00) [6]видимо, это выше моих сил.
ни фига не въехал.
вижу, что это оно, что должно работать.
но как они ловятся, перехватываются, подменяются? х.з.
похоже, убиваю второй день.
Германн (2008-09-18 14:23:00) [7]
> [i2e] (18.09.08 13:53) [3]
uses Messages
Хотя с учетом
> чего-то не так делаю, но читание help не помогло.
> я его не описал? или что?
боюсь не поможет. Базовых знаний слишком мало.
clickmaker (2008-09-18 13:56:00) [8]> [3] [i2e] (18.09.08 13:53)
> на форму кинул, написал.
подмени оконную процедуру WindowProc у первого листбокса.
В ней лови WM_VSCROLL, пересылай второму.
В конце не забудь вызвать сохраненную оригинальную WindowProc
[i2e] (2008-09-18 13:53:00) [9]на форму кинул, написал.
и на WM_VSCROLL, и на WM_MOUSEWHEEL выдается "Undeclared identifier".
чего-то не так делаю, но читание help не помогло.
я его не описал? или что?
oldman (2008-09-18 13:19:00) [10]Когда-то давно мне подсказали:
"Кидаем на форму ApplicationEvents и в его OnMessage пишем:
Begin
If Msg.message = WM_MOUSEWHEEL then"
clickmaker (2008-09-18 13:18:00) [11]> И никакие из событий
WM_VSCROLL?