Rozdział 2. ♦ Podstawowe składniki aplikacji 23
Napisz program, który po kliknięciu przycisku wyświetli okno komunikatu z pytaniem: „Czy zakończyć pracę aplikacji?”. Po wybraniu przycisku z napisem OK okno aplikacji powinno zostać zamknięte (program zakończy działanie). Zablokuj możliwość zamknięcia okna aplikacji za pomocą standardowych przycisków okna (u góry, z prawej strony), standardowego menu oraz kombinacji klawiszy Alt+F4. Okno powinno zamknąć się tylko po wybraniu przycisku OK.
Na formularzu umieść przycisk TButton.
W sekcji var modułu dopisz deklarację zmiennej globalnej o nazwie zamknij typu logicznego.
zamknij:boolean:
Kliknij dwukrotnie formularz i w procedurze obsługi zdarzenia OnCreate ustaw początkową wartość zmiennej zamknij na false.
//procedura obsługi zdarzenia OnCreate - przy tworzeniu formularza
procedurę TForml.FormCreateCSender: TObject):
begin
zamknij:=false: end;
Wybierz ponownie formularz i zakładkę Events w oknie Inspektora Obiektów. Kliknij z prawej strony zdarzenia OnCloseQuery. W procedurze obsługi tego zdarzenia wpisz instrukcje, jak w procedurze poniżej:
//procedura obsługi zdarzenia OnCloseQuery
procedurę TForml.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin
if not zamknij then CanClose:=false; // instrukcja zapobiega zamknięciu okna
// w standardowy sposób
end;
W procedurze obsługi zdarzenia OnClick dla przycisku TButton wpisz instrukcję wyświetlającą okienko komunikatów MessageBox z pytaniem o zakończenie pracy aplikacji.
Procedura obsługi zdarzenia OnClick dla przycisku Buttonl:
procedurę TForml.ButtonlClick(Sender: TObject); begin
if'Application.Messagebox('Czy zakończyć program?','Koniec?' . MB_OKCancel)—IdOK then begin
zamknij:=true;
Close: //lub Application.Terminate;
end; end; end.