Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Выезжающая панель

3.0K
14 августа 2008 года
Oxaid
63 / / 02.04.2006
Привет!
Делаю элемент пользовательского интерфейса - выезжающая панель. Нужно чтобы при наведении мыши она выезжала, а при отсутствии заезжала назад. На панели располагаются другие контролы. Проблема в том, что использовать стандартные ивенты mouseHover и mouseLeave нельзя. Так как, если указатель мыши попадает на контрол, находящийся на панели, то срабатывает событие mouseLeave для панели. Поэтому это событие нельзя использовать для закрытия панели. Как реализовать для такой панели механизм открытия и закрытия при наведении мыши.
536
16 августа 2008 года
alex-kniaz
382 / / 07.08.2008
Вызывай одну и туже функцию по mouseHover и mouseLeave для всех контролов на панели и сайой панели.
3.0K
20 августа 2008 года
Oxaid
63 / / 02.04.2006
Цитата: alex-kniaz
Вызывай одну и туже функцию по mouseHover и mouseLeave для всех контролов на панели и сайой панели.


Мне кажется не самое лучшее решение. Я подошел с другой стороны. Контролов на панели обычно много, а вот панелей на форме не много. Поэтому проще переопределить метод Form_MouseEnter и в нем вызвать что-то типа Panel1.ClosePanel(). Там правда еще есть один нюанс при работе с мышью. Надо повторно переправерять координаты мыши (находится ли еще курсор над панелью или нет), предварительно Update-ив форму, чтобы панел корректно закрылась. Но это уже наверно тонкости самого алгоритма заезда/выезда панели.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог