VBA для чайников
Шрифт:
Перед тем как перейти к использованию профессиональных команд форматирования для элементов управления, давайте разберемся с основами. Мы уже обсудили выше, в разделе "Ключевые свойства форм", как менять размеры элементов управления и перемешать их с помощью мыши или посредством изменения значений свойств. В этом разделе мы рассмотрим другие простые приемы редактирования форм и элементов управления в них.
Как и все другие программы для Windows, редактор Visual Basic позволяет вырезать, копировать и вставлять элементы управления и по отдельности, и группами. При этом используются стандартные команды меню
Из этих команд дополнительных пояснений требует только команда Paste. Когда вы вставляете элемент управления из буфера обмена, VBA помещает элемент управления в центр формы, даже если эта часть формы не видна на экране. Но если перед операцией вклеивания выбрать фрейм или форму с множеством страниц, элемент управления будет размещен в центре соответствующего объекта.
Один или несколько элементов управления можно удалить, не помещая их в буфер обмена, если нажать клавишу <Delete> или выбрать Edit=Delete. Обратите внимание на то, что нажатие клавиши <Backspace> в данном случае не работает.
Можно выделить группу элементов управления, а затем перемещать их, менять размеры, вырезать или применять иные команды форматирования как к одному целому. Очень удобно таким образом одновременно устанавливать одинаковые значения общим свойствам элементов управления.
Для выделения сразу нескольких элементов управления используйте следующие приемы.
* Щелкните на пиктограмме стрелки в панели Toolbox и, перетаскивая указатель мыши, охватите прямоугольником выделения те элементы управления, которые нужно включить в группу выделенных. Если в прямоугольник выделения попадет хотя бы часть элемента управления, этот элемент управления окажется в группе выделенных.
* Щелкните на первом элементе управления в группе, а затем, нажав и удерживая клавишу <Shift>, щелкните на элементе управления в противоположной части области выделения. В результате будут выделены все элементы управления, находящиеся между теми двумя, на которых вы щелкали.
* Щелкните на элементе управления, удерживая при этом нажатой клавишу <Ctrl>. Элемент управления будет добавлен к группе выделенных или будет исключен из нее в зависимости от того, был во время щелчка элемент управления выделен или нет.
Выделив группу элементов управления, можно перемещать их, менять размеры, вырезать или применять иные команды форматирования как к одному целому. Выделение группы элементов управления очень ускоряет работу, когда нужно установить одинаковые значения общим свойствам нескольких элементов управления.
Обычно можно отменить результаты последней команды форматирования с помощью команды Undo (Отмена), вызываемой нажатием клавиш <Ctrl+Z>. Однако отмена не действует после изменения размеров формы, а также для изменений, выполненных в окне свойств.
Сетка - это разметка из вертикальных и горизонтальных линий, "нанесенных" на формы. Сетка выполняет следующие функции.
* Визуализация направляющих, вдоль которых размешаются элементы управления с помощью мыши. Направляющие линии проходят через точки, на которые вы наверное, обратили
* Автоматическое выравнивание элементов управления по линиям сетки при перемещении или изменении размеров элементов управления с помощью мыши. Независимо от вашего желания, при перемещении (или изменении размеров) элементов управления с помощью мыши стороны элементов управления "прилипают" к линиям сетки. Хотя это и ограничивает вас в гибкости, зато обеспечивает заметную согласованность при разметке формы.
Эти две функции работают независимо. Можно, например, сделать сетку невидимой, но оставить в силе автоматическое выравнивание или наоборот.
Чтобы установить параметры сетки, выберите Tools= Options из меню. В появившемся диалоговом окне Options (Параметры) щелкните на вкладке General (Общие), чтобы добраться до элементов управления, с помощью которых задаются параметры, о которых идет речь (рис. 10.5).
Рис. /0.5. Шаг сетки задается на вкладке General в диалоговом окне Options
В верхней левой части этого диалогового окна вы найдете несколько параметров, относящихся к сетке.
* Show Grid (Показывать сетку). Снимите этот флажок, если хотите, чтобы точек сетки на форме не стало. Состояние этого параметра не влияет на автоматическое выравни1 вание по линиям сетки.
* Width (Ширина) и Height (Высота). С помощью значений в этих полях текста задается шаг (т.е. расстояние между точками) сетки в вертикальном и горизонтальном направлениях соответственно.
* Align Controls to Grid (Выравнивать элементы управления по линиям сетки). Когда этот флажок отмечен, работает функция "прилипания" к линиям сетки. Сняв этот флажок, вы получите полную свободу в позиционировании и изменении размеров элементов управления. И повторяю, сетка может оставаться видимой, когда функция автоматического выравнивания отключена.
Форматирование элементов управления
В большинстве своем люди питают склонность к таким неосязаемым свойствам, как симметрия, согласованность и аккуратность. И вы, я думаю, хотели бы помочь пользователю сосредоточиться на тех задачах, которые предстоит выполнить, а не собираетесь вызвать у него раздражение беспорядочным нагромождением элементов управления.
К счастью, в VBA есть все средства для создания хорошо организованных форм. Причем, хотя для этого все еще нужна некоторая ручная работа, средства автоматического форматирования VBA позволяют автоматизировать значительную часть процесса.
Команды, которые относятся к размещению и позиционированию элементов управления в форме, находятся в меню Format (Формат) редактора
Visual Basic (рис. 10.6). Хорошее предварительное знакомство с пунктами этого меню и его многочисленных подменю сослужит вам хорошую службу во время проектирования формы.
Использование панели инструментов UserForm
При работе с формами в редакторе Visual Basic очень удобной оказывается панель инструментов UserForm. Если эта панель инструментов на экране не видна, отобразите ее, щелкнув правой кнопкой мыши в любой из видимых панелей инструментов и выбрав UserForm в появившемся меню. На рис. 10.7 панель инструментов UserForm показана как свободно перемещаемая панель.