6. Щелкните на кнопке ОК.
Дизайн новой формы
Только что созданная новая форма (рис. 10.1) представляет собой чистое поле для ваших упражнений в разработке пользовательского интерфейса. Вы можете менять размеры формы и ее положение на экране, подбирать форме цвета и размещать в ней элементы управления, которые будут выполнять важные задачи.
Рис. 10.1. Только что созданная форма (обратите внимание на панель элементов управления возле нее и пиктограммы элементов управления в этой панели)
Перед созданием новой формы убедитесь, что активен именно тот проект, в котором должна разместиться создаваемая форма. Сначала откройте документ проекта в VBA приложении, затем переключитесь в редактор Visual Basic. Если приложение позволяет открыть несколько документов сразу или если для документа используется шаблон, то для выбора нужного проекта необходимо использовать проводник проектов. (О работе с проводником проектов говорилось в главе 5.)
Создание формы
Для создания новой формы VBA выберите Insert=UserForm из меню редактора Visual Basic или из контекстного меню (вызываемого щелчком правой кнопки мыши) в окне проводника проектов. Новая форма (точнее, заготовка новой формы) появится в специально созданном для нее окне, а возле формы появится панель элементов управления (см. рис. 10.1) - специальная панель инструментов, содержащая элементы управления, которые можно разместить в этой форме.
Добавление элементов управления из панели инструментов Toolbox
Теперь заготовка формы на экране, и можно добавлять в нее элементы управления - всякие разные штучки в форме, с помощью которых взаимодействуют люди. Элементы управления берутся из панели элементов управления (панели Toolbox).
Панель элементов управления автоматически появляется при создании новой формы, если только перед этим вы не закрыли эту панель. Панель элементов управления грациозно исчезает с экрана, когда вы щелкаете в любом из окон, не содержащих формы, и возникает снова после щелчка в окне формы. Если же панель элементов управления не видна, когда она вам понадобилась, выберите View=Toolbox, чтобы вызвать ее.
Чтобы добавить в форму элемент управления, выполните следующее.
1. Щелкните на пиктограмме того элемента управления в панели элементов управления, который вы хотите поместить в форму.
2. Переместите указатель мыши на форму.
Указатель мыши примет вид крестика с рисунком выбранного элемента управления.
3. Нажмите левую кнопку мыши и перетащите указатель, очертив область на форме, которую должен занять новый элемент управления (рис. 10.2).
4. Отпустите кнопку мыши.
В форме должен появиться новый элемент управления.
Рис. 10.2. Добавление элемента управления в форму
Обычно сразу же после добавления элемента управления в форму указатель мыши приобретает свой обычный вид, позволяющий выбирать объект. Если вам нужно добавить несколько элементов управления одного и того же типа, вместо одного щелчка на пиктограмме соответствующего элемента управления в панели элементов управления сделайте двойной щелчок. Чтобы закончить добавление элементов управления, щелкните на пиктограмме стрелки в панели элементов управления.
Работа со свойствами форм и элементов управления
Формы и элементы управления VBA являются объектами, а поэтому имеют свойства, задающие вид и поведение форм и элементов управления на экране. Эти свойства, как и свойства любых других объектов в программе, можно проверить и изменить.
Но для объектов, о которых речь идет здесь, вам не нужно писать программный код самим. Редактор Visual Basic предлагает воспользоваться окном свойств, которое позволяет с легкостью управлять множеством важных характеристик форм и элементов управления, не программируя их. Правда, по мере усложнения ваших программ вам все чаще и чаще придется устанавливать значения свойств программно, но и тогда окно свойств останется лучшим выбором для установки начальных значений свойств форм и элементов управления в них.
Общий вид окна свойств показан на рис. 30.3. Если окно свойств на экране отсутствует, оно появится после выбора View=Properties Window из меню или нажатия <F4>.
Рис. 10.3. Окно свойств для формы VBA
Когда не ясно, что означает какое-либо свойство или как установить его значение, просто вызовите справку. Щелкните в поле свойства и нажмите <F1>, чтобы на экране появилось окно справки с текстом соответствующего раздела справки VBA.
Очень удобны следующие особенности окна свойств.
* В окне свойств автоматически отображаются свойства того объекта, который выбран
в окне формы (это может быть как элемент управления, так и сама форма).
* Выбрать элемент в форме для работы с ним можно из раскрывающегося списка вверху окна свойств (рис. 10.4).
Обратите внимание на то, что в поле списка в верхней части окна показаны имя и тип того объекта, со свойствами которого вы имеете дело в данный момент.
В окне свойств есть две вкладки, на которых отображается один и тот же набор свойств, но на вкладке Alphabetic (По алфавиту) свойства упорядочены по размеру годового дохода (шутка), а на вкладке Categorized (По категориям) они классифицированы по родственным признакам.
Какую бы из вкладок вы ни выбрали, работа в окне свойств принципиально не меняется.
Слева будут указаны имена свойств, а справа от каждого имени - поле, в котором вы сможете изменить текущую установку соответствующего свойства.
Рис. 10.4. С помощью раскрывающегося списка вверху окна свойств можно выбрать любой элемент управления в форме или саму форму, свойства которых нужно увидеть или поменять
Изменение установок свойств
В зависимости от свойства, установки свойств можно менять одним из следующих трех способов:
* просто печатая новое значение;
* выбирая новое значение из раскрывающегося списка;
* выбирая новое значение в диалоговом окне.
Некоторые свойства позволяют как напечатать новое значение, так и выбрать подходящее из списка.
До тех пор пока вы не щелкнете в поле свойства, нельзя сказать, предлагается ли для этого свойства раскрывающийся список или диалоговое окно. Если для свойства предлагается список или диалоговое окно, после щелчка в поле свойства появится кнопка, на которой можно щелкнуть. (В случае раскрывающегося списка на кнопке будет направленная вниз стрелка, а в случае диалогового окна - многоточие; см. рис. 10.3.)
Пока элементы управления не добавлялись в форму, в раскрывающемся списке окна свойств будет представлена только сама форма. Но после того, как хотя бы один элемент управления добавлен, вам придется следить за тем, какой из объектов выбран (сама форма или один из элементов управления). В VBA это совсем нетрудно - по углам и сторонам выбранного объекта появляются маленькие квадратики маркеров.
Конечно, чтобы выделить объект, можно просто щелкнуть на нем. Но иногда это оказывается не слишком простым делом.
С одной стороны, даже если окно формы у вас прямо перед глазами, вполне обычной оказывается ситуация, когда вы думаете, что выбрали нужный объект, переходите в окно свойств и начинаете изменять свойства, а потом выясняется, что выбран не тот объект. Лично у меня нет хороших рекомендаций по поводу того, как этого избежать. С другой стороны, если форма перегружена элементами управления или (особенно) если вы разместили одни элементы управления на других, то щелкнуть на нужном элементе управления совсем непросто.
По этим причинам я рекомендую всегда выбирать объекты в форме из раскрывающегося списка вверху окна свойств. Маркеры вокруг выбранного объекта будут появляться при этом точно так же, как и после щелчка на этом объекте. Если же вы предпочитаете выбирать щелчком, возьмите за правило после щелчка хотя бы взглянуть на имя в поле раскрывающегося списка в окне свойств, чтобы убедиться в выборе нужного объекта.
Ключевые свойства форм
Многие свойства форм и элементов управления оказываются одинаковыми и используются одинаково. Например, одинаково задаются размеры как любого элемента управления, так и самой формы. Одинаково задается как цвет фона для формы, так и цвет фона для текста на кнопках. В этом разделе мы обсудим наиболее важные из относящихся к форматированию свойств, общие для всех элементов управления и форм.
При создании формы возьмите за правило устанавливать следующие свойства формы еще до того, как в форму будут добавлены элементы управления.
Необходимое действие
Соответствующее свойство
Замечание
Задание имени формы
Name
Имя используется для ссылок на форму в программном коде. Выберите для формы достаточно короткое имя, но ясно указывающие на ее функциональное назначение