Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый Сегодня, 08:10   #1
Nester
Форумчанин
 
Аватар для Nester
 
Регистрация: 22.10.2008
Сообщений: 129
По умолчанию Управление компонентами интерфейса

Delphi7.

На форме есть Panel на ней лежат компоненты StatusBar и Button.
При выполнении Panel.Enabled:=false
компоненты уже не реагируют на нажатия но визуально они не меняются на серые
Нужно что бы при отключении панели было визуально видно что все компоненты лежащие на ней стали не активны.

Как такое реализовать малой кровью?
Никто не знает больше чем не знаю я

Последний раз редактировалось Nester; Сегодня в 08:19.
Nester вне форума Ответить с цитированием
Старый Сегодня, 08:38   #2
Nester
Форумчанин
 
Аватар для Nester
 
Регистрация: 22.10.2008
Сообщений: 129
По умолчанию

Красивого решения не нашел.
Только так:

Код:
procedure SetComponentsEnabled(APanel: TWinControl; AEnabled: Boolean);
var
  I: Integer;
begin
  for I := 0 to APanel.ControlCount - 1 do
  begin
    if APanel.Controls[I].ClassType.InheritsFrom(TWinControl) and not(APanel.Controls[I] is TPanel) then
    begin
      // Включаем/отключаем каждый контрол
      TWinControl(APanel.Controls[I]).Enabled := AEnabled;

      // Рекурсия для вложенных контейнеров (если нужно)
      if TWinControl(APanel.Controls[I]) is TWinControl then
        SetComponentsEnabled(TWinControl(APanel.Controls[I]), AEnabled);
    end;
  end;
end;



procedure TForm1.Button2Click(Sender: TObject);
begin
 SetComponentsEnabled(Panel1, False); // Отключение всех компонентов
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
 SetComponentsEnabled(Panel1, True); // Включение всех компонентов
end;
Никто не знает больше чем не знаю я
Nester вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
управление компонентами Siluet Общие вопросы Delphi 0 30.10.2014 14:16
Управление компонентами другого приложения/окна OmegaBerkut Общие вопросы Delphi 9 16.09.2013 13:03
управление компонентами в режиме run-time. KrisPipis Помощь студентам 3 08.12.2010 01:11
Управление компонентами(видимыми и невидиммыми) в чужой программе(любой) Alter Win Api 21 13.05.2009 23:13
Работа с компонентами Ky3Heu, Общие вопросы Delphi 2 24.04.2009 11:58