ATTabs/ru

From Free Pascal wiki
Revision as of 01:16, 27 October 2019 by FTurtle (talk | contribs) (Deleted English category)
Jump to navigationJump to search

Deutsch (de) English (en) русский (ru)

О компоненте

ATTabs является компонентом управления вкладками для Delphi и Lazarus. Он не заменяет стандартное управление вкладками, но является альтернативным, у него другой API. Он рисует вкладки OS-независимыми, используя пользовательское рисование на холсте.

Скриншоты:

ATTabs demo.png

Автор: Алексей Торгашин

Справка

Страница GitHub содержит файлы справки, которые описывают большинство событий/свойств. Она также показывает пример кода, как создавать вкладки во время выполнения. https://github.com/Alexey-T/ATTabs/tree/master/wiki

Как использовать его в виде TPageControl

Создайте новую панель, которая будет похожа на TPageControl. Поместите ATTabs на нее, сделайте Align=alTop. Теперь вы создаете несколько форм или фреймов на этой панели (у них есть Parent:=Panel1; Align:=alClient;). Как переключать эти фреймыы при смене вкладок?

  • Добавьте обработчик события OnChange для вкладки.
  • В этом обработчике событий: а) скройте все фреймы, б) покажите фрейм, который назначен текущему TabIndex.

Во время создания новой вкладки вы можете задать ее свойство TabObject. Задайте TabObject для фрейма. Когда вызывается OnChange, получите TabIndex, вызовите GetTabData() для этого индекса и прочитайте TabObject для этой вкладки. Покажите фрейм, который хранится в этом TabObject, скрыв все остальные.

  var
    d: TATTabData;
  begin
    d:= t.GetTabData(t.TabIndex);
    if Assigned(d) then
      (d.TabObject as TMyFrame).Show;
  end;

Лицензия

License: MPL 2.0. Также вы можете использовать его под LGPL.

Загрузить

Последняя версия всегда доступна по адресу https://github.com/Alexey-T/ATTabs. Вы можете установить ее в IDE или даже не устанавливать (просто скопируйте файл attabs.pas в свой проект).

Требования

Lazarus: 1.6+.

Протестировано на: Windows, Linux GTK2/QT, macOS (10.8).