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

         

MultiPage - набор страниц


Элемент управления MultiPage объединяет несколько независимых диалоговых окон - страниц (вкладок). Заголовки страниц обычно видны на одной из сторон элемента на их закладках, а переход на страницу происходит после щелчка по ее закладке. Этот простой переход с одной страницы на другую и делает MultiPage удобным средством для представления разнородных данных, относящихся к одному объекту. Такие данные в "бумажных" офисах хранятся обычно в отдельных папках и образуют дела, досье и т. п.

Каждая страница из MultiPage - это объект типа Page, а все они включены в коллекцию Pages (страницы). При создании элемента MultiPage в него автоматически помещаются две страницы с именами Page1 и Page2. Имена можно изменять, можно добавлять и новые страницы. Чтобы на стадии проектирования добавить новую страницу, переименовать, передвинуть или удалить имеющуюся, щелкните правой кнопкой мыши полосу закладок и выберите нужное действие в появившемся контекстном меню. Рассмотрим основные свойства набора страниц.

  • Количество страниц возвращается свойством Count.
  • Свойство Value для элемента MultiPage определяет номер текущей активной страницы в коллекции Pages.
  • Свойство SelectedItem (его можно только читать) возвращает текущую активную страницу (как объект). Его можно использовать для считывания и установки свойств этой страницы и входящих в нее элементов управления.
  • Свойство Style определяет, в каком виде представляются заголовки страниц. По умолчанию оно равно fmTabStyleTabs=0 и задает представление заголовков в виде закладок в полосе заголовков. Каждая закладка с заголовком находится внутри границ своей страницы. Если значение fmTabStyleButtons = 1, заголовок каждой страницы находится на отдельной кнопке, расположенной в полосе заголовков. Переход на страницу происходит после выбора кнопки с ее заголовком. Если же значение fmTabStyleNone = 2, полоса с заголовками страниц на экран не выводится.
  • Свойство TabOrientation задает расположение полосы с заголовками страниц. Его значения описаны в следующей таблице.


    КонстантаЗначениеЗаголовки расположены
    fmTabOrientationTop 0наверху
    fmTabOrientationBottom 1внизу
    fmTabOrientationLeft 2на левой стороне
    fmTabOrientationRight 3на правой стороне
  • Булево свойство MultiRow позволяет включить возможность создания нескольких полос с закладками (по умолчанию его значение равно False, что соответствует одной полосе закладок).
  • Свойства TabFixedHeight и TabFixedWidth устанавливают или возвращают высоту и ширину закладки (в точках). При значении 0 ширина закладок устанавливается автоматически так, чтобы в каждой закладке помещалось ее название и оно занимало всю ширину элемента. При значениях > 0 у всех закладок одинаковые размеры, заданные свойством TabFixedWidth. Минимально возможный размер закладки - 4 точки.


Рассмотрим пример, демонстрирующий разные способы доступа к страницам набора. Допустим, в наборе страниц MyPages есть страницы: Page1, Page2, Page3 и Page4, созданные и размещенные в указанном порядке.

Private Sub UserForm_Initialize () 'Использование индекса (числового или строкового) и коллекции Pages MyPages. Pages (0). Caption = " Страница 1 " MyPages. Pages. Item (1). Caption = " Страница 2 " 'Использование объекта Page без ссылки на коллекцию Pages: MyPages. Page3. Caption= " Страница 3 " 'Использование свойства SelectedItem: MyPages. Value = 3 MyPages. SelectedItem. Caption = " Страница 4 " End Sub

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

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


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