Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];

Вниз

сообщения в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.059 c
2-1139595677
Progger
2006-02-10 21:21
2006.02.26
Передача данных между приложениями.


2-1139561331
worldmen
2006-02-10 11:48
2006.02.26
Изменение формата даты.


15-1138474536
LordOfRock
2006-01-28 21:55
2006.02.26
Back To The Future


9-1125230806
Kobik
2005-08-28 16:06
2006.02.26
PR25 (пока без названия) - оцените и посоветуйте


8-1127057492
maVladimir
2005-09-18 19:31
2006.02.26
Коррекция цвета в Windows





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский