- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
VBA для чайников - Стив Каммингс
Шрифт:
Интервал:
Закладка:
Вы не должны запускать форму для того, чтобы перейти от одного элемента управления к другому. Нажмите клавишу <Tab> в окне UserForm для того, чтобы перейти от одного элемента управления к следующему.
Переход по клавише табуляции основан на порядке, в котором элементы управления добавлялись в форму. Можно добавить элементы управления и затем удалить ненужные.
А что делать для того, чтобы перейти от одного элемента управления к другому? Обычно для этого используются кнопки для перемещения влево и вправо, а также вверх и вниз, однако иногда элементы управления можно пропустить. Проще всего изменить порядок расположения элементов управления, выполнив View=Tab Order (Вид=Порядок вкладок). На экране появится небольшое диалоговое окно, показанное на рис. 10.11. Для того чтобы переместить элементы управления в списке, находящемся в данном диалоговом окне, щелкните на элементе управления, который необходимо переместить, после чего щелкните на кнопке Move Up (Вверх) или Move Down (Вниз).
Рис. 10.11. Используйте диалоговое окно Tab Order для того, чтобы контролировать, как пользователи перемещаются по форме VBA с помощью клавиатуры
Порядок размещения элементов управления контролируется с помощью свойства TabIndex. Значение свойства TabIndex равно 0 для первого элемента управления, 1 - для второго элемента управления и т.д. Как только вы измените значение этого свойства, VBA автоматически изменит и другие значения.
Для того чтобы удалить элемент управления из списка, установите значение TabIndex, равное False. Это не изменит расположение элемента управления. Если вы снова установите значение свойства TabIndex. равное True, элемент управления появится там же, где и раньше.
Несмотря на то, что многим людям достаточно мыши для выбора элементов управления, некоторые предпочитают пользоваться еще и клавиатурой. Для того чтобы упростить работу пользователей, используются быстрые клавиши. После того как форма запущена, нажмите и удерживайте клавишу <Alt>, а потом нажмите определенную клавишу для того, чтобы переместить фокус к определенному элементу управления.
Для того чтобы назначить клавиши, введите один символ в поле Accelerator (Клавиша) в диалоговом окне Properties (Свойства). В заголовке элемента управления должен быть один символ. Также в одной и той же форме не должны указываться одни и те же клавиши для различных элементов управления. VBA автоматически подчеркнет быструю клавишу.
Для того чтобы добавить быструю клавишу для элемента управления, которое не имеет свойства Caption, такого как текстовое поле или полоса прокрутки, выполните следующее.
1. Создайте метку для элемента управления.
О метках я поговорю в следующем разделе.
2. Настройте порядок расположения таким образом, чтобы метка находилась перед другими элементами управления.
3. Назначьте быстрые клавиши для метки.
Теперь после того, как пользователь воспользуется быстрой клавишей, фокус переместится на следующее за меткой элемента управления. На рис. 10.12 показана форма, которая использует эту технику.
Рис 10.12. Если вы воспользуетесь комбинацией клавиш <Alt+N>, фокус переместится в поле, в котором можно ввести имя своего любимого животного
Надписи предоставляют прямоугольную область в форме, в которой можно ввести сообщения. С точки зрения пользователя программы, надпись - это не элемент управления; она не позволяет пользователю что-либо контролировать. Надписи представляют собой текст или рисунок. Пользователь не может изменить существующий текст или скопировать его в буфер обмена.
Таким образом, для программиста надписи важны, так как они позволяют создавать сообщения для общения с пользователями. Обычно элементы используются для идентификации элементов управления и их функций. Подобный пример приведен на рис. 10.13. Это особенно полезно для элементов управления без подписей, таких как полоса прокрутки или счетчики.
Рис. 10.13. Элементы управления заголовками в верхней части данной формы устанавливают функцию для каждой полосы прокрутки
Элемент может выглядеть как стандартное текстовое поле и не позволяет пользователю копировать содержащийся в нем текст. Установите свойство элемента управления заголовками Special Effect равным 2 (для sunken) и свойство BackColor - белый.
Ввод элементов управления текстом
Элементы управления отображают текст, который называется заголовком. Для того чтобы разместить свой собственный текст на элементе управления, измените текст в свойстве Caption в окне Properties (Свойства). Также можно изменить текст прямо в элементе управления, для чего дважды щелкните на нем. После этого рядом с текстом появится курсор. Для того чтобы перейти на новую строку, воспользуйтесь комбинацией клавиш <Shift+Enter>.
Элементы управления могут автоматически настраивать себя, изменяя содержащийся в них текст. Для этого необходимо изменить параметры в окне Properties (Свойства). На рис. 10.14 показан пример работы этих свойств. Например, можно выполнить следующее.
* Оставьте значение свойства Wordwrap равным True (no умолчанию), если вы хотите, чтобы VBA автоматически разделял текст на отдельные строки и размешал их в пустом пространстве, как это делает любой текстовый процессор. Если вы установите значение свойства Wordwrap равным False, все заголовки текста останутся в одной строке.
* Установите значение свойства AutoSize равным True, если вы хотите, чтобы разf мер элемента управления изменялся автоматически. Если значение свойства WordWrap будет также равно True, элементы управления размещаются вертикально. Если изменить значение свойства Wordwrap на False, элементы управления увеличатся таким образом, что займут одну строку.
* Используйте свойство Text Align для того, чтобы контролировать, каким образом текст располагается внутри элемента - слева, в центре или справа.
Рис. 10.14. Элементы управления, содержащиеся в данной форме, демонстрируют различные параметры свойств WordWrap И AutoSize
Автоматическое изменение бывает полезно, однако иногда это приводит к проблемам. Как только элемент управления увеличится, он может стать непропорциональным другим элементам формы. Точнее, элемент может быть слишком велик. Это приводит к тому, что он закроет другие элементы формы или выйдет за границы формы. Если вы используете автоматическое изменение размера, необходимо внимательно следить за тем, чтобы текст на элементах управления никогда не был слишком большим.
Несмотря на то, что пользователи не могут изменять текст на элементах управления, когда программа запущена, можно изменить значение элемента управления Caption. Вам необходимо изменить всего одну строку в коде для того, чтобы изменить отображаемый текст.
Ниже показано, как это сделать:
LbllnspirationalMessage.Caption = "Laugh and be happy!"
Для того чтобы в элементе управления текстом сделать обрыв строки, используйте строковый литерал, связанный с символом возврата каретки в операторе присвоения. (Более подробная информация об объединении текста содержится в главе 11.)
Сбор информации с помощью текстовых полей
Когда необходимо собрать информацию о пользователе, используется текстовое поле.
Ваш код может извлекать все, что пользователь введет в данное текстовое поле. На рис. 10.15 показано подобное текстовое поле.
Рис. 10.15. Большое белое поле в центре данной формы является текстовым полем, в котором ктото ввел сообщение
Если вы попытаетесь создать диалоговое окно со всего одним текстовым полем для ввода информации о пользователе, вероятнее всего, вам не нужна вся форма. Вместо этого можно воспользоваться функцией Input Box (подробнее о ней я расскажу в главе 11). Элементы управления текстовым полем можно использовать вместо функции Input Box в следующих случаях.
* Вам необходимо сделать красивое или отвратительное диалоговое окно. В этом случае функцию Input Box использовать нельзя.
* Вам необходимо, чтобы в одном диалоговом окне, кроме текстового поля, находился еще один элемент управления.
* Вы хотите проверять правильность содержимого поля, когда пользователь вводит текст.
Используя текстовое поле, можно сделать программу с процедурой обработки событий, которая будет выполняться всякий раз, как пользователь нажмет любую клавишу на клавиатуре. При этом проверяется, соответствует ли нажатая клавиша установленным вами критериям. Используя функцию Input Box, вы можете только проверять содержимое и только после того, как пользователь закроет текстовое поле.
В текстовом поле можно разместить стандартный текст. При этом пользователю не придется вводить данные в текстовом поле, если содержащаяся в нем информация подходит для него. Для того чтобы ввести в текстовое поле стандартный текст, щелкните один раз в текстовом поле, выделив его, После этого повторно (но не два раза) щелкните в текстовом поле для того, чтобы перейти в режим ввода текста. Затем вводите текст. Также можно ввести текст в поле свойств Value в окне Properties Value (Свойства). (Запомните: текстовые поля не имеют заголовков.)

