Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

...запретить обращение к управляющим элементам на форме... [D5, Win2k, WinXP]


Zilog ©   (2004-09-16 17:01:00) 

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

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

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


Amoeba   (2004-09-17 12:30:00) [1]


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

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


KSergey   (2004-09-17 12:04:00) [2]

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


Amoeba   (2004-09-17 11:01:00) [3]

Мыло ушло.


Amoeba   (2004-09-16 17:25:00) [4]

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


Amoeba   (2004-09-16 17:22:00) [5]

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

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


ChainikDenis   (2004-09-16 17:06:00) [6]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо