Ключевые свойства форм
Ключевые свойства форм
Многие свойства форм и элементов управления оказываются одинаковыми и используются одинаково. Например, одинаково задаются размеры как любого элемента управления, так и самой формы. Одинаково задается как цвет фона для формы, так и цвет фона для текста на кнопках. В этом разделе мы обсудим наиболее важные из относящихся к форматированию свойств, общие для всех элементов управления и форм.
При создании формы возьмите за правило устанавливать следующие свойства формы еще до того, как в форму будут добавлены элементы управления.
Необходимое действие
Соответствующее свойство
Замечание
Задание имени формы
Name
Имя используется для ссылок на форму в программном коде. Выберите для формы достаточно короткое имя, но ясно указывающие на ее функциональное назначение
Изменение заголовка формы
Caption
Свойство Caption (Заголовок) содержит текст, который будет появляться в строке заголовка формы. Для заголовка выберите текст, который будет напоминать пользователю о назначении формы
Выбор шрифта для использования по умолчанию
Font
Выбор используемого по умолчанию цвета текста для элементов управления в форме
Fore Color
Выбор цвета фона формы
Back Color
В следующих разделах эти свойства обсуждаются подробнее.
Как вы уже знаете, каждый объект в VBA-программе имеет имя, и формы и элементы управления не исключение. Имя формы не появляется на самой форме. Имя используется для ссылок на объект в программном коде, например, когда требуется активизировать в программе один из методов объекта или изменить одно из свойств объекта.
Формы и элементы управления действительно имеют свойство Name (Имя). Если задуматься, здесь есть некоторое противоречие. С одной стороны, для ссылки на объект нужно его имя. Но если для доступа к формам из коллекции Forms или к элементам управления в форме использовать цикл For Each, то программа получит ссылку на объект, и не зная его имени.
В любом случае, главное здесь то, что задаваемое вами в свойстве Name имя будет именем объекта, которое вы используете в своем программном коде, когда захотите что-либо сделать с этим объектом. Имя формы или элемента управления должно быть допустимым в VBA именем (никаких пробелов и знаков пунктуации; см. главу 6). Кроме того, имя должно описывать функциональное назначение объекта в программе.
А заголовок формы или элемента управления - это нечто другое. Заголовок формы представляет собой текст, появляющийся в ее строке заголовка. Заголовок же элемента управления - если для этого элемента управления заголовок вообще предусмотрен, - это текст надписи, появляющийся на этом элементе управления. Свойство Caption (Заголовок) можно изменить, впечатав новый текст в соответствующее поле окна свойств. В случае элементов управления можно сначала щелкнуть на элементе управления в форме, чтобы выделить его, а затем щелкнуть на нем еще раз и редактировать заголовок прямо на элементе управления. (Не используйте при этом двойной щелчок - тогда откроется окно редактирования программного кода.)
Классическим примером модальной формы является обычное диалоговое окно: пока диалоговое окно открыто, вы не можете работать с другими частями программы; чтобы работать с другим окном или с самим документом, вы должны сначала закрыть диалоговое окно. Точно так же, когда активна модальная форма, в VBA могут выполняться только те процедуры, которые принадлежат этой форме. Форма может реагировать на события, но остальная часть программы остается "замороженной", равно как и само приложение, в котором выполняется программа, остается недоступным пользователю, пока эта форма не будет закрыта.
В VBA 6.3 (точно так же, как и в VBA 6) вы можете назначить любому диалоговому окну модальное или немодальное поведение. По умолчанию для соответствующего свойства ShowModal формы установлено значение True, и это значит, что форма будет модальной.
Если нужно обеспечить пользователю возможность переключаться от этой формы к другим открытым формам и обратно, выберите для этого свойства значение False. В этом случае ваша программа- та, которая отобразит немодальную форму, - продолжит активно выполняться и тогда, когда форма будет на экране.
Пользователи программы получают возможность перемещаться от формы к форме только тогда, когда все открытые в данный момент формы определены как немодальные.
Как только программа отобразит модальную форму, выполнение остальной части программы приостановится, пока пользователь не закроет эту форму. Если перед отображением модальной формы на экране присутствовали другие отображенные программой формы, эти формы останутся на экране видимыми, но их нельзя активизировать до тех пор, пока модальная форма не будет закрыта.
Хотя эта книга посвящена преимущественно VBA 6, если вы работаете с более ранними версиями VBA, вам следует знать, что в VBA 5 все формы модальны- свойства ShowModal у них нет.
Перед тем как приступить к более или менее серьезному проектированию форм, я считаю нужным сообщить вам, что, как и любая серьезная графическая программа, редактор Visual Basic имеет координатную сетку. Эта сетка составлена из воображаемых магнитных линий - вертикальных и горизонтальных. При перемещении или изменении размеров элементов в форме их стороны автоматически размещаются вдоль ближайшей линии сетки. Здесь я должен подчеркнуть, что сетка очень поможет в работе, если правильно выбрать ее параметры для разрабатываемого проекта.
Но вернемся к нашим баранам. Менять размеры форм и элементов управления совсем просто. Можно задать значения свойств Height (Высота) и Width (Ширина) в окне свойств, но еще проще захватить и перетаскивать один из маркеров изменения размеров объекта- один из маленьких квадратиков, появляющихся вокруг изображения объекта, когда последний выделен. Я понимаю, вы знаете, как изменять размеры объектов - любая программа в Windows (от Paint до чего угодно), позволяющая менять размеры графических объектов, использует именно этот метод. Но, на всякий случай, привожу формальное описание процедуры.
* Чтобы изменить размеры формы в одном измерении, перетащите нижний или правый боковой маркер.
* Чтобы изменить размеры формы в обоих измерениях, сразу перетащите угловой маркер.
Обратите внимание на то. что для изменения размеров годятся только белые маркеры, а большинство маркеров формы - черные. Черные маркеры не делают ничего, только выделяют саму форму. Форма в своем окне всегда привязана к верхнему левому углу окна, но не беспокойтесь - позиция формы на экране от этого совершенно не зависит.
Можно непосредственно задавать размеры формы или помещенных в нее элементов управления, меняя числовые значения свойств Height и Width в окне свойств, Значения в данном случае задаются в пунктах (пункт равен 1/72 дюйма).