Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Visual Basic 6.0~01.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
21.23 Mб
Скачать

Коли використовуються 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.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]