Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.16;
Скачать: CL | DM;

Вниз

прогрес окно   Найти похожие ветки 

 
FANTASY ©   (2003-06-03 01:37) [0]

есть функция которая будет относительно долго исполнатся
я решил добавть в проэкт еше одну форму с надписью "Wait !"
и при сттарте функции запускать на обозрение эту форму а после обработки спрятать гдето так
procedure TForm1.Button1Click(Sender: TObject);
begin
StartShow;
//
//
//
EndShow;
end;
только не получается.Форма которая показывает сообшение не успевает прорисоватся. а ShowModal вобше стопорит основную процедуру(ждет закрытие формы). А не плохо былобы использовать такой пием в процедурах и функциях требующих много времени на выполнение.
ПОСКАЖИТЕ ПРАВИЛЬНОЕ РЕШЕНИЕ как правильно прописать StartShow;EndShow; чтобы фома "Wait !" при вызове StartShow; успела прорисоватся.


 
Нуу   (2003-06-03 02:49) [1]

ShowModal, Вы правы - не годится. А чтобы "успела прорисоваться", тут так - внутри одной процедуры Вы можете отображать различные состояния данной формы либо явно вызывая процедуры ее отрисовки, либо позволяя системе обрабатывать сообщения о ее отрисовке.


 
Andrey V.   (2003-06-03 06:08) [2]

Show
и
Application.ProcessMessages;


 
OlDemon ©   (2003-06-03 06:31) [3]

А зачем использовать форму? ИМХО достаточно нарисовать панель. А для прорисовки можно использовать метод Update.


 
AbrosimovA   (2003-06-03 08:34) [4]

Примерно так:

procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Hide;//Лучше скрыть основную форму
StartShow;
........//Длительный процесс
EndShow;
end;

procedure TForm1.StartShow;
begin
MessageForm.Caption:="Чтение данных из файла";//Заголовок формы
MessageForm.Show;
MessageForm.Update;//Для прорисовки окна
end;

procedure TForm1.EndShow;
begin
MessageForm.Hide;
Form1.FormStyle:=fsStayOnTop;//Отобразить поверх всех
Form1.Show;
end;


 
Fantasy ©   (2003-06-04 00:44) [5]

большое спосибо !



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

Текущий архив: 2003.06.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
1-50349
NickName
2003-06-03 18:58
2003.06.16
Директивы компилятора


3-50239
Red imp
2003-05-26 17:19
2003.06.16
Поиогите нач програмировать как таблицу из Exel перенести в Acses


1-50394
child_sun
2003-06-04 13:35
2003.06.16
Скринсейвер


14-50515
reticon
2003-05-31 14:59
2003.06.16
Unix и C - первоапрельская шутка?


7-50537
jonni
2003-04-12 22:50
2003.06.16
Как запретить открутие папки с файлами под Win98