![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выезжающий Caption [D7, WinXP]
Neznaika © (2004-12-20 13:15:00)Еще один вопрос ... Надеюсь многие из Вас знакомы с Opera-ой, так вот, мне там при определенных скинах понравилось как сделан
Caption на панели управления, т.е. по наведению мыши текст как-бы увеличивается с нуля, при уходе уменьшается. Сделал тоже-самое на BitBtn с помощью таймера - красиво! , особенно при стиле ХР, но проблема в том что все это основанно на mousemove
и если кнопка находится близко к краю формы то когда курсор уходит за форму mousemove кончается, и таймер обрубается, надпись остается на кнопке на пол пути уменьшения. Делать кучку проверок для курсора не хочется (получить громадный исходник который может только Caption "двигать") И еще было бы не плохо избавиться от таймера. repeat, while и тд работают слишком быстро - пропадает эффект плавности.
//Большой получился вопрос надеюсь Вы поймете что я хочу!!!
или может есть готовые варианты?
GrayFace (2004-12-22 17:23:00) [1]RA © (20.12.04 17:18) [7]
Поэтому надо самому делать. Как? См. разные FAQ.
Нет. Есть у всех компонентов свойство WindowProcedure. Его можно заменять на свою, а ту, например, в Tag запихать, затем внутри делать обработку CM_MOUSEENTER(LEAVE) и вызов прошлой.
redlord (2004-12-20 17:24:00) [2]если избавится от таймера то вынеси в поток и используй sleep
RA (2004-12-20 17:18:00) [3]Надо вешать не на событие onmousemove, а на событиz onMouseEnter и onMouseLeave. Только в стандартных компонентах этих событий нет. А где есть? В rxLib есть, но там BitBtn нет. Поэтому надо самому делать. Как? См. разные FAQ.
DVM (2004-12-20 16:45:00) [4]
> Либо я что-то не понимаю либо таймер тормозит.
Не понимаешь. Тормозит там не таймер а получение значения прогресса.
Neznaika (2004-12-20 14:29:00) [5]>>Поручик © (20.12.04 13:53) [4]
Может и действительно фигня.
Но если тебе интересно попробуй кинь на форму mediaplayer с загруженным avi файлом,timer,button,progressbar;
И по нажатию на кнопку активируй таймер по событию которого progressbaru присваевай сколько файла уже проиграно от его общей длины. Не знаю как у тебя получится но у меня на Р3 1200MHz до нажатия на кнопку картинка "летает" после - заметно тормозит.
Либо я что-то не понимаю либо таймер тормозит.
Поручик (2004-12-20 13:53:00) [6]Фигня, ничего атймер не тормозит, поставь пару проверок и все будет хорошо.
Neznaika (2004-12-20 13:45:00) [7]Ну а по поводу таймера, все-таки он неслабо затормаживает программу?
А симптичный,"живой" интерфейс - ХОЧЕТСЯ!
Sphinx (2004-12-20 13:42:00) [8]> Делать кучку проверок для курсора не хочется
А придется скорее всего :)
Neznaika (2004-12-20 13:39:00) [9]Ну скажите как избавиться от таймера!