Difference between revisions of "ATTabs/ru"

From Free Pascal wiki
Jump to navigationJump to search
Line 17: Line 17:
 
= Как использовать его в виде TPageControl=
 
= Как использовать его в виде TPageControl=
  
Создайте новую панель, которая будет похожа на TPageControl. Поместите ATTabs на нее, сделайте Align=alTop. Теперь вы создаете несколько форм или фреймов на этой панели (у них есть Parent:=Panel1; Align:=alClient;). Как переключать эти фреймыы при смене вкладок?
+
Создайте новую панель, которая будет похожа на TPageControl. Поместите ATTabs на нее, сделайте <code>Align=alTop</code>. Теперь вы создаете несколько форм или фреймов на этой панели (у них есть <code>Parent:=Panel1; Align:=alClient;</code>). Как переключать эти фреймы при смене вкладок?
  
 
* Добавьте обработчик события OnChange для вкладки.  
 
* Добавьте обработчик события OnChange для вкладки.  

Revision as of 22:28, 9 July 2020

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

О компоненте

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

Скриншоты:

ATTabs demo.png

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

Справка

Страница GitHub содержит файлы справки, которые описывают большинство событий/свойств. Она также показывает пример кода, как создавать вкладки во время выполнения. https://github.com/Alexey-T/ATFlatControls/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).