Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SetCapture, Сообщения от мыши 
:(
    Опции темы
Temnozor
Дата 1.7.2002, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 27.6.2002
Где: Тюмень

Репутация: нет
Всего: нет



Столкнулся с такой проблемой.
Для диалога (неглавного) моей программы вызываю SetCapture().
И превосходно принимаю движения мышой OnMouseMove().
Но при выходе за пределы всех окон моей проги (на территорию чужих окон) OnMouseMove перестают поступать. Это, мягко говоря, не то что я ожидал.
Мне надо знать положение курсора мыши в каждый момент времени по всему экрану.
Я в корне не прав или должно все это работать?
Или надо пойти другим путем?
P.S. Ну не Hook'ами же в конце концов мне движения мышака ловить?!
P.S.2. Щас дошло только: по таймеру узнавать текущее положение мыши. Ой не нравится мне эта идея... :sneaky2
--------------------
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.
PM   Вверх
Baa
Дата 1.7.2002, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 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
PM ICQ   Вверх
Temnozor
Дата 5.7.2002, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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.
PM   Вверх
TwoK
Дата 5.7.2002, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 259
Регистрация: 25.3.2002

Репутация: нет
Всего: нет



А почему бы не хук?

Правда, я тут как-то хук на мышь написал... И драйвера моего NetScroll+ приказали долго жить. То есть вопрос стоял так: либо дрова NetScroll, либо хук :)


--------------------
Говорят, что население в стране все меньше и меньше. А народу по утрам в метро почему-то все больше и больше...
PM MAIL   Вверх
Temnozor
Дата 5.7.2002, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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.
PM   Вверх
Baa
Дата 5.7.2002, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Эмулируй удержание кнопы мыши ;-) правда это выглядит, как мочить тараканов из дробовика :\ :rolleyes
З.Ы.
Притом, чтобы другое окно не стало активным, зажать кнопку надо на своем окне %)




--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Fantasist
Дата 6.7.2002, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: 4
Всего: 41



Совершенно верно. Либо драйвер либо хук. В том смысле, что либо пиши драйвер отслеживающий мышь либо ставь хук. А так никакие тебе сообщения виндос присылать не будет. Таймер это, конечно, круто, но сам понимаешь... Хук ведь для того и придумали. А если времени нет, так у меня, пожалуй, парочка готовых есть.


--------------------
Волны гасят ветер...
PM MAIL   Вверх
Wowa
Дата 6.7.2002, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(Temnozor @ 05.7.2002, 07:43)
ну я не могу юзверя заставлять кнопку удерживать...

а если эмулировать?
PM WWW   Вверх
Baa
Дата 6.7.2002, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Цитата(Admin @ 06.7.2002, 18:57)
а если эмулировать?

То он больше нигде не кликнет ;\
Или если вдруг сообщения пройдут, в чем я сомневаюсь, других аномалий найдется уйма...вобщем, это не решение.




--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Temnozor
Дата 8.7.2002, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0515 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.