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

Вниз

Красивый ПрогрессБар или Gauge   Найти похожие ветки 

 
Relaxxx   (2003-09-10 15:23) [0]

Здраствуйте мастера!!!
У меня тут такой вопросик, я хочу на одном из указаных компонентов(все равно на каком, да а какой работает быстрее??) рисовать текс и так что бы он не мелькак а был отчетливо виден, как например проценты у Gauge. Я хочу сделать так чтобы у меня вначале писалось "подготовка данных" а затем например "Экспорт(10%)" смысл наверно понятен что я хотел бы сделать. Но без вашей помощи мне не обойтись. Помогите масера!!!


 
ZEE   (2003-09-10 15:36) [1]

В твоем случае оптимальнее Gauge - оптимальнее с точки зрения простоты и удобства использования
Хотя если покрасившее можно использовать например TLabel + TProgressBar (я так иногда пользую - лейбл над прогрессом)
Хотя вообще вариантов очень много, TGauge и TProgressBar - это не ограничение
Я как-то использовал TImage - на нем рисовал картинку в серых тонах а при прогрессе прорисовывал постепенно цветную картинку...


 
Relaxxx   (2003-09-10 16:15) [2]

Да но когда кидаеш на progressBar лабел он становится за ним и эго не видно, можно как то этот лабел вытянуть на передний план?


 
ZEE   (2003-09-10 16:25) [3]

читай внимательно - "лейбл над прогрессом", а не на прогрессе - а если надо прям на прогрессе то надо через DC рисовать...


 
ZEE   (2003-09-10 16:28) [4]

кстати здесь тебе уже подобное отвечали
http://delphimaster.net/view/1-1063003354/


 
wl   (2003-09-10 16:30) [5]


> Помогите масера!!!

они помогут...
чтобы не мелькало, сделай рисование прямо на HDC прогрессбара.
Примерчик на билдере(нету делфи)

char str[10] = "text";
HDC a = GetDC(ProgressBar1->Handle);
TextOut(a,10,5,str,4);

(Выглядит ужастно...)


 
Relaxxx   (2003-09-10 16:34) [6]


> ZEE © (10.09.03 16:28) [4]
> кстати здесь тебе уже подобное отвечали
> http://delphimaster.net/view/1-1063003354/
Сделал так, так когда прогресс бар бежит надпись мелькает безбожноо, вообще не красиво, нужно какое-то другое решение. И над прогресом тоже не прикольно. тема остается в силе!


 
ZEE   (2003-09-10 16:41) [7]

а чтоб не мелькало, надо не постоянно Position менять, а только когда это надо
например выставить ProgressBar1.Max:=ProgressBar1.Width;
а позицию изменять примерно так (если я не ошибся с пропорцией):
if ProgressBar1.Position<>ProgressBar1.Max*mypos/100
then ProgressBar1.Position:=ProgressBar1.Max*mypos/100;
ну и после этого рисуем надпись
- морганий должно быть меньше


 
ZEE   (2003-09-10 16:41) [8]

а чтоб не мелькало, надо не постоянно Position менять, а только когда это надо
например выставить ProgressBar1.Max:=ProgressBar1.Width;
а позицию изменять примерно так (если я не ошибся с пропорцией):
if ProgressBar1.Position<>ProgressBar1.Max*mypos/100 then
begin
ProgressBar1.Position:=ProgressBar1.Max*mypos/100;
//тут рисуем надпись
end;

- морганий должно быть меньше


 
ZEE   (2003-09-10 16:42) [9]

смотри [8], в [7] я немного ошибся



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

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

Наверх





Память: 0.47 MB
Время: 0.01 c
8-71778
Inna
2003-05-22 13:59
2003.09.22
Мигание


14-71847
Прохожий
2003-08-25 11:03
2003.09.22
Сколько потоков ??


14-71840
Danilka
2003-08-29 15:47
2003.09.22
Проверим степень вашей испорченности


1-71713
GEN
2003-09-10 17:47
2003.09.22
Компонент в вмде стрелочного прибора


6-71786
Rink
2003-07-23 17:25
2003.09.22
Как программно включить и отключить Internet соединение





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский