Когда используются Load/Unload и Activate/Deactivate — КиберПедия 

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Когда используются Load/Unload и Activate/Deactivate



Перед тем как отобразить форму на экране, необходимо загрузить ее в память. При этом Windows посылает форме специальное сообщение, а форма генерирует событие Load. Это событие хорошо подходит для начальных проверок или для изменения положения формы на экране. Например, для выравнивания формы по центру экрана часто используется следующий фрагмент:

 

Private Sub Form_Load()

Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2

End Sub

 

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

Событие Deactivate происходит в тех случаях, когда фокус передается другим форме или приложению. Например, при помощи этого события можно свернуть окно приложения при переходе к другой программе. Наконец, событие Unload тоже достаточно важно, потому что оно предоставляет вам последнюю возможность «убрать мусор» за формой. В процедуре события следует закрыть все открытые базы данных или файлы. Тем самым вы предотвращаете напрасный расход памяти при выгрузке формы.

 

Событие Resize

Событие Resize происходит, когда пользователь изменяет размеры формы. Чаще всего оно используется для двух целей:

О масштабирования управляющих элементов, размещенных на форме; О восстановления исходных размеров формы.

В обоих случаях используются свойства Height и Width объектов. Пример программы можно взять из описания свойств Height и Width.

 

ПРИМЕЧАНИЕИзменить размеры свернутой или развернутой формы невозможно. Чтобы избежать этой ситуации, проще всего установить значения свойств MaxButton и MinButton формы в False.

 

Событие Unload

Событие Unload по смыслу противоположно Load. Чаще всего процедура этого события используется для того, чтобы спросить у пользователя, действительно ли он желает закрыть форму (хотя процедура другого события, QueryUnload, в данном случае оказывается более удобной). Если вы посмотрите на процедуру события Unload в окне программы, то увидите, что она немного отличается от процедур других событий. За именем процедуры следует аргумент (Cancel As Integer), с его помощью можно отменить выгрузку формы. Следующий пример показывает, как это делается:



1. Создайте новый проект (File > New Project) и выберите значок Standard EXE.

2. Дважды щелкните на форме Form1 в конструкторе, чтобы открыть окно программы.

3. Выберите из списка событие Unload.

4. Вставьте в процедуру Unload следующий фрагмент:

 

Private Sub Form_Unload(Cancel As Integer)

If MsgBox("Уверены?", vbYesNo, "Выход?") = vbYes Then

Unload Me

Set Form1 = Nothing

Else

Cancel = 1

End If

End Sub

 

5. Закройте окно программы и запустите программу командой Run >- Start.

6. На экране появляется пустая форма. Нажмите кнопку закрытия на заголовке; при этом будет сгенерировано событие Unload.

 

ПРИМЕЧАНИЕФункция MsgBox отображает диалоговое окно, которое называется окном сообщения. Более подробная информация о ней приведена в уроке 10, «Диалоговые окна».

 

Поскольку мы добавили фрагмент кода в процедуру события Unload, Visual Basic выполняет его и выводит окно с вопросом, действительно ли вы хотите выйти из программы. Если нажать кнопку Yes, форма закроется. Однако, если вы нажмете кнопку No, программа присвоит параметру Cancel значение 1 и тем самым запретит выгрузку формы.

 

ПОДСКАЗКАЕсли приложение работает как редактор (например, текстовый или графический), то задавать вопрос о закрытии следует лишь в том случае, если пользователь не сохранил внесенные изменения. Вы можете включить в процедуру события Unload фрагмент, аналогичный приведенному ранее.

 

Методы форм

Перед тем как рассматривать конкретные события, давайте выясним, что же такое метод. Методом называется команда, которую вы отдаете объекту. С помощью методов можно приказать объекту выполнить те или иные действия — например, вызывая метод Unload формы, вы заставляете ее выгрузиться из памяти. Ниже приведен перечень методов, связанных с формами:

 

Circle Move PSet TextHeight
Cls PaintPicture Refresh TextWidth
Hide Point Scale Unload
Item Print SetFocus ZOrder
Line PrintForm Show  

 

Show, Hide и Unload — три самых распространенных метода, применяемых в работе с формами. В следующем разделе мы увидим, как они применяются на практике.

 






Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...





© cyberpedia.su 2017 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав

0.004 с.