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

Вниз

API и WM_MOUSEMOVE   Найти похожие ветки 

 
demon ©   (2008-07-31 15:54) [0]

Создал приложение на API, в нем снимются события WM_MOUSEMOVE и WM_MOUSEWHELL, притом второе работает даже когда мышь не над формой, а вот WM_MOUSEMOVE почему-то не работает когда мышь не над формой.
Как сделать так, чтобы события WM_MOUSEMOVE отлавливались по всему экрану, а не только над формой?


 
tesseract ©   (2008-07-31 15:57) [1]

Глобальный хук поставить. WM_MOUSEWHEEL передаёться окну у которого фокус.


 
demon ©   (2008-07-31 16:03) [2]

Напишите, пожалуйсто, как это сделать?
Или может исходник какой есть, я бы сам разобрался...


 
demon ©   (2008-07-31 16:30) [3]

Для него, что, еще и длл-ку писать придеться?...
Почему же в любом плеере если нажать на прогрессбар и увести мышь с окна программы, то прогрессбар всеровно реагирует на перемещение мышь.


 
Игорь Шевченко ©   (2008-07-31 16:39) [4]

SetCapture/ReleaseCapture


 
Сергей М. ©   (2008-07-31 16:44) [5]


> Почему же в любом плеере если нажать на прогрессбар и увести
> мышь с окна программы, то прогрессбар всеровно реагирует
> на перемещение мышь


Плейеры здесь ни причем, тоже самое ты можешь наблюдать безо всяких хуков и захватов в любом GUI-приложении.


 
tesseract ©   (2008-07-31 16:52) [6]


> то прогрессбар всеровно реагирует на перемещение мышь.


Потому,  как окно мышь не отпустило.

На клавиатуру тут :
http://www.delphisources.ru/pages/faq/base/global_keyboard_hook.html

Как на мышь - посмотри описание. Да и вообще почитай Руссиновича - дестадовские вопросы отпадут.


 
demon ©   (2008-07-31 17:10) [7]

Так ответте еще на один детский вопрос, если писать на API, что, без внедрения dll никак не обойтись?


 
demon ©   (2008-07-31 17:42) [8]


> Игорь Шевченко ©   (31.07.08 16:39) [4]
> SetCapture/ReleaseCapture

Спасибо, вроде чтото дельное, попробую.


 
demon ©   (2008-07-31 20:45) [9]

SetCapture работает! :)
Но появился еще один вопрос, курсор над формой становиться busy, это нормально или я что-то напортачил?


 
tesseract ©   (2008-07-31 23:04) [10]


>  если писать на API, что, без внедрения dll никак не обойтись?


На чём хочешь пиши :-) Просто только API это позволяет.


> Но появился еще один вопрос, курсор над формой становиться
> busy, это нормально или я что-то напортачил?


Просто твое приложение перестают обрабатывать очередь сообщений - вот тебе и курсов Busy.


 
demon ©   (2008-08-01 01:48) [11]

Ясно, всё довел до толку, сделал чтобы SetCapture ставилось при WM_LBUTTONDOWN и снималось при WM_LBUTTONUP и всё заработало превосходно :)
Спасибо Вам, Игорь!



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

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

Наверх




Память: 0.49 MB
Время: 0.008 c
15-1248038747
Германн
2009-07-20 01:25
2009.09.13
Если кто знает что-то подобное?


4-1216402140
guav
2008-07-18 21:29
2009.09.13
Панель управления->Языки->Дополнительно->Для не юникод


2-1247150550
Elephon
2009-07-09 18:42
2009.09.13
Загрузить в combobox имена папок из указанной директории


15-1247517154
Юрий
2009-07-14 00:32
2009.09.13
С днем рождения ! 14 июля 2009 вторник


1-1214818458
Context
2008-06-30 13:34
2009.09.13
Получить контекстное меню отдельного расширения оболочки