Чтение онлайн

на главную - закладки

Жанры

VBA для чайников

Каммингс Стив

Шрифт:

2. Выделите эти элементы управления и активизируйте команду Align=Tops

(Выровнять=По верху) или любую другую команду выравнивания по горизонтали.

3. Оставив все элементы управления выделенными, активизируйте команду

Horizontal Spaclng=Make Equal (Расстояние по горизонтали = Сделать одинаковым).

4. Сгруппируйте выделенные элементы управления (т.е. активизируйте команду

Group (Сгруппировать)).

5. Активизируйте команду Center in Form Horizontally (Центрировать в форме по горизонтали).

В вышеприведенной инструкции предполагалось равномерно распределить

элементы управления по горизонтали. Чтобы распределить их равномерно по вертикали, выберите в пп. 2, 3 и 5 версии команд, соответствующие действиям по вертикали.

Дополнительно о работе с элементами управления

В главе 10 вы познакомились с наиболее важными элементами управления и их использованием. В настоящем разделе я дам вам дополнительные советы о работе с отдельными типами элементами управления, а также расскажу об элементах управления, которым не нашлось места в главе 10.

Советы об использовании текстовых полей

Как основные элементы для отображения и ввода данных, текстовые поля заслуживают особого внимания, поэтому я рассматриваю их в настоящем разделе.

Как и надписи, текстовые поля могут содержать сообщения, которые вы адресуете пользователям. Однако обычно пользователь может изменять текст, отображаемый в текстовом поле. Если вы не хотите, чтобы пользователь изменял текст ваших сообщений, обязательно присвойте свойству Locked текстового поля значение True. Только имейте в виду, что пользователи все равно могут скопировать текст в буфер обмена, чего они не в состоянии сделать с текстом надписей. Вы можете предотвратить это, присвоив свойству Enabled значение False, однако в этом случае текст будет отображаться затененным.

Вы можете даже придать текстовому полю вид стандартной надписи, придав его свойству BackColor значение, соответствующее цвету форму, а свойству Special Effect - значение 0, чтобы сделать его "плоским".

Что такое секретный пароль?

Пароли используются для защиты важных данных от неавторизированного копирования, а также для того, чтобы создать у людей впечатление, что они действительно получат какие-то чрезвычайно важные сведения, если уж им предлагают ввести пароль. Какая бы из этих причин вам ни понравилась, создать текстовое поле VBA, предназначенное для ввода пароля, совсем несложно.

При выбранном текстовом поле в редакторе Visual Basic найдите свойство PasswordChar в диалоговом окне свойств, после чего введите подстановочный символ, который будет отображаться в текстовом поле (например, !) вместо символов, действительно вводимых пользователем. Текстовое поле все равно позволяет считывать введенные данные, но делать это может только программа (рис. 19.6).

Рис. 19.6. В этом текстовом поле вместо вводимых символов отображаются только восклицательные знаки

Конечно же, само по себе требование пароля не позволит защитить ваши данные. Сами данные и список паролей доступа должны быть зашифрованы, а ваша программа должна расшифровать данные в том случае, если пользователь ввел правильный пароль.

Использование

многострочных текстовых полей

Для того чтобы данные в текстовом поле отображались корректно, текст понадобится разбить на несколько строк, поэтому вы должны присвоить свойству MultiLine значение True. В противном случае, даже если значение свойства WrapText равно True, весь текст будет размещен в одной строке, выходя за границы текстового поля.

Текст, который VBA для вашего удобства разделяет на несколько строк, на самом деле сохраняется в виде одной строки. Однако многострочные текстовые поля также позволяют пользователю начать "настоящую" новую строку с помощью, либо комбинации клавиш <Ctrl+Enter>, либо присвоения свойству Enter KeyBehavior значения True и нажатия клавиши <Enter>. Это позволит вам создать разрыв строки раньше, чем это автоматически сделает за вас VBA.

Если вы программист (а не пользователь программы), разместите текст в текстовом поле, после чего вы решайте, где ставить точки разрыва строк, Используйте любой из следующих двух методов.

* Если вы проектируете форму, щелкните на элементе управления два раза (но не дважды!), чтобы отобразить точку вставки. После этого воспользуйтесь комбинацией клавиш <Shift+Enter> для начала новой строки.

* В программном коде присвоите текст свойству Value элемента управления, используя строковые значения, объединенные с помощью символа возврата каретки.

На рис. 19.7 приведено несколько примеров использования свойств Wordwrap и MultiLine.

Рис, 19.7. В диалоговом окне вы видите свойства Wordwrap и MultiLine в действии

Какими бы ни были значения свойств MultiLine, Wordwrap или Enter KeyBahavior, в текстовом поле отображается не больше определенного количества текста. Хотя пользователь всегда может прокрутить содержимое текстового поля с помощью клавиш со стрелками, вам следует добавить полосы прокрутки к текстовому полю, присвоив свойству Scroll Bars значение fraScroll Bars Both. VBA достаточно сообразителен, чтобы отобразить полосы прокрутки только в том случае, если текстовое поле не в состоянии отобразить все содержимое сразу.

Создание форм с несколькими вкладками

Если вам необходимо работать с таким количеством элементов управления, что они просто не помешаются в одной форме, использование второй формы оказывается не самым лучшим решением проблемы. Вместо этого вы можете просто распределить все необходимые элементы управления по нескольким вкладкам формы.

Использование нескольких вкладок позволяет значительно "разгрузить" форму, что достаточно часто используется в диалоговых окнах различных Windows-приложений, как показано на рис. 19.8. Каждая вкладка, содержащая элементы управления, действует независимо от других. Элементы управления, которые вы добавляете на вкладку, связываются только с ней; вы сможете увидеть эти элементы управления только при отображенной соответствующей вкладке. Для отображения другой вкладки просто шелкните на ее "ярлыке" в верхней части формы.

Поделиться:
Популярные книги

Дракон - не подарок

Суббота Светлана
2. Королевская академия Драко
Фантастика:
фэнтези
6.74
рейтинг книги
Дракон - не подарок

Бастард Императора. Том 8

Орлов Андрей Юрьевич
8. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 8

Чужая дочь

Зика Натаэль
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Чужая дочь

Эра Мангуста. Том 2

Третьяков Андрей
2. Рос: Мангуст
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эра Мангуста. Том 2

Идеальный мир для Лекаря 14

Сапфир Олег
14. Лекарь
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 14

Один на миллион. Трилогия

Земляной Андрей Борисович
Один на миллион
Фантастика:
боевая фантастика
8.95
рейтинг книги
Один на миллион. Трилогия

Помещицы из будущего

Порохня Анна
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Помещицы из будущего

Шлейф сандала

Лерн Анна
Фантастика:
фэнтези
6.00
рейтинг книги
Шлейф сандала

Черный маг императора 2

Герда Александр
2. Черный маг императора
Фантастика:
юмористическая фантастика
попаданцы
аниме
6.00
рейтинг книги
Черный маг императора 2

Император

Рави Ивар
7. Прометей
Фантастика:
фэнтези
7.11
рейтинг книги
Император

Бандит 2

Щепетнов Евгений Владимирович
2. Петр Синельников
Фантастика:
боевая фантастика
5.73
рейтинг книги
Бандит 2

На границе империй. Том 9. Часть 2

INDIGO
15. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 2

Князь Серединного мира

Земляной Андрей Борисович
4. Страж
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Князь Серединного мира

Чайлдфри

Тоцка Тала
Любовные романы:
современные любовные романы
6.51
рейтинг книги
Чайлдфри