VBA для чайников
Шрифт:
Рис. 19.8. Форш, содержащая несколько вкладок с элементами управления
При проектировании отдельных вкладок формы выполняйте те же самые действия, что и при проектировании формы без вкладок: щелкните на нужном элементе управления в диалоговом окне Toolbox; затем перетащите принявший особый вид указатель мыши по диагонали, чтобы задать необходимый размер элемента управления. Форма со вкладками всегда содержит не меньше двух вкладок.
Форма, содержащая несколько вкладок, обладает определенными свойствами, точно так же, как и каждая ее отдельная вкладка. Если вам
Свойства формы отображаются в диалоговом окне свойств сразу после того, как вы ее выделите. После этого, щелкнув на одной из вкладок, вы отображаете свойства именно ее. Для перехода к другой вкладке щелкните на ее ярлычке. Для вьщеления всей формы щелкните на ее строке заголовке или же воспользуйтесь раскрывающимся списком диалогового окна свойств.
Для добавления кнопок, рамок и других элементов управления на вкладку формы просто перетащите их на соответствующую вкладку. Однако не забудьте перед тем, как перетаскивать элементы управления, выбрать соответствующую вкладку.
Для добавления новой вкладки в форму выполните следующие действия.
1. Щелкните правой кнопкой на вкладках формы.
2. Выберите команду New Page из появившегося контекстного меню.
Удалить существующую вкладку также несложно, только удостоверьтесь в том, что вы удаляете нужную вкладку: редактор Visual Basic делает это немедленно, не задавая никаких вопросов о подтверждении подобных действий, а команда Undo в подобных ситуациях не работает. Для продолжения щелкните на вкладке правой кнопкой мыши и из появившегося контекстного меню выберите команду Delete Page.
Для изменения заголовка вкладки измените подпись к ней. Это можно сделать, или введя новый текст в поле Caption диалогового окна свойств, или щелкнув правой кнопкой мыши на ярлыке вкладки и выбрав из появившегося контекстного меню команду Rename для отображения соответствующего диалогового окна. В этом диалоговом окне вы сможете указать новый текст надписи.
Пусть вас не пугает слово Rename (Переименовать): вы действительно изменяете подпись к вкладке, а не ее имя (для изменения имени вкладки вам следует использовать диалоговое окно свойств). В любом случае, диалоговое окно Rename также позволит вам выбрать быструю клавишу и ввести текст подсказки. Вы можете изменить оба этих элемента с помощью диалогового окна свойств.
Для изменения порядка следования вкладок формы выберите команду Move из контекстного меню, отображаемого после щелчка правой кнопкой мыши на ярлычке вкладки. В диалоговом окне, показанном на рис. 19.9, щелкните на имени вкладки, расположение которой вы хотите изменить, после чего воспользуйтесь кнопками Move Up (Вверх) и Move Down (Вниз) для изменения расположения выбранной вкладки по отношению к другим.
Рис. 19.9. Изменение порядка следования вкладок формы
Вы можете добавить действительно забавные эффекты, которые будут происходить при переходе от одной вкладки к другой. Вы можете заставить элементы управления постепенно появляться на вкладке от одного из ее краев, или постепенно проявляться новую вкладку на фоне старой. Для того чтобы увидеть все эти эффекты, вам следует выполнить форму.
Для добавления специальных
1. Выберите необходимую вкладку.
2. В окне свойств выберите один из необходимых эффектов перехода из раскрывающегося списка TransitionEffeet.
3. Задайте временной интервал (в миллисекундах) выполнения эффекта с помощью свойства TransitionPeriod.
Если значение свойства TransitionPeriod равно 0, эффект отключен. Если же значение будет равно 500 (полсекунды), вы увидите эффект, но при этом задержек в работе программы не будет.
Совет о кнопках выбора
Обычно все кнопки выбора в определенной части формы (рамке, вкладке, или основной части формы) принадлежат одной группе. Однако, используя свойство GroupName, вы сможете определить несколько групп в одной и той же части формы. Вам необходимо только присвоить свойству GroupName одно и то же значение для определенных элементов управления.
Флажки
Для удобства работы пользователя вам следует визуально объединять наборы связанных флажков, чтобы пользователь всегда мог видеть, что определенные флажки относятся к одной группе. Для этого лучше всего подходят рамки.
Поскольку каждый флажок функционирует независимо от других, вам не стоит беспокоиться об их группировании каким-либо другим способом. Однако, если хотите, вы можете идентифицировать их как члены одной группы, указав одинаковое значение свойства
GroupName для всех флажков одной группы. Это позволит вам намного проще определять принадлежность флажков при дальнейшем проектировании формы.
Когда вы увеличиваете уровень громкости звуковой системы или выключаете термостат нагревателя, вы используете настоящий элемент управления для выбора значения из диапазона доступных значений. В форме действие таких элементов имитируется с помощью полос прокрутки и кнопок со стрелками. Соответствующие примеры приведены на рис. 19.10.
Рис. 19.10. В этом диалоговом окне полосы прокрутки и кнопки со стрелками используются для выбора различных значений
Конечно же, полосы прокрутки в среде Windows преимущественно используются для прокрутки видимой части документа или диалогового окна, если все представленные сведения не помещаются сразу. Но вы можете представить себе полосу прокрутки в более общем варианте: как элемент управления в виде бегунка, который позволяет прокручивать целый диапазон значений. Для выбора значения пользователь перетаскивает бегунок или щелкает на кнопке со стрелкой в ту или другую сторону.
Кнопки со стрелками чем-то напоминают полосы прокрутки, в которых собственно полоса и бегунок исчезли, а остались только кнопки. Подобные кнопки не позволяют прокручивать документ; они позволяют только выбирать значения.
Полосы прокрутки и кнопки со стрелками реагируют как на нажатие клавиш на клавиатуре, так и на щелчки мышью. Другими словами, вам не нужно программировать для них процедуры обработки событий для определения значений этих элементов управления, выбираемых в результате того или иного действия пользователя. Однако вам придется рассказать программе о том, что же необходимо делать с измененным значением.