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

Вниз

сообщения в TabSheet   Найти похожие ветки 

 
Alex_KV   (2006-01-20 14:12) [0]

Здравствуйте, Мастера!
Передо мной такая задача:
есть форма, на ней несколько TabSheet"ов,
на которых всякие др. контролы.
Хочу в зависимости от опред. условий
на любом TabSheet"e вкл/выкл контролы (Enable: true/false).
Перебирать все контролы лень.
Есть у TTabSheet метод Broadcast, рассылающий сообщения
дочерним контролам.
Если кто знает какое сообщение нуна для вкл.выкл контролов
или другой способ, подскажите, буду благодарен!


 
Johnmen ©   (2006-01-20 14:18) [1]

Стандартное решение - использовать TActionList.


 
Ega23 ©   (2006-01-20 14:18) [2]


With TTabSheet do
for i:=0 to ControlCount-1 do
 TControl(Controls[i]).Enabled:=not TControl(Controls[i]).Enabled;



 
begin...end ©   (2006-01-20 14:25) [3]

> Alex_KV   (20.01.06 14:12)

> Хочу в зависимости от опред. условий
> на любом TabSheet"e вкл/выкл контролы (Enable: true/false).
> Перебирать все контролы лень.

TTabSheet.Enabled ?


 
eugie   (2006-01-26 05:45) [4]

Не помню, насколько давно, но в FAQ этого сайта был пример для изменения свойств дочерних объектов, реализованный через PPropInfo, работает достаточно  хорошо.
Короче, можно, например так изменить свойства ReadOnly для всех контролов, помещенных на форму:

Procedure SetReadOnly(Send:TForm; ROnly:Boolean);
Var i:Integer;
   f:Integer;
   PropInfo: PPropInfo;
Begin
 If ROnly=True Then
    f:=1
 Else
    f:=0;

 With Send Do
 Begin
    For i:=0 to Send.ComponentCount-1 Do
    Begin

       If Send.Components[i].Tag = 0 Then
       Begin

         if not (Send.Components[i].ClassInfo=nil) then
         begin
           PropInfo:= GetPropInfo(Send.Components[i].ClassInfo, "ReadOnly");
           if PropInfo <> nil then
           begin
             case PropInfo^.PropType^.Kind of
               tkEnumeration :  SetOrdProp(Send.Components[i],PropInfo,f);
             end; // case
           end;
         end;
       End;

    End;
 End;
End;
В твоем случае - замени "ReadOnly" на "Enabled".



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

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

Наверх




Память: 0.48 MB
Время: 0.053 c
2-1139606768
shamanski
2006-02-11 00:26
2006.02.26
DELPHI 8 AE


1-1138198956
MegaVolt
2006-01-25 17:22
2006.02.26
Как бы сделать псевдо множественное наследование?


15-1139299391
VitV
2006-02-07 11:03
2006.02.26
FastReport-скачать?


2-1139079592
Tatiana
2006-02-04 21:59
2006.02.26
Как сократить время выполнения процедуры?


2-1139210354
BlackCat
2006-02-06 10:19
2006.02.26
fkCalculated