Самоучитель VBA

         

Инициализация и отображение диалогового окна


Инициализировать и отобразить диалоговое окно на экране очень просто. Инициализация производится при помощи процедуры обработки события Initilize формы userForm. Отображение диалогового окна на экране осуществляется методом show. Инструкцию с методом show обычно помещают в процедуру, которая связана с командой пользовательского меню, кнопкой панели инструментов или элементом управления, как правило кнопкой диалогового окна.

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

Приведем пример процедуры инициализации диалогового окна (рис. 7.30), в котором рассчитываются размеры периодических выплат при постоянной процентной ставке.

Рис. 7.30. Диалоговое окно Периодических выплат

Private Sub UserForeinitialize ()

' Процедура инициализации и активизации диалогового окна

'

'

' Первоначальный выбор переключателя Гистограмма

'

OptionButtonl. Value = True



' Назначение клавише <Enter> функции кнопки Вычислить

With CommandButtonl

.Default = True

.ControlTipText = "Вычисление процентных ставок" & Chr(13) &



" составление отчета на рабочем листе" End With

CommandButton2.ControlTipText = "Кнопка отмены"

'

'

On Error GoTo СообщениеО With Imagel

'

' Установка такого же цвета границы элемента управления Рисунок,

' как и его фон

.BorderColor = .BackColor

'

'

' Загрузка рисунка, соответствующего переключателю Гистограмма '

.Picture = LoadPicture("VBA3_F1.BMP")

End With

'

UserForml.Show

Exit Sub

'

' В случае отсутствия файла с рисунком отображается сообщение

'

Сообщение0:

If Err.Number Then

MsgBox "Нет графического файла VBA3_F1.BMP." & Chr(13) &

"Работаем без картинки", vbCritical, "Выплаты"

End If

'

Resume Next

End Sub




Содержание раздела