Difference between revisions of "ATTabs/ru"
(Created page with "{{ATTabs}} = About = ''ATTabs'' is a tab-control component for Delphi and Lazarus. It's not replacement for standard tab control, but is alternative one, it has different AP...") |
|||
(8 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{ATTabs}} | {{ATTabs}} | ||
− | = | + | = О компоненте = |
− | ''ATTabs'' | + | ''ATTabs'' является компонентом управления вкладками для Delphi и Lazarus. Он не заменяет стандартные элементы управления вкладки, а является их альтернативой, у него другой API. Он рисует вкладки OS-независимыми, используя пользовательскую отрисовку на холсте. |
− | + | Скриншоты: | |
[[File:ATTabs_demo.png]] | [[File:ATTabs_demo.png]] | ||
− | + | Автор: Алексей Торгашин | |
− | = | + | = Справка = |
− | GitHub | + | Страница GitHub содержит файлы справки, которые описывают большинство событий/свойств. Она также показывает пример кода, как создавать вкладки во время выполнения. https://github.com/Alexey-T/ATFlatControls/tree/master/wiki |
− | = | + | = Как использовать его в виде TPageControl= |
− | + | Создайте новую панель, которая будет похожа на TPageControl. Поместите ATTabs на нее, сделайте <code>Align=alTop</code>. Теперь создайте несколько форм или фреймов на этой панели (у каждой из них должно быть <code>Parent:=Panel1; Align:=alClient;</code>). Как переключать эти фреймы при смене вкладок? | |
− | |||
− | |||
− | * | + | * Добавьте обработчик события OnChange для вкладки. |
− | * | + | * В этом обработчике событий: а) скройте все фреймы, б) покажите фрейм, который назначен текущему TabIndex. |
− | + | Во время создания новой вкладки вы можете задать ее свойство <code>TabObject</code>. Задайте <code>TabObject</code> для фрейма. Когда будет вызван <code>OnChange</code>, получите <code>TabIndex</code>, вызовите <code>GetTabData()</code> для этого индекса и прочитайте <code>TabObject</code> для этой вкладки. Покажите фрейм, который хранится в этом <code>TabObject</code>, скрыв все остальные. | |
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
var | var | ||
d: TATTabData; | d: TATTabData; | ||
Line 36: | Line 34: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | = | + | = Лицензия = |
− | License: MPL 2.0. | + | License: MPL 2.0. Также вы можете использовать его под LGPL. |
− | = | + | = Загрузить = |
− | + | Последняя версия всегда доступна по адресу https://github.com/Alexey-T/ATTabs. Вы можете установить ее в IDE или даже не устанавливать (просто скопируйте файл attabs.pas в свой проект). | |
− | |||
− | = | + | = Требования = |
Lazarus: 1.6+. | Lazarus: 1.6+. | ||
− | + | Протестировано на: Windows, Linux GTK2/QT, macOS (10.8). | |
− | |||
− |
Latest revision as of 23:32, 9 July 2020
│
Deutsch (de) │
English (en) │
русский (ru) │
О компоненте
ATTabs является компонентом управления вкладками для Delphi и Lazarus. Он не заменяет стандартные элементы управления вкладки, а является их альтернативой, у него другой API. Он рисует вкладки OS-независимыми, используя пользовательскую отрисовку на холсте.
Скриншоты:
Автор: Алексей Торгашин
Справка
Страница 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).