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

Вниз

...запретить обращение к управляющим элементам на форме...   Найти похожие ветки 

 
Zilog ©   (2004-09-16 17:01) [0]

Такая проблема. На форме лежат куча визульных компонентов слоями - панелей, и др. В программе в определенный момент отдельным потоком выполняется обработка данных.

Хочу запретить в это время обращение к управляющим элементам на главной форме, и сделать курсор "часиками".

неподскажете ли как?


 
ChainikDenis ©   (2004-09-16 17:06) [1]

Прошвырнуться по всем контролам и сделать им enable := false и сменить форму курсора у главной формы. Затем наоборот.
Тока это примитивно как-то....


 
Amoeba ©   (2004-09-16 17:22) [2]

Нет необходимости прошвыриваться по всем контролам. Достаточно сделать Form.Enabled := False;

Есть и менее примитивное решение. Показать в начале обработки данных доп. модальную форму (св-во BorderIcons = []) и закрыть ее по окончании этой обработки. На нее можно даже выводить ход этой обработки данных. Главная форма все это время будет недоступна.


 
Amoeba ©   (2004-09-16 17:25) [3]

Кстати, у меня дома должна лежать демка. Могу завтра намылить.


 
Amoeba ©   (2004-09-17 11:01) [4]

Мыло ушло.


 
KSergey ©   (2004-09-17 12:04) [5]

А зачем тогда поток было делать??? Для модности??
А вообще - модальная форма и все дела.


 
Amoeba ©   (2004-09-17 12:30) [6]


> KSergey ©   (17.09.04 12:04) [5]

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



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

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

Наверх




Память: 0.48 MB
Время: 0.029 c
1-1095306828
linux
2004-09-16 07:53
2004.10.03
Заставка для программы


1-1095333291
stud
2004-09-16 15:14
2004.10.03
поворот изображения на 90 градусов


6-1090778581
Alexandr Psih
2004-07-25 22:03
2004.10.03
Как получить имена компьютеров в сети?


3-1094228637
Сергей Ю.
2004-09-03 20:23
2004.10.03
Вопрос про запрос


4-1093424519
Manfred7
2004-08-25 13:01
2004.10.03
Хук на клавиатуру клавиша Win