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

на главную

Жанры

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. Каждая вкладка, содержащая элементы управления, действует независимо от других. Элементы управления, которые вы добавляете на вкладку, связываются только с ней; вы сможете увидеть эти элементы управления только при отображенной соответствующей вкладке. Для отображения другой вкладки просто шелкните на ее "ярлыке" в верхней части формы.

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

Мастер Разума VII

Кронос Александр
7. Мастер Разума
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер Разума VII

Набирая силу

Каменистый Артем
2. Альфа-ноль
Фантастика:
фэнтези
боевая фантастика
рпг
6.29
рейтинг книги
Набирая силу

Аристократ из прошлого тысячелетия

Еслер Андрей
3. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Аристократ из прошлого тысячелетия

70 Рублей - 2. Здравствуй S-T-I-K-S

Кожевников Павел
Вселенная S-T-I-K-S
Фантастика:
боевая фантастика
постапокалипсис
5.00
рейтинг книги
70 Рублей - 2. Здравствуй S-T-I-K-S

Сама себе хозяйка

Красовская Марианна
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Сама себе хозяйка

Треск штанов

Ланцов Михаил Алексеевич
6. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Треск штанов

LIVE-RPG. Эволюция 2

Кронос Александр
2. Эволюция. Live-RPG
Фантастика:
социально-философская фантастика
героическая фантастика
киберпанк
7.29
рейтинг книги
LIVE-RPG. Эволюция 2

Третий

INDIGO
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий

Последний попаданец 11. Финал. Часть 1

Зубов Константин
11. Последний попаданец
Фантастика:
фэнтези
юмористическое фэнтези
рпг
5.00
рейтинг книги
Последний попаданец 11. Финал. Часть 1

Обгоняя время

Иванов Дмитрий
13. Девяностые
Фантастика:
попаданцы
5.00
рейтинг книги
Обгоняя время

Отверженный VI: Эльфийский Петербург

Опсокополос Алексис
6. Отверженный
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Отверженный VI: Эльфийский Петербург

Изгой. Трилогия

Михайлов Дем Алексеевич
Изгой
Фантастика:
фэнтези
8.45
рейтинг книги
Изгой. Трилогия

Физрук 2: назад в СССР

Гуров Валерий Александрович
2. Физрук
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Физрук 2: назад в СССР

Адепт. Том второй. Каникулы

Бубела Олег Николаевич
7. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.05
рейтинг книги
Адепт. Том второй. Каникулы