Основы офисного программирования и язык VBA

         

TabStrip - полоса вкладок


Элемент TabStrip внешне похож на элемент MultiPage. Он также представляет набор отдельных диалоговых окон - вкладок. Но эти вкладки не являются независимыми диалоговыми окнами - они не содержат элементов управления. Элементы в области, ограниченной рамкой вкладки, так же принадлежат диалоговому окну, как и сама полоса вкладок. Поэтому набор элементов управления, видимых на вкладке, достаточно определить один раз. Он автоматически будет одинаково выглядеть на всех вкладках.

Полосы вкладок в основном используются для вывода/ввода однотипной информации, относящейся к разным объектам (это, например, анкеты, сведения об организациях-поставщиках и покупателях и т. п. ). Имена объектов служат заголовками вкладок. При этом объектов не должно быть слишком много, так как хотя бы начальная часть имени каждого должна быть видна на закладке. Для увеличения числа представленных объектов можно установить свойство MultiRow в True, что позволит создать несколько полос с закладками объектов.

Каждая вкладка из TabStrip - объект типа Tab, а все они включены в коллекцию Tabs. Объекты класса Tab обладают собственными свойствами (например, Name, Caption, index), но не имеют собственных методов и событий. Поэтому для доступа и работы с ними используются события включающей их полосы вкладок TabStrip.

При создании в элемент TabStrip автоматически помещаются две вкладки Tab1 и Tab2. Эти имена можно изменять и можно также добавлять новые вкладки. Чтобы на стадии проектирования добавить новую вкладку, переименовать, передвинуть или удалить имеющуюся, щелкните правой кнопкой мыши полосу закладок и выберите действие в появившемся контекстном меню.

Как и для элемента MultiPage, свойство Value определяет номер текущей активной вкладки в коллекции Tabs, а свойство SelectedItem (его можно только читать) возвращает текущую активную вкладку (как объект). Его используют для установки значений свойств ее элементов управления, соответствующих объекту, информация о котором должна быть представлена на вкладке.
Свойство Count возвращает число вкладок на полосе.

Взгляните на различные способы доступа к отдельным вкладкам TabStrip: в процедуре инициализации диалогового окна Myform использовано 6 разных способов присвоения названий шести вкладкам Tab1 - Tab6.

Private Sub UserForm_Initialize () Dim name1 As String ' Использование коллекции Tabs с числовым параметром TabStrip1. Tabs (0). Caption = "Вкладка 1" 'Использование коллекции Tabs со строковым параметром: name1 = TabStrip1. Tabs (1). Name TabStrip1. Tabs (name1). Caption = "Вкладка 2" 'Использование метода Item коллекции Tabs: TabStrip1. Tabs. Item (2). Caption = "Вкладка 3" ' с номером name1 = TabStrip1. Tabs (3). Name TabStrip1. Tabs. Item (name1). Caption = "Вкладка 4" ' с именем 'Использование имени (Name) объекта Tab: TabStrip1. Tab5. Caption = "Вкладка 5" 'Использование свойства SelectedItem: TabStrip1. Value = 5 ' установка активной вкладки TabStrip1. SelectedItem. Caption = "Вкладка 6" End Sub

Номер текущей активной вкладки передается системой в качестве параметра процедуре, обрабатывающей событие Click. Это позволяет устанавливать нужные значения свойств. Допустим, полоса вкладок MyTabStrip содержит 3 вкладки с информацией о сотрудниках, и на них расположены элементы управления: метка Label1, заголовок которой определяет должность сотрудника, и поле ввода Address с его адресом. Тогда процедура установки этих свойств может выглядеть так:

Private Sub MyTabStrip_Click (ByVal Index As Long) Select Case Index Case 0 Me. Label1. Caption = "зав. сектором" Me. Address. Text = "ул. Молодежная, 42, кв. 124" Case 1 Me. Label1. Caption = "администратор БД" Me. Address. Text = "ул. Московская, 12, кв. 34" Case 2 Me. Label1. Caption = "программист" Me. Address. Text = "пр. Спортивный, 143, кв. 56" End Select End Sub

Большинство свойств элементов MultiPage и TabStrip совпадает как по имени, так и по значению.К ним относятся свойства Style, TabOrientation, MultiRow, TabFixedHeight и TabFixedWidth. Специфические свойства TabStrip - параметры ClientHeight, ClientLeft, ClientTop, ClientWidth - задают расположение и размеры (в точках) внутренней области вкладки, содержащей все элементы управления.

События: BeforeDragOver, BeforeDropOrPaste, Change, Click, DblClick, Enter, Error, Exit, KeyDown, KeyUp, KeyPress, Layout, MouseDown, MouseUp, MouseMove.

Методы: Move, SetFocus, ZOrder.


Содержание раздела