unit TabDis;
interfaceuses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls, TabNotBk;
type
TFrmTabDis = class(TForm)
TabbedNotebook1: TTabbedNotebook;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private{ Private-Deklarationen }public{ Public-Deklarationen }end;
var
FrmTabDis: TFrmTabDis;
implementation{$R *.DFM}procedure TFrmTabDis.FormCreate(Sender: TObject);
var
i: integer;
j: integer;
begin{ Создаем имена для всех Notebook TTabButton }
j := 0;
with TabbedNotebook1 dofor i := 0 to ControlCount - 1 doif Controls[i].ClassName = 'TTabButton' thenbegin
Controls[i].Name := Controls[i].ClassName + IntToStr(j);
Inc(j);
end;
end;
procedure TFrmTabDis.Button1Click(Sender: TObject);
begin{ Делаем недоступной определенную страницу notebook }with TControl(TabbedNotebook1.FindComponent('TTabButton2')) do
Enabled := not Enabled;
end;
end.
Это проект Delphi, который создает простое приложение с вкладками (TTabbedNotebook) и кнопкой. Цель кода - продемонстрировать, как динамически называть вкладки в табbed notebook и включать/выключать состояние доступности для конкретной вкладки.
Разбивка кода:
Декларация модуля
Модуль TabDis содержит код приложения.
Секция интерфейса
Секция интерфейса объявляет типы и переменные, используемые в модуле. В этом случае включает следующие компоненты:
TFrmTabDis: класс формы, наследующийся от TForm
TabbedNotebook1, Button1: два компонента типа TTabbedNotebook и TButton, соответственно
FrmTabDis: переменная типа TFrmTabDis
Секция типов
Секция типов объявляет класс TFrmTabDis, который имеет две процедуры:
FormCreate: вызывается при создании формы
Button1Click: вызывается при клике кнопки
Секция переменных
Секция переменных объявляет переменную FrmTabDis типа TFrmTabDis
Секция реализации
Секция реализации содержит код для двух процедур, объявленных в секции типов.
Процедура FormCreate
Эта процедура создает динамические имена для вкладок в табbed notebook. Она перебирает контролы notebooks, проверяет, является ли каждый контролем TTabButton, и присваивает динамическое имя используя формат TTabButton + IntToStr(j). Переменная j инкрементируется для каждой итерации.
Процедура Button1Click
Эта процедура включает/выключает состояние доступности второй вкладки (TTabButton2). Она использует метод FindComponent, чтобы найти компонент с именем 'TTabButton2', и затем устанавливает свойство Enabled этого компонента в противоположное значение его текущего состояния, используя оператор not.
Основной код
Основной код генерируется IDE Delphi и не является явно написанным. Он создает экземпляр класса TFrmTabDis, настраивает свойства формы и запускает приложение.
В целом, этот код демонстрирует, как динамически называть вкладки в табbed notebook и включать/выключать состояние доступности для конкретной вкладки.
В статье описывается способ включения и выключения закладки Notebook в приложении Delphi, используя язык программирования Pascal.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS