VBA для чайников
Шрифт:
Переход по клавише табуляции основан на порядке, в котором элементы управления добавлялись в форму. Можно добавить элементы управления и затем удалить ненужные.
А что делать для того, чтобы перейти от одного элемента управления к другому? Обычно для этого используются кнопки для перемещения влево и вправо, а также вверх и вниз, однако иногда элементы управления можно пропустить. Проще всего изменить порядок расположения элементов управления, выполнив View=Tab Order (Вид=Порядок вкладок). На экране появится небольшое диалоговое окно, показанное на рис. 10.11. Для того чтобы
Рис. 10.11. Используйте диалоговое окно Tab Order для того, чтобы контролировать, как пользователи перемещаются по форме VBA с помощью клавиатуры
Порядок размещения элементов управления контролируется с помощью свойства TabIndex. Значение свойства TabIndex равно 0 для первого элемента управления, 1 - для второго элемента управления и т.д. Как только вы измените значение этого свойства, VBA автоматически изменит и другие значения.
Для того чтобы удалить элемент управления из списка, установите значение TabIndex, равное False. Это не изменит расположение элемента управления. Если вы снова установите значение свойства TabIndex. равное True, элемент управления появится там же, где и раньше.
Несмотря на то, что многим людям достаточно мыши для выбора элементов управления, некоторые предпочитают пользоваться еще и клавиатурой. Для того чтобы упростить работу пользователей, используются быстрые клавиши. После того как форма запущена, нажмите и удерживайте клавишу <Alt>, а потом нажмите определенную клавишу для того, чтобы переместить фокус к определенному элементу управления.
Для того чтобы назначить клавиши, введите один символ в поле Accelerator (Клавиша) в диалоговом окне Properties (Свойства). В заголовке элемента управления должен быть один символ. Также в одной и той же форме не должны указываться одни и те же клавиши для различных элементов управления. VBA автоматически подчеркнет быструю клавишу.
Для того чтобы добавить быструю клавишу для элемента управления, которое не имеет свойства Caption, такого как текстовое поле или полоса прокрутки, выполните следующее.
1. Создайте метку для элемента управления.
О метках я поговорю в следующем разделе.
2. Настройте порядок расположения таким образом, чтобы метка находилась перед другими элементами управления.
3. Назначьте быстрые клавиши для метки.
Теперь после того, как пользователь воспользуется быстрой клавишей, фокус переместится на следующее за меткой элемента управления. На рис. 10.12 показана форма, которая использует эту технику.
Рис 10.12. Если вы воспользуетесь комбинацией клавиш <Alt+N>, фокус переместится в поле, в котором можно ввести имя своего любимого животного
Надписи предоставляют прямоугольную область в форме, в которой можно ввести сообщения. С точки зрения пользователя программы, надпись - это не элемент управления; она не позволяет пользователю что-либо контролировать. Надписи представляют собой текст или рисунок. Пользователь
Таким образом, для программиста надписи важны, так как они позволяют создавать сообщения для общения с пользователями. Обычно элементы используются для идентификации элементов управления и их функций. Подобный пример приведен на рис. 10.13. Это особенно полезно для элементов управления без подписей, таких как полоса прокрутки или счетчики.
Рис. 10.13. Элементы управления заголовками в верхней части данной формы устанавливают функцию для каждой полосы прокрутки
Элемент может выглядеть как стандартное текстовое поле и не позволяет пользователю копировать содержащийся в нем текст. Установите свойство элемента управления заголовками Special Effect равным 2 (для sunken) и свойство BackColor - белый.
Ввод элементов управления текстом
Элементы управления отображают текст, который называется заголовком. Для того чтобы разместить свой собственный текст на элементе управления, измените текст в свойстве Caption в окне Properties (Свойства). Также можно изменить текст прямо в элементе управления, для чего дважды щелкните на нем. После этого рядом с текстом появится курсор. Для того чтобы перейти на новую строку, воспользуйтесь комбинацией клавиш <Shift+Enter>.
Элементы управления могут автоматически настраивать себя, изменяя содержащийся в них текст. Для этого необходимо изменить параметры в окне Properties (Свойства). На рис. 10.14 показан пример работы этих свойств. Например, можно выполнить следующее.
* Оставьте значение свойства Wordwrap равным True (no умолчанию), если вы хотите, чтобы VBA автоматически разделял текст на отдельные строки и размешал их в пустом пространстве, как это делает любой текстовый процессор. Если вы установите значение свойства Wordwrap равным False, все заголовки текста останутся в одной строке.
* Установите значение свойства AutoSize равным True, если вы хотите, чтобы разf мер элемента управления изменялся автоматически. Если значение свойства WordWrap будет также равно True, элементы управления размещаются вертикально. Если изменить значение свойства Wordwrap на False, элементы управления увеличатся таким образом, что займут одну строку.
* Используйте свойство Text Align для того, чтобы контролировать, каким образом текст располагается внутри элемента - слева, в центре или справа.
Рис. 10.14. Элементы управления, содержащиеся в данной форме, демонстрируют различные параметры свойств WordWrap И AutoSize
Автоматическое изменение бывает полезно, однако иногда это приводит к проблемам. Как только элемент управления увеличится, он может стать непропорциональным другим элементам формы. Точнее, элемент может быть слишком велик. Это приводит к тому, что он закроет другие элементы формы или выйдет за границы формы. Если вы используете автоматическое изменение размера, необходимо внимательно следить за тем, чтобы текст на элементах управления никогда не был слишком большим.