Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Включение и выключение закладки Notebook

Delphi , Компоненты и Классы , Вкладки и Страницы

Включение и выключение закладки Notebook

Автор: Ralph Friedman

Выключать компьютер - Шататься дауном.

Вот хороший трюк от Xavier Pacheco:


unit TabDis;

interface

uses
  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 do
    for i := 0 to ControlCount - 1 do
      if Controls[i].ClassName = 'TTabButton' then
      begin
        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




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Вкладки и Страницы ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-04-26 16:44:16/0.0032789707183838/0