Инициализация и отображение диалогового окна
Инициализировать и отобразить диалоговое окно на экране очень просто. Инициализация производится при помощи процедуры обработки события Initilize формы UserForm. Отображение диалогового окна на экране осуществляется методом Show. Инструкцию с методом Show обычно помещают в процедуру, которая связана с командой пользовательского меню, кнопкой панели инструментов или элементом управления, как правило, кнопкой диалогового окна.
Простой инициализации или обычного отображения диалогового окна часто бывает недостаточно, т. к. это приводит к появлению на экране функционально ненастроенного диалогового окна. Такое диалоговое окно можно сравнить с каркасом дома. В таком доме жить неприятно и в него совсем не хочется въезжать. Для того чтобы жить в доме было приятно и удобно, прежде чем в него вселяться, надо сделать много отделочных работ. Также и при инициализации диалогового окна необходимо предусмотреть огромное количество на первый взгляд мелочей, но без которых работать с диалоговым окном неудобно. В частности, при отображении диалогового окна на экране необходимо установить значения полей, применяемые по умолчанию, задать функции кнопок, назначить им комбинации клавиш, связать с элементами управления всплывающие подсказки, вывести в списках первоначально выводимые элементы списков, задать первоначальную установку флажков, переключателей, вывести в элементы управления формы требуемые рисунки и т. д.
Приведем пример процедуры инициализации диалогового окна (рис. 2.27), в котором рассчитываются размеры периодических выплат при постоянной процентной ставке.
Рисунок 2.27 Диалоговое окно Периодических выплат
Private Sub UserForm_Initialize()
' Процедура инициализации и активизации диалогового окна‘
' Первоначальный выбор переключателя Гистограмма
OptionButton1.Value = True
' Назначение клавише <Enter> функции кнопки Вычислить
With CommandButton1
.Default = True
.ControlTipText = "Вычисление процентных ставок" & Chr(13) & _
"составление отчета на рабочем листе"
End With
CommandButton2.ControlTipText = "Кнопка отмены"
On Error GoTo Сообщение0
With Image1
' Установка такого же цвета границы элемента управления Рисунок,
' как и его фон
.BorderColor = .BackColor
' Загрузка рисунка, соответствующего переключателю Гистограмма
.Picture = LoadPicture("VBA3_F1.BMP") End With
UserForm1.Show
Exit Sub
' В случае отсутствия файла с рисунком отображается сообщение
Сообщение0:
If Err.Number Then
MsgBox "Нет графического файла “VBA3_F1.BMP." & Chr(13) &
"Работаем без картинки", vbCritical, "Выплаты"
End If
Resume Next
End Sub