VBA для чайников
Шрифт:
Выравнивание элементов управления
Даже при включенной сетке довольно часто оказывается, что элементы управления, которые должны были бы находиться на одной линии, на самом деле располагаются зигзагообразно.
Вместо того чтобы исправлять это вручную, воспользуйтесь командами Align (Выровнять), которые сделают все за вас. Эти команды позволяют выставить на одной линии соответствующие стороны всех выделенных элементов управления как по горизонтали, так и по вертикали.
Чтобы
1. Выделите элементы управления и тот из них, который вы хотели бы оставить на месте, выберите в качестве доминирующего (см. предыдущий раздел).
2. Выберите Format=Align из меню, а затем конкретный тип выравнивания из появившегося подменю.
То же самое можно получить, щелкнув на кнопке Align (Выровнять) в панели инструментов UserForm (если эта кнопка представляет нужный тип выравнивания) или выбрав подходящий тип выравнивания из открывающегося меню этой кнопки.
Три имеющиеся в меню Format команды Make Same Size (Сделать одного размера) автоматически приведут все выделенные элементы управления к размерам доминирующего элемента управления. Немедленное выравнивание размеров предусмотрено отдельно для ширины и высоты, а также для обеих этих характеристик сразу. Эти три команды присутствуют также в раскрывающемся меню соответствующей кнопки панели инструментов UserForm.
С помощью команд Horizontal Spacing (Расстояние по горизонтали) и Vertical Spacing (Расстояние по вертикали) из меню Format можно менять расстояния между выделенными элементами управления, причем четырьмя вариантами на выбор. Из них три варианта оказываются весьма полезными, а один из этих трех доступен только тогда, когда выделено не меньше трех элементов управления. Вот как эти варианты работают.
* Make Equal (Сделать одинаковыми). Выравнивает расстояния между выделенными элементами управления (число последних должно быть не менее трех). Крайние элементы управления остаются на месте, а элементы управления между ними сдвигаютk ся. Если элементов управления только два, команда работать не будет.
* Increase (Увеличить) и Decrease (Уменьшить). Увеличивает или уменьшает расстояния между выделенными элементами управления на величину, соответствующую одному шагу сетки в выбранном вами направлении. Доминирующий элемент управления остается на месте, а остальные сдвигаются.
* Remove (Удалить). Сдвигает элементы управления так, что между ними не остается просвета и их стороны касаются одна другой. Доминирующий элемент управления остается на месте.
Элементы управления, ведут себя хорошо!
В данном разделе вы ближе познакомитесь с самыми важными элементами управления VBA, а также узнаете, какую роль они играют в программах (в начале настоящей главы вы просто познакомились с ними). Перед тем как рассмотреть каждый элемент управления по отдельности, я хочу обсудить несколько свойств, относящихся ко многим элементам управления. Некоторые из этих свойств применяются и к формам.
Запомните, что можно проверить работу элементов управления
Использование свойств Enabled и Locked
Два свойства Enabled и Locked управляют тем, будут ли элементы управления или вся форма доступны пользователю. Очевидно, вы захотите получить полный доступ к элементам управления, находящимся в форме. В противном случае возникает вопрос, зачем же они тогда находятся в форме? Однако иногда элементы управления для вас недоступны. Очень часто элементы управления находятся в форме, однако в данный момент они окрашены в серый цвет. Это говорит о том, что использовать сейчас их нельзя. Например, если в текстовом процессоре не выделен какой-нибудь фрагмент текста, команда Cut (Вырезать) не доступна, так как вырезать нечего.
Свойство Enabled определяет, будет ли элемент управления или форма, находящиеся в фокусе, реагировать на движение мыши или нажатие клавиши на клавиатуре. В фокусе Windows может находиться только один объект. Для того чтобы показать, что данный объект находится в фокусе, Windows размещает вокруг данного элемента управления пунктирные границы.
Когда свойство Enabled равно True, элемент управления появляется обычным образом и может находиться в фокусе. Когда свойство Enabled равно False, Windows отображает на экране неактивную (серую) версию этого элемента управления, который не может находиться в фокусе (рис. 10.10).
Рис. 10.10. В этом диалоговом окне есть активные и неактивные переключатели и кнопки, а также неактивное текстовое поле
Свойство Locked определяет, что выполняет элемент управления. Если свойство Locked равно True, можно щелкать на элементе управления, использовать любые комбинации клавиш, бросать в него камнями, но элемент управления ничего не будет делать (обратитесь к разделу "Назначение быстрых клавиш" дальше в настоящей главе). Однако если свойство Enabled равно True, элемент управления будет находиться в фокусе и нормально выглядеть.
Настройка порядка перехода по нажатию клавиши табуляции
К наиболее интересным особенностям Windows можно отнести то, что при нажатии клавиши <Tab> фокус перемещается с одного элемента управления на другое. При этом элементы управления выделяются после нажатия клавиши <Tab>. (Для того чтобы перемещаться в обратном порядке, воспользуйтесь комбинацией клавиш <Shift+Tab>.)
Вы не должны запускать форму для того, чтобы перейти от одного элемента управления к другому. Нажмите клавишу <Tab> в окне UserForm для того, чтобы перейти от одного элемента управления к следующему.