Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];

Вниз

Выезжающий 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 вся ветка

Форум: "Основная";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.037 c
1-1103824947
zokzok
2004-12-23 21:02
2005.01.09
Фреймы


1-1103545315
tradakad
2004-12-20 15:21
2005.01.09
показать имя PopupMemu итема


14-1103313023
Vasya.ru
2004-12-17 22:50
2005.01.09
Пара вопросов к мастерам:


9-1095658408
Cobalt
2004-09-20 09:33
2005.01.09
Переключение между программами


3-1102584798
Malevia
2004-12-09 12:33
2005.01.09
Перемещение по датасету в DBGridEx





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский