Главная страница
    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
3-52468
SAlex
2001-12-14 08:07
2002.01.17
Фильтрация данных таблицы по данным из двух других таблиц


7-52675
Lizard
2001-09-30 13:59
2002.01.17
Как из списка в listbox1 удалить нужную строку ?


1-52553
Flagman
2001-12-28 12:14
2002.01.17
Спрятать курсор в TRichEdit


14-52637
Sobesednic
2001-11-20 22:56
2002.01.17
В чем разница Delphi 6 Enterprise(144mb) от Delphi 6 Personal(140mb)


3-52523
Alexandr
2001-12-14 10:03
2002.01.17
ZEOS





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