Изменение размеров диалогового окна
Из процедур обработки событий можно менять свойства не только отдельных элементов управления, но и всего окна. В качестве примера рассмотрим динамическое изменение его размеров. Ранее мы уже говорили о том, что, изменяя размеры окна, можно скрывать те или иные элементы управления. Сейчас продемонстрируем это на примере. На стадии проектирования разместим в окне элементы управления, которые при первоначальном открытии окна не должны быть видны, но должны появиться в процессе работы пользователя с этим окном. Пусть в форме Cutting есть командная кнопка "Получить данные", и поля ввода "Доходы" и "Расходы" При открытии окна поля ввода недоступны, что достигается "отсечением" нижней части формы в процедуре инициализации. Вот как выглядит обработчик события Initialize нашей формы:
Private Sub UserForm_Initialize() 'Отсечение нижней части формы Me.Height = 90 End Sub
Так выглядит форма при ее открытии:
Рис. 12.19. Усеченная форма в момент ее открытия
После щелчка командной кнопки обработчик события Click восстанавливает размер, заданный при проектировании формы. Он задает также и значения скрытых ранее полей:
Private Sub CommandButton1_Click() With Me 'Установить нормальную высоту формы .Height = 200 'Задать значения ранее не видимых полей .Доходы = 1570 .Расходы = 1500 End With
End Sub
А так выглядит эта же форма после щелчка командной кнопки:
Рис. 12.20. Форма Cutting со скрытыми ранее полями