Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
19.11.2008, 12:34
|
|||
---|---|---|---|
Как отловить момент выхода курсора мыши за переделы ДВ? |
|||
#18+
Сабж собственно ... Когда использую CaptureMouse(), ReleaseMouse() ДВ начинает вести себя как то странно. На пример: перестают работать стандартные события GetFocus/LoseFocus, нельзя отобразить Messagebox(...), ... Если не использовать CaptureMouse(), ReleaseMouse(), то все работает нормально, но выход мыши отловить не могу. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.11.2008, 13:07
|
|||
---|---|---|---|
|
|||
Как отловить момент выхода курсора мыши за переделы ДВ? |
|||
#18+
как отловить момент выхода ? - самое простое с помощью события маусмув обьекта, на котором лежит дв, или - с помощью SetCapture/ReleaseCapture, если пишем самостоятельный обьект, но как вы заметили уже, появляется ряд артефактов в поведении, каждый из которых придется отловить. на вскидку - - делать ReleaseCapture на xpos/ypos > width/height < 0 (лучше пользовать GetClientRect датавиндова - минус артефакт поведения на скроллбарах дв и, возможно, заголовка (Именно тут можно сгенерить МоусЛеаве)), перед скриптом, потенциально показывающим МессаджБоксы/Другие окна... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.11.2008, 22:39
|
|||
---|---|---|---|
Как отловить момент выхода курсора мыши за переделы ДВ? |
|||
#18+
в mousemove включить таймер и по событию таймера определять значение GetObjectAtPointer() если пусто или null то мыша ушла за пределы, таймер можно выключать. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.11.2008, 13:17
|
|||
---|---|---|---|
Как отловить момент выхода курсора мыши за переделы ДВ? |
|||
#18+
2 rcryo Я тоже думал про такое, но мне это не очень нравится - задержка между запросами таймера. Хотелось бы более красивое решение ... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.11.2008, 16:50
|
|||
---|---|---|---|
Как отловить момент выхода курсора мыши за переделы ДВ? |
|||
#18+
В dw событии other: if message.number = 675 then //out of dw end if ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.11.2008, 17:50
|
|||
---|---|---|---|
|
|||
Как отловить момент выхода курсора мыши за переделы ДВ? |
|||
#18+
Не будет оно работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.11.2008, 19:07
|
|||
---|---|---|---|
Как отловить момент выхода курсора мыши за переделы ДВ? |
|||
#18+
авторзадержка между запросами таймера. сделайте 100-200мс на глаз заметно не будет У меня по этому принципу сервис hyperlink сделан и не заметно никакой задержки ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.11.2008, 18:59
|
|||
---|---|---|---|
Как отловить момент выхода курсора мыши за переделы ДВ? |
|||
#18+
Ерунда это всёю Нужно использовать следующую API: Код: plaintext
Прикладываю static text, работающий по этому принципу (проверял и на ДВ) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.11.2008, 11:39
|
|||
---|---|---|---|
Как отловить момент выхода курсора мыши за переделы ДВ? |
|||
#18+
Филипп, преогромнейшее спасибо от лица всех страждущих! :) Хотя мне кажется, что этот метод где то перекликается с предложением rcryo - по принципу работы. У тебя реализовано ср-вами WinAPI, а там ПБ. Тоже своего рода опрос по таймеру, но может быть я и ошибаюсь. Еще раз - спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.11.2008, 19:50
|
|||
---|---|---|---|
Как отловить момент выхода курсора мыши за переделы ДВ? |
|||
#18+
Филипп, Вы на свете всех милее, всех румяней и белее. Однако вот это: Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.11.2008, 23:58
|
|||
---|---|---|---|
Как отловить момент выхода курсора мыши за переделы ДВ? |
|||
#18+
rcryoФилипп, Вы на свете всех милее, всех румяней и белее. Однако вот это: Код: plaintext 1. 2. 3. 4. 5. 6.
Абсолютная чепуха... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=15&mobile=1&tid=1336458]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
140ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 288ms |
total: | 517ms |
0 / 0 |