
Новые сообщения [новые: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&tablet=1&tid=1336458]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 176ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...