Вниз
Скачать: CL | DM;

Выезжающий Caption   Найти похожие ветки 

← →
Neznaika   (2004-12-20 13:15) [0]

Еще один вопрос ... Надеюсь многие из Вас знакомы с Opera-ой, так вот, мне там при определенных скинах понравилось как сделан
Caption на панели управления, т.е. по наведению мыши текст как-бы увеличивается с нуля, при уходе уменьшается. Сделал тоже-самое на BitBtn с помощью таймера - красиво! , особенно при стиле ХР, но проблема в том что все это основанно на mousemove
и если кнопка находится близко к краю формы то когда курсор уходит за форму mousemove кончается, и таймер обрубается, надпись остается на кнопке на пол пути уменьшения. Делать кучку проверок для курсора не хочется (получить громадный исходник который может только Caption "двигать") И еще было бы не плохо избавиться от таймера. repeat, while и тд работают слишком быстро - пропадает эффект плавности.

//Большой получился вопрос надеюсь Вы поймете что я хочу!!!
или может есть готовые варианты?


← →
Neznaika   (2004-12-20 13:39) [1]

Ну скажите как избавиться от таймера!


← →
Sphinx   (2004-12-20 13:42) [2]

> Делать кучку проверок для курсора не хочется

А придется скорее всего :)


← →
Neznaika   (2004-12-20 13:45) [3]

Ну а по поводу таймера, все-таки он неслабо затормаживает программу?
А симптичный,"живой" интерфейс - ХОЧЕТСЯ!


← →
Поручик ©   (2004-12-20 13:53) [4]

Фигня, ничего атймер не тормозит, поставь пару проверок и все будет хорошо.


← →
Neznaika   (2004-12-20 14:29) [5]

>>Поручик ©   (20.12.04 13:53) [4]

Может и действительно фигня.
Но если тебе интересно попробуй кинь на форму mediaplayer с загруженным avi файлом,timer,button,progressbar;
И по нажатию на кнопку активируй таймер по событию которого progressbaru присваевай сколько файла уже проиграно от его общей длины. Не знаю как у тебя получится но у меня на Р3 1200MHz до нажатия на кнопку картинка "летает" после - заметно тормозит.
Либо я что-то не понимаю либо таймер тормозит.


← →
DVM ©   (2004-12-20 16:45) [6]


> Либо я что-то не понимаю либо таймер тормозит.

Не понимаешь. Тормозит там не таймер а получение значения прогресса.


← →
RA ©   (2004-12-20 17:18) [7]

Надо вешать не на событие onmousemove, а на событиz onMouseEnter и onMouseLeave. Только в стандартных компонентах этих событий нет. А где есть? В rxLib есть, но там BitBtn нет. Поэтому надо самому делать. Как? См. разные FAQ.


← →
redlord   (2004-12-20 17:24) [8]

если избавится от таймера то вынеси в поток и используй sleep


← →
GrayFace ©   (2004-12-22 17:23) [9]

RA ©   (20.12.04 17:18) [7]
Поэтому надо самому делать. Как? См. разные FAQ.

Нет. Есть у всех компонентов свойство WindowProcedure. Его можно заменять на свою, а ту, например, в Tag запихать, затем внутри делать обработку CM_MOUSEENTER(LEAVE) и вызов прошлой.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.049 c
1-1103734070
Japp
2004-12-22 19:47
2005.01.09
Можно ли в Делфи определить номер строки PAS-файла?


14-1103535518
Некто
2004-12-20 12:38
2005.01.09
Web-технологии


14-1103617238
Кудесник
2004-12-21 11:20
2005.01.09
К тем кто юзал синтезаторы, в смысле музыкальные...


8-1096958023
Real Santa
2004-10-05 10:33
2005.01.09
DPI


14-1103425445
Думкин
2004-12-19 06:04
2005.01.09
С днем рождения! 19 декабря




   Наверх