![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
DemoCode |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 890 Регистрация: 20.10.2005 Где: Россия Репутация: 2 Всего: 41 |
При закрытии тултипа по таймауту и при закрытии его юзером (при нажатии кнопки закрывания) используется одно и тоже сообщение, причём wParam и lParam у них тоже идентичны. Можно ли как-то опредилить сам тултип закрылся или ему помогли?
-------------------- Жить стало лучше, жить стало веселей © И.В. Сталин |
|||
|
||||
Sunvas |
|
|||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Это естественно: при любом закрытии тултип получает одно сообщение - закрытия. Попробуй отслеживать клики мыши на тултипе... -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
DemoCode |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 890 Регистрация: 20.10.2005 Где: Россия Репутация: 2 Всего: 41 |
Он получает сообщение таймаута. А более лучшего решения нету? Мне ведь нужно именно клик по кнопке закрытия поймать. Надо ещё её координаты как-то узнавать... -------------------- Жить стало лучше, жить стало веселей © И.В. Сталин |
|||
|
||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 1 Всего: 259 |
Если тултип закрылся по таймеру - значит его закрыл таймер т.е. время прошло. Если тултип закрыл юзер - то время таймера автоматического закрытия тултипа еще не прошло. Итого надо запомнить время начала показа тултипа, посмотреть время его закрытия. Если общее время показа тултипа >= времени закрытия тултипа по таймеру - значит закрылся по таймеру. Исключительной ситуацией когда юзер кликнул ну вот прямо в ту же милисекунду когда закончился таймер можно или пренебречь или обработать так, как более нужно у тебя в программе. Добавлено @ 17:05 ИМХО дешево и сердито раз уж товарищи из МС не подумали о том чтобы это дело можно было отличить. |
|||
|
||||
DemoCode |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 890 Регистрация: 20.10.2005 Где: Россия Репутация: 2 Всего: 41 |
smartov, спасибо за идею, но тут дело ещё в том, что тултип не всегда закрывается точно по таймеру (бывает во время закроется, а бывает и раньше и позже), так и не смог разгадать отчего это зависит - ведёт себя как ему захочется. Так что на таймер надеется сильно не приходится. Но ничего не остаётся, придётся копать в этом направлении.
Sunvas, кстати, при клике по кнопке закрывания, сообщения о клике вообще нету, а только о таймауте. -------------------- Жить стало лучше, жить стало веселей © И.В. Сталин |
|||
|
||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 1 Всего: 259 |
Я тебя так и понял. Это они видать "заюзали существующий функционал". Чтобы не обрабатывать лишнее событие они повесили на батон отсылку таймаута... ну не подумали что кому-то оно надо.. что сказать.. |
|||
|
||||
Sunvas |
|
|||
![]() Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
А если пользователь кликнул по тултипу вмест с закрытием по таймеру? (т.е. одновременно) -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |