При виборі з меню команди Про на екрані має з’явитися однойменне вікно (рис. 15.15).
Рис. 15.15. вікно Про програму
Щоб програма під час своєї роботи могла вивести на екран вікно, відмінне від головного (стартового), потрібно створити це вікно. Робиться це вибором з меню File команди New form. У результаті виконання команди New form в проект додається нова форма і відповідним їй модуль.
Вид форми AboutForm після додавання необхідних компонентів наведено на рис. 15.16, значення її властивостей – в табл. 15.8.
Рис. 15.16. форма Про програму
Таблиця 15.8. Значення властивостей форми Про
Властивість |
Значення |
Name | AboutForm |
Caption | 0 програмою |
BorderStyle | BsSingle |
Borderlcons. biSystemMenu | False |
Borderlcons .biMininize | False |
Borderlcons. biMaximize | False |
Висновок вікна Про виконує процедура обробки події click, яке відбувається в результаті вибору з меню команди Про.
Безпосередньо висновок вікна виконує метод showModai, який виводить вікно як модальний діалог.
Лістинг 15.8. Висновок вікна Про програму// вибір з меню команди Про програму
procedure TForm1.N4Click (Sender: TObject); begin
AboutForm.Top : = Trunc (Forml.Top + Forml.Height / 2 - AboutForm.Height / 2); AboutForm.Left : = Trunc (Form1.Left + Form1 .Width / 2 - AboutForm. Width / 2}; AboutForm. ShowModal; end;
Примітка
Модальний діалог перехоплює всі події, адресовані іншим вікнам додатка. Поки модальний діалог знаходиться на екрані, інші вікна програми не реагують на дії користувача. для продовження роботи з додатком потрібно закрити модальний діалог. У більшості програм в тому числі і в Delphi, інформація про програму реалізована як модальний діалог.
Якщо не робити ніяких зусиль, то вікно Про з’явиться в тій точці екрану, в якій перебувала форма під час її розробки Разом з тим, можна “прив’язати” це вікно до головного вікна програми так. щоб воно з’являлося в центрі головного вікна. Прив’язка здійснюється на підставі інформації про поточний стан головного вікна програми (властивості тори і Left) і розмірі вікна Про. Вікно Про має бути видалено з екрану в результаті клацання на кнопці Ok. Процедура обробки цієї події приведена нижче.
procedure TAboutForm.ButtonlClick (Sender: TObject); begin ModalResult : = MrOk; end;