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

Вниз

Хотелось бы сделать ProgressBar в модальном окне для своей программы, не знаю как...   Найти похожие ветки 

 
Yuraz   (2001-12-28 14:00) [0]

Идёт процесс секунд 10(цикл), типа группового переименования файлов, подскажите, как к этому делу прицепить ProgressBar. Спасибо.


 
troits   (2001-12-28 14:28) [1]

Можно вынести процедуру обработки файлов в отдельный TThread,
и из него, с помощью Synchronize, изменять значения ProgressBar -а. Потом , по OnTerminate потока, закрывать модальное окно.


 
Voron   (2001-12-28 14:31) [2]

В процедуре вышеуказанного переименования, там ведь цикл какой-то, да. В этом цикле оцениваем сколько времени осталось, соответсвующим образом влияем на ProgressBar.


 
Alex_Sudakov   (2001-12-28 17:58) [3]

И не забываем делать Application.ProgressMessages


 
Aleksandr   (2001-12-28 18:57) [4]

2 Alex_Sudakov
Вы имели в виду - ProcessMessages?
А с потоком мона не заморачиваться - количество файлов данного типа получить легко, перекрывается WndProc главной формы, создается юзверское сообщение WM_UpdateProgressBar, которое после каждого прохода цикла отправляется форме, имеющей ProgressBar:

//послали мессагу установить Max для progressBara и текст комментария
SendMessage(ProgressForm,WM_SetProgressMax,FileList.Count-1,Integer(sFirstMessage));

for i:=0 to FileList.Count-1 do
...
SendMessage(ProgressForm,WM_UpdateProgressBar,i,Integer(FileList.Strings[i]));

а в WndProc формы с прогрессом:
case Message.Msg of
...
WM_UpdateProgressBar : begin
ProgressBar.Position:=Msg.wParam;
Label.Caption:=String(msg.lParam);
Repaint
end
else
Inherited WndProc(Message)
end...



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

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

Наверх





Память: 0.45 MB
Время: 0.004 c
1-52575
Alexandr
2001-12-28 13:22
2002.01.17
Delphi & Help


1-52533
Aleksandr
2001-12-27 16:25
2002.01.17
Никак со сплиттером не управиться!


14-52653
lel
2001-11-22 11:37
2002.01.17
Не понял библиотека ЕhLib , теперь небесплатная и бех исходников что ли???


1-52547
Labert
2001-12-26 11:20
2002.01.17
Что показывает DBGrid


14-52643
Андрей Сенченко
2001-11-19 17:13
2002.01.17
Зачем нужны DLL ?





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