Вывод формы на экран (запуск формы)
При отладке программы форму можно запускать непосредственно из VBA. Для этого установите курсор ввода в нужную процедуру (UserForm_Initialize или КомандныеКнопки) и щелкните по кнопке RunSub/UserForm. Теперь попробуем связать вызов формы с кнопкой на панели инструментов. Для этого перетащите Настраиваемую кнопку на панель инструментов и выполните команду Назначить макрос. В появившемся списке вы найдете процедуру КомандныеКнопки, но не найдете процедуру UserForm_Initialize. Вспомним, что 1) процедуры с ключевым словом Private не могут запускаться сами по себе. Их можно только вызывать из других программ; 2) метод Show вызывает, в том числе, инициализацию формы. Поэтому, если вы инициализируете форму в процедуре UserForm_Initialize, вам придется написать ещё одну программу, которая отображает форму на экране: SubЗапускФормы() frmКомандныеКнопки.Show End Sub В результате выполнения этой программы управление будет передано в процедуру UserForm_Initialize, а саму эту программу можно связать с кнопкой на панели инструментов или командой меню. Поле (TextBox) и надпись (Label). С элементами управления поле ввода (TextBox) и надпись (Label) мы познакомимся на примере разработки формы для ввода пароля. 1. Форма должна иметь следующий вид: Рис. 10‑8. Форма для ввода пароля 2. Максимальная длина пароля должна быть равной 7 символам. 3. Вместо вводимой буквы в поле ввода должна отображаться звездочка. 4. При корректном пароле вывести на экран сообщение «Пароль введен правильно!», а при некорректном вернуть фокус в поле Введите пароль. 5. Проверка пароля осуществляется после щелчка по кнопке OK. 6. Щелчок по кнопке Отмена выгружает форму из оперативной памяти. 7. Кнопку ОК связать с клавишей [Enter], а кнопку Отмена – с клавишей [Escape]. Начальные условия 1) При создании формы присвойте следующие имена элементам управления: кнопке ОК – cmdOK кнопке Отмена – cmdОтмена полю ввода – txtПароль 2) Саму форму назовите frmПароль. Выполнение задания: 1. В редакторе VBA создайте следующую форму (Рис. 10‑9) и назовите её frmПароль: Рис. 10‑9. Конструирование формы Пароль 2. Добавьте командные кнопки OK и Отмена. 3. Для вставки поля ввода воспользуйтесь кнопкой . В окне свойств задайте его имя txtПароль. 4. Чтобы пользователю было понятно, какую информацию он должен водить в поле, сделаем к нему надпись Введите пароль:. Для этого воспользуйтесь инструментом Надпись . Так как в программе не предвидится обращение к этому элементу управления, не будем менять его имя, а вот свойство Caption пропишем (Введите пароль:). 5. В модуле формы наберите код инициализации формы. Для этого дважды щелкните по форме (на экране появится пустая процедураPrivate SubUserForm_Click()), в списке процедур выберите процедуру Initialize, а затем введите код: Private SubUserForm_Initialize() cmdOK.Default = True cmdОтмена.Cancel = True With txtПароль .PasswordChar = "*" . MaxLength = 7 End With End Sub 6. Дважды щелкните по кнопке cmdOK в форме и введите код для обработки события «Щелчок по кнопке OK»: Private SubcmdOK_Click() Dim Пароль As String 'Определяем пароль, который должен ввести пользователь: Пароль = "Student" If txtПароль.Text = LCase(Пароль) Then MsgBox "Пароль введен правильно!" Unload Me Else With txtПароль .Text = Empty .SetFocus End With End If End Sub 7. Дважды щелкните по кнопке cmdОтменаи введите код для обработки события «Щелчок по кнопке Отмена»: Private SubcmdОтмена_Click() Unload Me End Sub 8. Протестируйте работу программы при правильном и неправильном пароле. Обратите внимание на метод SetFocus, который служит для активизации окна/формы/элемента управления. В данном случае, при неправильном пароле, поле ввода txtПароль очищается и получает фокус – мерцающий курсор ввода приглашает пользователя повторить попытку. Этот метод используется и при инициализации формы, чтобы установить активный элемент управления.
Популярное: Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1510)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |