![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отловить сообщение о скроллинге [D6, WinXP]
Дубинин Алексей © (2004-02-16 22:23:00)Здраствуйте. Проблема в следующем. При нажатии средней кнопкой мыши в окнах где есть скролл появляется в стандартном драйвере ОС для мышки кружок со стрелками для автоматического прокручивания страниц. При этом я так же отлавливаю нажатие средней кнопки и отображаю некоторое окно. Этот кружок появляется на моем окне, а страничка снизу начинает бегать вслед за курсором. Необходимо этот кружок убрать(заблокировать появление) до появления моего окна.
Извиняюсь, что так размашисто написал. Заранее спасибо.
Дубинин Алексей (2004-02-17 20:01:00) [1]Так не получиттся, потому что закливание. Попробовал жмать на левую кнопку, но в таком случае программа как бы во взвешенном сотоянии...пока не нажму еще раз на левую кнопку. :(
Almaz (2004-02-17 00:54:00) [2]
> Дубинин Алексей © (16.02.04 22:23)
> Здраствуйте. Проблема в следующем. При нажатии средней кнопкой
> мыши в окнах где есть скролл появляется в стандартном драйвере
> ОС для мышки кружок со стрелками для автоматического прокручивания
> страниц. При этом я так же отлавливаю нажатие средней кнопки
> и отображаю некоторое окно.
Попробуйте следующую вещь - т.к. чтобы убрать этот скрол-кружок необходимо еще раз нажать на среднюю кнопку мыши, то попробуйте в обработчике нажатия средней кнопки повторно имитировать ее нажатие с помощью mouse_event:
procedure TForm1.ListBox1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Button = mbMiddle then
begin
mouse_event(MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0);
Form.Show;
end;
end;
Удачи.
Almaz (2004-01-23 13:08:00) [3]
> Дубинин Алексей © (17.02.04 20:01) [2]
> Так не получиттся, потому что закливание.
"Зацикливание" имеете ввиду ? На самом деле зацикливания не происходит как раз из-за возникающего скролинга - если вы проверите, то сами в этом убедитесь - второе нажатие средней кнопки - когда кружок скроллинга отображен на экране - не генерирует сообщение о нажатии кнопки.
Удачи.
p.s. Перед тем как выложить вышепредложенный код - я его проверил и у меня он работал.