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

Вниз

Как изменить какие-нить свойства компонентов на модальной форме   Найти похожие ветки 

 
Артем К.   (2004-10-10 10:01) [0]

из главной формы, когда модальная форма модальна :)


 
Mim1 ©   (2004-10-10 11:13) [1]

Как обычно.


 
Артем К.   (2004-10-10 12:26) [2]

мне необходимо сделать следующее:
1.в главной форме выполняется цикл расчета некоторых параметров
2.перед выполнением этого цикла необходимо показать форму с прогресс-баром (по сути она должна быть модальной)
3.процесс выполнения расчетов показыват прогресс-бар на этой модальной форме
4.если я делаю для этой формы Show, то все тип-топ, но при этом доступна гавная форма, т.е. я могу выбирать э-ты мню, нажимать кнопки и т.д. (у меня этого не должно быть)
5.если делаю для формы ShowModal, то цикл начнет выполняться только после закрытия этой формы.

Воощем, как быть?


 
KSergey ©   (2004-10-10 12:49) [3]

1. Выносить расчеты  отдельнй поток
2. См. как устроена ShowModal. Лень опять писать, если что - есть модуль именно такой "модальной" формы. Сделан исключительно по мотивам и copy/paste кусков из ShowModal. Надо - пишите почтой или обратно выкладу здесь.


 
Sergey_Masloff   (2004-10-10 12:53) [4]

Артем К.   (10.10.04 12:26) [2]
Модальность тут на фиг не нужна. По определению модальная форма останавливает выполнение основной до своего закрытия. Менять это ее подразумеваемое поведение - изврат.
 Для подобных целей используются формы имеющие стиль fsStayOnTop


 
KSergey ©   (2004-10-10 13:03) [5]

> [4] Sergey_Masloff   (10.10.04 12:53)
>  Для подобных целей используются формы имеющие стиль fsStayOnTop

Нет. Эти формы (в смысле при немодальном их отображении) не запрещают реакцию других форм приложения на действия пользователя.

PS
Ох уж мне эти пользователи...


 
dim- ©   (2004-10-10 13:32) [6]

Для отображения "прогресс-бара" открываешь форму с ним не модально, Show, а если тебе охота чтобы он имитировал модальность (делал недоступной главную форму) можно сделать так:
MainForm.Enabled:=false;
FormProgress.Show;
....
FormProgress.Progress.Position:=i;
FormProgress.Update;
....
FormProgress.Close;
MainForm.Enabled:=True;


 
SergP.   (2004-10-10 16:12) [7]


> 1.в главной форме выполняется цикл расчета некоторых параметров
> 2.перед выполнением этого цикла необходимо показать форму
> с прогресс-баром (по сути она должна быть модальной)


Перенеси свой цикл из главной формы в ту, которая должна становиться модальной.


 
KSergey ©   (2004-10-10 16:22) [8]

> [7] SergP.   (10.10.04 16:12)
> Перенеси свой цикл из главной формы в ту, которая должна
> становиться модальной.

Вариант хорош (почти), если это одно такое действие. А если универсальной формы хочется? Передавать адрес реально выполняемой процедуры?
Почти - в смысле некоторых проблем доступом к членам класса, откуда все эот вызвано. Хотя и это, конечно, разрулить можно.


 
Sergey_Masloff   (2004-10-10 16:39) [9]

KSergey ©   (10.10.04 13:03) [5]
А, я не понял. Я думал пользователю НУЖНО жать кнопки пока форма показана ;-)



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

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

Наверх




Память: 0.49 MB
Время: 0.053 c
6-1092446907
Nix
2004-08-14 05:28
2004.10.24
idWhois


3-1096469759
Ivan_
2004-09-29 18:55
2004.10.24
Обновление информации у всех пользователей


1-1097551369
VAV
2004-10-12 07:22
2004.10.24
Контейнер для текстов


14-1097065783
Zeqfreed
2004-10-06 16:29
2004.10.24
Photoshop!


1-1097220808
nef
2004-10-08 11:33
2004.10.24
Оптимизационный поиск на сетке