![]() |
|
![]() ![]() ![]() |
|
Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Доброго времени суток!
Окно моей программы должно быть полупрозрачным в случае если оно неактивно. Если сделать его активным или навести курсор мыши оно должно становиться непрозрачным... Сначала пробовал обрабатывать сообщения CM_MOUSELEAVE и CM_MOUSEENTER, но они работают не корректно (если быстро перемещать курсор, то сообщения не возникают). Решил сделать проверку по таймеру. Возник вопрос... Как определить находится ли курсор над моей формой? Я сделал так:
Но у такого способа есть недостаток.... Если мое окно неактивно, его перекрывает другое окно, то моя форма становится непрозрачной даже если курсор не покидал границ активной формы... |
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 25 Всего: 372 |
Superklug, хммм... возможно что-то недопонял, но стандартные события формы OnMouseEnter, OnMouseLeave, OnMouseMove не подходят?
|
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
Так
результат Это сообщение отредактировал(а) Dem_max - 23.2.2009, 18:29 Присоединённый файл ( Кол-во скачиваний: 8 ) ![]() -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
THandle, Я пишу на Builder 6. Там нет таких событий... Переходить сейчас на другие версии уже поздно...
Dem_max, Проблема не устранена. Попробуйте сделать свою форму не поверх всех окон, потом перекройте часть формы другим окном и наведите курсор на перекрытый участок. Форма станет непрозрачной. |
|||
|
||||
Mpak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 12.11.2006 Репутация: 4 Всего: 7 |
Попробуйте добавить к способу Dem_max проверку на то, какое окно активно в момент наведения курсора на перекрытый участок
![]() -------------------- В любой откомпилированной программе есть, по крайней мере, одна ошибка... P.S. А у меня их минимум две... |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
Вот держи код
найди 1 отличие -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
Mpak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 445 Регистрация: 12.11.2006 Репутация: 4 Всего: 7 |
![]() А приз будет тому кто найдет? ![]() -------------------- В любой откомпилированной программе есть, по крайней мере, одна ошибка... P.S. А у меня их минимум две... |
|||
|
||||
Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Эх( Опять меня не поняли...
Моя форма совсем не обязательно должна быть активна. Попробую переформулировать... Необходимо узнать видна ли в данный момент под курсором моя форма. Т.е. необходимо учитывать не просто координаты, но и непосредственную видимость. |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
Superklug,
непонятный ты какой то. Лови WM_KILLFOCUS еще чтонибудь тогда -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Ну вроде работает)
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |