![]() |
|
|
![]()
|
|
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Доброго времени суток!
Появилась необходимость менять прозрачность окна при наведении мыши. Сначала пробовал обрабатывать события на вход/выход курсора, но они плохо работают. Например, если быстро переместить курсор, событие не возникает. Решил использовать таймер. В обработчике OnTimer проверял находится ли курсор в прямоугольнике окна. Но этот вариант тоже забраковал... Если мое окно перекрыто другим окном, то при наведении мыши на место пересечения, мое окно становится непрозрачном, хотя курсор при этом над чужим окном. Затем узнал о функции WindowFromPoint. Написал такой код:
Осталось решить небольшую проблему. Если курсор находится над всплывающем меню или над другой формой моего приложения, главное окно становится прозрачным. Как этого избежать? Возможно ли по хэндлу окна можно получить хэндл приложения, котороый, на сколько я понимаю, одинаков для всех моих окон? |
|||
|
||||
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Сделал так:
Теперь при наведении на мои окна, главное окно остается непрозрачным. Однако для всех меню (MainMenu, PopupMenu) проблема осталась( |
|||
|
||||
| Superklug |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Еще немного поразмыслив получил следующее:
Вроде все работает как надо. Тема закрыта. P.S. И зачем открывал тему спрашивается)) Ну надеюсь кому-нибудь пригодится... P.P.S. Если кто-то знает более красивое решение - напишите. Это сообщение отредактировал(а) Superklug - 4.5.2009, 18:07 |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |