В MSN (или при активации винды) есть такие прогрессы, что как бы бежит линия. Кто-нибуть знает как заставить ProgressBar так работать? т.е. прогресс не идет от 0 до 100%, а просто бегает полоска, говорящая что процесс идет.
То что такое самому нарисовать можно — и ежу понятно, а вот изобретать велосипед — как-то не сильно хочется.
Здравствуйте, altarasjuk, Вы писали:
A>В MSN (или при активации винды) есть такие прогрессы, что как бы бежит линия. Кто-нибуть знает как заставить ProgressBar так работать? т.е. прогресс не идет от 0 до 100%, а просто бегает полоска, говорящая что процесс идет.
A>То что такое самому нарисовать можно — и ежу понятно, а вот изобретать велосипед — как-то не сильно хочется.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, altarasjuk, Вы писали:
A>>В MSN (или при активации винды) есть такие прогрессы, что как бы бежит линия. Кто-нибуть знает как заставить ProgressBar так работать? т.е. прогресс не идет от 0 до 100%, а просто бегает полоска, говорящая что процесс идет.
A>>То что такое самому нарисовать можно — и ежу понятно, а вот изобретать велосипед — как-то не сильно хочется.
AVK>Re[7]: Smooth Progress Bar
вместо написания килотонн текста — можно просто вставить картинку (например, ) на время пока идет процесс. тем паче, что таких анимированных картинок в инете — навалом, а для отображения прогресса (непрерывного и циклического) — так на любом сайте — выбирай и сохраняй для себя.
PS: кода — 0, все делается в дезайнере.
Re[2]: ProgressBar
От:
Аноним
Дата:
15.08.04 15:53
Оценка:
А>это анимированный gif. вставляй его, например, в PictereBox и радуй глаз пользователям .
PS если установлен Windows XP — посмотри его "родной" Progress Bar
Нет там никаких килотонн. И там вобще то помимо паровозиков есть еще кое что, что стандартный прогрессбар не умеет. Например вертикальный вариант, или smooth-режим. Просто я предложил готовое решение. Если же очень хочется мало исходников то можно отнаследоваться от штатного контрола — в итоге будет 2 десятка строк.
А> — можно просто вставить картинку (например, ) на время пока идет процесс. тем паче, что таких анимированных картинок в инете — навалом, а для отображения прогресса (непрерывного и циклического) — так на любом сайте — выбирай и сохраняй для себя.
А про то что могут быть включены ХР-стили ты не подумал? А если форма ресайзиться умеет? Кроме того анимация гифов в дотнете глючит.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, <Аноним>, Вы писали:
AVK>А про то что могут быть включены ХР-стили ты не подумал? — работает
AVK>А если форма ресайзиться умеет? — работает
AVK>Кроме того анимация гифов в дотнете глючит.
вот это единственное, что (крайне редко в текущей версии framework и наблюдалось только в дезайнере) случается. хотя от заказчиков никаких претензий не было.
Здравствуйте, <Аноним>, Вы писали:
А>PS если установлен Windows XP — посмотри его "родной" Progress Bar
А>C:\WINDOWS\PCHealth\HelpCtr\System\images\progbar.gif
Здравствуйте, <Аноним>, Вы писали:
AVK>>А про то что могут быть включены ХР-стили ты не подумал? А> — работает
Что работает? В стилях меняется в том числе и прогресс-бар. Что, будешь гифки под все возможные стили рисовать?
AVK>>А если форма ресайзиться умеет? А> — работает
Что работает? Ты представляешь себе результат ресайза гифа?
AVK>>Кроме того анимация гифов в дотнете глючит. А>вот это единственное, что (крайне редко в текущей версии framework и наблюдалось только в дезайнере) случается.
Ага, настолько редко, что в свое время в янусе задолбала настолько что пришлось повыключать нафик.
А> хотя от заказчиков никаких претензий не было.
А вот у юзеров януса были. Да и не вижу я смысла изобретать велосипед. Зачем, если в commctl это уже реализовано?
Здравствуйте, AndrewVK, Вы писали:
AVK>Что работает? В стилях меняется в том числе и прогресс-бар. Что, будешь гифки под все возможные стили рисовать?
а кто говорит, что это нужно делать ???
AVK>Что работает? Ты представляешь себе результат ресайза гифа?
извини, не так много форм, отображающих процесс выполнения (чего то) имеют изменяемый размер. как правило это формы фиксированного размера с одной кнопкой Cancel
AVK>Да и не вижу я смысла изобретать велосипед. Зачем, если в commctl это уже реализовано?
согласен полностью
но, если помнишь вопрос: A>прогресс не идет от 0 до 100%, а просто бегает полоска
чтобы это сделать — надо на форму еще посадить таймер и через интервал срабатывания увеличивать (а по достижении 100% — обнулять) текущую позицию progress bar'а + перерисовка.
с gif'ом таких проблем нет
хотя все мои возражения — "по мелочи". В большинстве случаев, как правило, хватает обычных контролов
---
PS директория WINDOWS\PCHealth\HelpCtr это директория программы "Help and Support Center" (команда helpctr в WinXP Professional, Win2003)
сама картинка похожа на картинку прогресса при поиске файлов на компьютере при включенном XP стиле.
Здравствуйте, <Аноним>, Вы писали:
AVK>>Что работает? В стилях меняется в том числе и прогресс-бар. Что, будешь гифки под все возможные стили рисовать? А>а кто говорит, что это нужно делать ???
Да можно конечно и не делать, вот только стандартный интерфейс это правильно.
AVK>>Что работает? Ты представляешь себе результат ресайза гифа? А>извини, не так много форм, отображающих процесс выполнения (чего то) имеют изменяемый размер. как правило это формы фиксированного размера с одной кнопкой Cancel
Знакомый аргумент — раз не выходит, значит не нужно . Нынче модно делать диалоги тоже с ресайзом. Это немножко больше работы, зато заметно добавляет удобства пользователю.
А>но, если помнишь вопрос: A>>прогресс не идет от 0 до 100%, а просто бегает полоска
А>чтобы это сделать — надо на форму еще посадить таймер и через интервал срабатывания увеличивать (а по достижении 100% — обнулять) текущую позицию progress bar'а + перерисовка.
Не надо никакого таймера. Просто изменяешь значение прогресс-бара, как если бы он был обычным и все. Впрочем если очень хочется показать именно анимашку то опять же в commctl есть стандартный Animation Control.
А>с gif'ом таких проблем нет
Здравствуйте, altarasjuk, Вы писали:
A>В MSN (или при активации винды) есть такие прогрессы, что как бы бежит линия. Кто-нибуть знает как заставить ProgressBar так работать? т.е. прогресс не идет от 0 до 100%, а просто бегает полоска, говорящая что процесс идет.
A>То что такое самому нарисовать можно — и ежу понятно, а вот изобретать велосипед — как-то не сильно хочется.
A>Спасибо.
1. Подключить CommCtrl;
2. Кинуть на форму XPManifest;
3. Послать сообщение прогрессбару PBM_MARQUEE (что-то похожее).