Последние записи
- Как копировать текст из блока в буфер обмена?
- Получение ProductKey установленной Windows
- Как парсить https сайт ?
- Смена регистра строки текста на BAT (CMD)
- Вывод разноцветного текста на BAT (CMD)
- Узнать дату окончания сертификата
- Как создать полноценный сайт на Open Server
- Получить температуру процессора на bat-файлах
- Динамические массивы в Lazarus / Delphi — индексация элементов
- Многозадачность на бат-файлах
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
20th
Июл
Управление компонентами интерфейса
Posted by obzor under Delphi
Delphi7.
На форме есть Panel на ней лежат компоненты StatusBar и Button.
При выполнении Panel.Enabled:=false
компоненты уже не реагируют на нажатия но визуально они не меняются на серые
Нужно что бы при отключении панели было визуально видно что все компоненты лежащие на ней стали не активны.
Как такое реализовать малой кровью?
Красивого решения не нашел.
Только так:
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;
Случайные статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту

пеллетные котлы

Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)

