Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Остальные элементы управления



В VBA также включены некоторые другие полезные элементы управления, которые, однако, не относятся ни к одной из рассмотренных выше групп;

- Элемент управления Timer (Таймер) можно использовать для создания в приложении события через повторяющийся интервал времени. Это удобно для выполнения кода без взаимодействия с пользователем.

- Элемент управления OLE Container (Контейнер OLE) обеспечивает легкий способ добавления в приложение возможностей связывания (linking) и внедрения (embedding). Посредством этого элемента управления можно обеспечить доступ к выполняемым функциям любого приложения, поддерживающего OLE технологию, например Microsoft Excel, Word и многих других.

- Элемент управления Common dialog (Общий диалог) добавляет в приложение встроенные диалоговые оюна (built-in dialog boxes) для выбора файлов, цветов, шрифтов, функций печати.

Что такое фокус?

Объект, имеющий фокус, может получать вводимую пользователем с помощью мыши и клавиатуры информацию. В системе Microsoft Windows одновременно могут выполняться несколько приложений, но только у приложения, имеющего фокус, будет активный заголовок окна (active title bar) (выделен повышенной яркостью), и только оно может взаимодействовать с пользователем. На форме приложения VBA с несколькими полями ввода только поле ввода, имеющее фокус, будет отображать вводимый с клавиатуры текст.

Когда объект получает или теряет фокус, происходят соответственно события GotFocus и LostFocus. Формы и большинство элементов управления поддерживают эти события.

Объекту можно передать фокус несколькими способами:

- Выбрать объект с помощью мыши во время выполнения

- Выбрать объект с помощью клавиши доступа во время выполнения

- Из программного кода с помощью метода set Focus

Всегда можно определить, имеет ли объект фокус. Например, когда кнопка управления имеет фокус, обрамление ее надписи отображается с повышенной яркостью.

Объект может получить фокус, только если его свойства Enabled (Разрешено) и visible (Видимый) установлены в True. Свойство Enabled (Разрешено) позволяет объекту реагировать на инициированные пользователем события, например, ввод с клавиатуры и нажатие кнопок мыши. Свойство visible (Видимый) определяет, виден ли объект на экране-

Событие Validate элементов управления

Элементы управления имеют событие validate (Проверка достоверности), которое происходит перед тем, как элемент управления теряет фокус. Однако это событие возникает, только если свойство CausesValidation элемента управления перед получением фокуса имеет значение True. Событие Validate происходит перед потерей фокуса, поэтому во многих случаях оно более подходит для проверки достоверности данных (data validation), чем событие LostFocus.

Элементы управления, которые не могут получить фокус

Некоторые элементы управления не могут получать фокус. К ним относятся облегченные графические элементы управления:

- Frame (Рамка)

- Image (Изображение)

- Label (Метка)

Кроме этих элементов управления не могут получить фокус и неотображаемые элементы управления.

Установка последовательности перехода

Последовательность перехода (tab order) - это последовательность перехода от одного элемента управления к другому при нажатии клавиши ТаЬ. У каждой формы своя последовательность перехода. Обычно она соответствует последовательности создания элементов управления.

Пусть создаются два поля ввода, Textl и Text2, а затем - кнопка управления Commandl. При запуске приложения поле ввода Textl имеет фокус.

Нажатие клавиши Tab перемещает фокус между элементами управления в той последовательности, в которой они создавались.

Для изменения последовательности перехода необходимо установить свойство TabIndex элемента управления, которое определяет его позицию в последовательности перехода при нажатии клавиши Таb. По умолчанию значение свойства Tabindex элемента управления, созданного на форме первым, равно 0, элемента, созданного вторым - 1 и т. д. При изменении позиции элемента управления в последовательности переходов VBA автоматически перенумеровывает позиции других элементов управления, отражая вставку в другую позицию или удаление из последовательности перехода элемента управления. Например, если кнопка управления command1 в предыдущем примере становится первой в последовательности переходов, то значения свойства TabIndex других элементов управления автоматически перенумеровываются.

Наибольшее значение свойства Tabindex всегда на единицу меньше числа элементов в последовательности перехода, так как нумерация начинается с нуля. Даже если случайно значение свойства Tabindex окажется больше числа элементов управления, VBA переустановит это значение так, чтобы оно было на единицу меньше числа элементов управления.

Примечание

Элементы управления, которые не могут получить фокус, как и недоступные и невидимые элементы управления, не имеют свойства Tabindex и не могут быть включены в последовательность перехода. Когда пользователь нажимает клавишу < ТаЬ>, эти элементы управления пропускаются.

Удаление элемента управления из последовательности перехода

Обычно последовательное нажатие клавиши Таb во время выполнения выбирает каждый элемент управления из заданной последовательности перехода. Можно убрать элемент управления из последовательности перехода, установив значение его свойства TabStop равным False (или 0).

Элемент управления, свойство TabStop которого равно False, сохраняет свою позицию в последовательности перехода, хотя при переходе от одного элемента управления к другому по клавише Таb он пропускается.

Примечание

Группа переключателей имеет один табуляторный ограничитель (tab stop) Для выбранной кнопки, т.е. кнопки, значение свойства Value которой равно True, значение свойства TabStop автоматически равно True, тогда как значение этого свойства для других кнопок равно False.

 


Поделиться:



Последнее изменение этой страницы: 2019-04-09; Просмотров: 265; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.011 с.)
Главная | Случайная страница | Обратная связь