Одновременное форматирование нескольких элементов управления
Многие команды меню Format предназначены для работы сразу с несколькими элементами управления или с несколькими группами элементов управления. Все эти команды будут обсуждаться в данном разделе, но сначала давайте поговорим о том, какой из нескольких выделенных элементов оказывается важнее.
Нет, этот раздел не отступление от темы ради развлечения или каприза. Для некоторых команд форматирования, предназначенных для работы сразу с несколькими элементами управления, один из элементов управления служит отправной точкой для выполняемой команды. На жаргоне VBА такой элемент управления называется доминирующим элементом управления.
Когда используется команда Format=Make Same Size (Формат= Сделать одного размера), например, чтобы получить набор элементов управления одного размера, VBA копирует размеры (высоту, ширину или оба значения) доминирующего элемента управления для остальных выделенных элементов управления. То же самое происходит и для команды Align (Выровнять)- другие элементы управления выравниваются по доминирующему элементу управления, который остается на месте. Результат выполнения команд Horizontal Spacing
(Расстояние по горизонтали) и Vertical Spacing (Расстояние по вертикали) из меню Format тоже зависит от того, какой элемент управления доминирует.
На рис. 10.9 видно, что только у одного из выделенных элементов управления маркеры изменения размеров - белые. Это - доминирующий элемент управления, признаком которого как раз и служат белые маркеры. Другие выделенные элементы управления окружены черными маркерами.
Рис. 10.9. Элемент управления, вокруг которого видны белые маркеры изменения размеров, является доминирующим элементом управления
Вы уже знаете, что выделить группу элементов управления можно двумя способами: охватывая элементы управления прямоугольником выделения с помощью перетаскивания, предварительно выбрав пиктограмму стрелки в панели элементов управления, либо выполняя <Shift+щелчок> или <Ctrl+щелчок> на каждом из элементов управления по одному. Следующая таблица поясняет, как при этом выбрать доминирующий элемент управления.
Стратегия выделения элементов управления
Техника выбора доминирующего элемента
Выбор доминирующего элемента при выделении с помощью перетаскивания выделяющего прямоугольника
Начинать перетаскивание ближе к одному элементу управления, чем к другим
Выбор первого из выделяемых элементов управления в качестве доминирующего
Выделять все элементы управления в группе с помощью комбинации < Shift +щелчок>
Выбор последнего из выделяемых элементов управления в качестве доминирующего
Выделять все элементы управления в группе с помощью комбинации < Ctrl +щелчок>
Выбор другого доминирующего элемента управления в имеющемся наборе выделенных
Дважды выполнить комбинацию < Ctrl +щелчок> на выбранном элементе управления
Выравнивание элементов управления
Даже при включенной сетке довольно часто оказывается, что элементы управления, которые должны были бы находиться на одной линии, на самом деле располагаются зигзагообразно.
Вместо того чтобы исправлять это вручную, воспользуйтесь командами Align (Выровнять), которые сделают все за вас. Эти команды позволяют выставить на одной линии соответствующие стороны всех выделенных элементов управления как по горизонтали, так и по вертикали.
Чтобы выровнять несколько элементов управления, сделайте следующее.
1. Выделите элементы управления и тот из них, который вы хотели бы оставить на месте, выберите в качестве доминирующего (см. предыдущий раздел).
2. Выберите Format=Align из меню, а затем конкретный тип выравнивания из появившегося подменю.
То же самое можно получить, щелкнув на кнопке Align (Выровнять) в панели инструментов UserForm (если эта кнопка представляет нужный тип выравнивания) или выбрав подходящий тип выравнивания из открывающегося меню этой кнопки.
Три имеющиеся в меню Format команды Make Same Size (Сделать одного размера) автоматически приведут все выделенные элементы управления к размерам доминирующего элемента управления. Немедленное выравнивание размеров предусмотрено отдельно для ширины и высоты, а также для обеих этих характеристик сразу. Эти три команды присутствуют также в раскрывающемся меню соответствующей кнопки панели инструментов UserForm.
С помощью команд Horizontal Spacing (Расстояние по горизонтали) и Vertical Spacing (Расстояние по вертикали) из меню Format можно менять расстояния между выделенными элементами управления, причем четырьмя вариантами на выбор. Из них три варианта оказываются весьма полезными, а один из этих трех доступен только тогда, когда выделено не меньше трех элементов управления. Вот как эти варианты работают.
* Make Equal (Сделать одинаковыми). Выравнивает расстояния между выделенными элементами управления (число последних должно быть не менее трех). Крайние элементы управления остаются на месте, а элементы управления между ними сдвигаютk ся. Если элементов управления только два, команда работать не будет.
* Increase (Увеличить) и Decrease (Уменьшить). Увеличивает или уменьшает расстояния между выделенными элементами управления на величину, соответствующую одному шагу сетки в выбранном вами направлении. Доминирующий элемент управления остается на месте, а остальные сдвигаются.
* Remove (Удалить). Сдвигает элементы управления так, что между ними не остается просвета и их стороны касаются одна другой. Доминирующий элемент управления остается на месте.
Элементы управления, ведут себя хорошо!
В данном разделе вы ближе познакомитесь с самыми важными элементами управления VBA, а также узнаете, какую роль они играют в программах (в начале настоящей главы вы просто познакомились с ними). Перед тем как рассмотреть каждый элемент управления по отдельности, я хочу обсудить несколько свойств, относящихся ко многим элементам управления. Некоторые из этих свойств применяются и к формам.
Запомните, что можно проверить работу элементов управления во время написания цикла, не используя для этого никакого программирования. Как только вы запустите форму в окне редактора Visual Basic, элементы управления будут готовы к работе. Например, если вы щелкнете на кнопке, она будет выглядеть нажатой. Элементы управления можно использовать для чего-то полезного. Однако могут возникнуть другие ситуации, о которых я расскажу в разделе "Программирование форм", дальше в настоящей главе.
Использование свойств 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>.)