![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Temnozor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 27.6.2002 Где: Тюмень Репутация: нет Всего: нет |
Столкнулся с такой проблемой.
Для диалога (неглавного) моей программы вызываю SetCapture(). И превосходно принимаю движения мышой OnMouseMove(). Но при выходе за пределы всех окон моей проги (на территорию чужих окон) OnMouseMove перестают поступать. Это, мягко говоря, не то что я ожидал. Мне надо знать положение курсора мыши в каждый момент времени по всему экрану. Я в корне не прав или должно все это работать? Или надо пойти другим путем? P.S. Ну не Hook'ами же в конце концов мне движения мышака ловить?! P.S.2. Щас дошло только: по таймеру узнавать текущее положение мыши. Ой не нравится мне эта идея... --------------------
Take a ride on, ride on, on your rotting horse on that deadly ground Take a ride, ride on, on your rotting horse with a pounding sound. |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: 8 Всего: 12 |
If the mouse cursor is over a window created by another thread, the system will direct mouse input to the specified window only if a mouse button is down.
Проверяем: зажимаем кнопку мыши в нашем диалоге и тащим за пределы окна -------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| Temnozor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 27.6.2002 Где: Тюмень Репутация: нет Всего: нет |
Мда. Thanks. Действительно.
Ну я не могу юзверя заставлять кнопку удерживать... Придется по таймеру брать позицию курсора грызуна... --------------------
Take a ride on, ride on, on your rotting horse on that deadly ground Take a ride, ride on, on your rotting horse with a pounding sound. |
|||
|
||||
| TwoK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 259 Регистрация: 25.3.2002 Репутация: нет Всего: нет |
А почему бы не хук?
Правда, я тут как-то хук на мышь написал... И драйвера моего NetScroll+ приказали долго жить. То есть вопрос стоял так: либо дрова NetScroll, либо хук -------------------- Говорят, что население в стране все меньше и меньше. А народу по утрам в метро почему-то все больше и больше... |
|||
|
||||
| Temnozor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 27.6.2002 Где: Тюмень Репутация: нет Всего: нет |
С хуками круто конечно, но разбиться несколько дольше (время!время!) и никогда не знаешь откуда стрельнет.
--------------------
Take a ride on, ride on, on your rotting horse on that deadly ground Take a ride, ride on, on your rotting horse with a pounding sound. |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: 8 Всего: 12 |
Эмулируй удержание кнопы мыши
З.Ы. Притом, чтобы другое окно не стало активным, зажать кнопку надо на своем окне %) -------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Совершенно верно. Либо драйвер либо хук. В том смысле, что либо пиши драйвер отслеживающий мышь либо ставь хук. А так никакие тебе сообщения виндос присылать не будет. Таймер это, конечно, круто, но сам понимаешь... Хук ведь для того и придумали. А если времени нет, так у меня, пожалуй, парочка готовых есть.
-------------------- Волны гасят ветер... |
|||
|
||||
| Wowa |
|
|||
|
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
а если эмулировать? |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: 8 Всего: 12 |
То он больше нигде не кликнет ;\ Или если вдруг сообщения пройдут, в чем я сомневаюсь, других аномалий найдется уйма...вобщем, это не решение. -------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| Temnozor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 27.6.2002 Где: Тюмень Репутация: нет Всего: нет |
Лады. Сделаю способом до которого руки дойдут.
Спасибо всем. --------------------
Take a ride on, ride on, on your rotting horse on that deadly ground Take a ride, ride on, on your rotting horse with a pounding sound. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |