Вниз
Скачать: CL | DM;

Как расположить окно поверх другого, когда выполняется длинный пр   Найти похожие ветки 

← →
Youta   (2006-07-19 15:26) [0]

Уважаемые мастера! Как расположить окно поверх другого, когда выполняется длинный процесс, чтобы на нем отображался прогрессбар с кнопкой отмена?


← →
Elen ©   (2006-07-19 15:41) [1]

Для нужного в верх окна выставь StayonTop в Form.FormStyle


← →
Amoeba ©   (2006-07-19 16:20) [2]


> Youta   (19.07.06 15:26)

Если не забуду, то завтра вышлю рабочую демку (есть в запасе) как раз на данный случай. Давай адрес.


> Elen ©   (19.07.06 15:41) [1]
> Для нужного в верх окна выставь StayonTop в Form.FormStyle

Это не поможет (кнопка отмены просто так работать не будет). Задача решается с использование доп. потока.


← →
!_SM_!   (2006-07-19 18:39) [3]

Для кнопки отмена можно и без доп. потока

FStop: Boolean;
....
FStop:=False;
while True do begin
Form2.ProgressBar.Position:=Form2.ProgressBar.Position+1;
....
if FStop then Break;
Application.ProcessMessage;
end;


соответственно на нажатие кнопки "Отмена" присваевоем глоб. переменной Fstop:=True;
ну и Elen ©   (19.07.06 15:41) [1] до кучи.


← →
youta   (2006-07-20 07:05) [4]

а как вызвать-то окно наверх???
Form.showmodal - не пойдет же:(


← →
youta   (2006-07-20 07:07) [5]

ааа, просто show:)) спасибо всем!!!!!!!!


← →
youta   (2006-07-20 07:11) [6]

теперь другая проблема   - кнопка Отмена не отображается


← →
tButton ©   (2006-07-20 08:23) [7]

перерисуй окно после показывания


← →
Плохиш ©   (2006-07-20 10:43) [8]


> youta   (20.07.06 07:05) [4]
> а как вызвать-то окно наверх???
> Form.showmodal - не пойдет же

1. Посылаешь себе сообщение
2. Делаешь ShowModal
3. В обработчике сообщения производишь требуемую обработку


← →
Amoeba ©   (2006-07-20 10:54) [9]


> youta   (20.07.06 07:11) [6]
> теперь другая проблема   - кнопка Отмена не отображается

Повторяю свое предложение: сообщи адрес куда выслать готовый полностью рабочий пример кода, целиком соответствующий твоей задаче (все проблемы в нем давно уже были решены). Если не хочешь получить реальную и исчерпывающую помощь, то мучайся.


← →
youta   (2006-07-20 11:36) [10]

Электронный адрес: k_tanyak@mail.ru


← →
Amoeba ©   (2006-07-20 11:40) [11]

Выслал.


← →
_mik ©   (2006-07-20 19:37) [12]

Да еще, если ты вдруг не знал об этом!

Обнавляй состояние прогресса записывай в какую нибудь глобальную переменную, а сам индикатор обновляй по таймуру!
Это сильно ускорит работу программы!

var fProgress: integer;
...
 inc(fProgress );
...
procedure TFmMain.InterfaseTimerTimer(Sender: TObject);
begin
  ProgressBar.Position:= fProgress;
end;



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.029 c
2-1155641597
Zilog
2006-08-15 15:33
2006.09.03
Как в ListBox программно поменять цвет выделенной строчки?


1-1153426862
oxffff
2006-07-21 00:21
2006.09.03
Триангуляция на Delphi. Готовое решение. Кто обладает


15-1155250350
Германн
2006-08-11 02:52
2006.09.03
Ну вот. И у нас тут появился спам. :-(


15-1154692981
QuickFinder
2006-08-04 16:03
2006.09.03
метод POST


1-1152871066
novill
2006-07-14 13:57
2006.09.03
Помогите разобраться с объектной моделью




   Наверх