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

Не работает метод broadcast   Найти похожие ветки 

 
BFG9k   (2004-06-23 17:03) [0]

Есть родительский элемент AParent:TWinControl, нужно сделать недоступными все его дочерние элементы. Пробую отослать им сообщения следующим образом :

var
 Mess : TMessage;

begin
 Mess.Msg := WM_ENABLE;
 Mess.WParam:=0;
 AParent.Broadcast(Mess);
end;

...кое-где Mess.Result=0 кое-где =1 , но результата нет (компоненты доступны).
P.S.: Если сделать просто AParent.Enabled:=false , то элементы станут недоступны , но не визуально (как если бы сделать AParent.Child.Enabled:=false с каждым доченим компонентом) , а нужно именно так.


 
clickmaker ©   (2004-06-23 17:45) [1]

Parent.ControlCount
Parent.Controls


 
Игорь Шевченко ©   (2004-06-23 17:50) [2]


> WM_ENABLE


Это уведомляющее сообщение, а не директивное


 
BFG9k   (2004-06-24 12:25) [3]

2 Игорь Шевченко:  Есть ли директивное ?

2 clickmaker: Это довольно сложный вариант - у дочерних окон в свою очередь есть свои дочерние окна (дизаблить нужно всю иерархию). Рекурсия не поможет , так как надо будет возвращаться на предыдущий уровень.


 
Игорь Шевченко ©   (2004-06-24 12:56) [4]


> 2 Игорь Шевченко:  Есть ли директивное ?


Нет. Есть функция EnableWindow



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

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



Память: 0.45 MB
Время: 0.019 c
1-1088372750
P@vel
2004-06-28 01:45
2004.07.11
Threads


4-1085833368
Grinder
2004-05-29 16:22
2004.07.11
Как запретить выключение Windows НЕ используя CloseQuery?


14-1088075677
Jonny
2004-06-24 15:14
2004.07.11
код Хэмминга


1-1088462480
Новенький
2004-06-29 02:41
2004.07.11
Как сохранить?


3-1087187109
negrila
2004-06-14 08:25
2004.07.11
Хитрый запрос в Interbase




   Наверх