Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как отловить сообщение о скроллинге [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. Перед тем как выложить вышепредложенный код - я его проверил и у меня он работал.


Наверх

Титульная страница Поиск, карта сайта Написать письмо