Formuláře, tvorba, zobrazení |
Top Previous Next |
Seznam témat:
Vytvoření formuláře, jeho modální zobrazení a likvidace
var Frm: TForm; EditText: TEdit; BtnOk,BtnCancel: TButton; begin Frm := TForm.Create(nil); //Owner=nil -> Frm si uvolním sám try //vlastnosti formuláře Frm.Caption := 'Vložte údaje'; Frm.Position := poScreenCenter; Frm.Width := 300; Frm.Height := 200; Frm.BorderStyle := bsDialog;
//prvek pro vložení textu EditText := TEdit.Create(Frm); //prvek bude uvolněn se zánikem Frm EditText.Left := 20; EditText.Top := 30; EditText.Width := 200; EditText.Parent := Frm;
//popisek k prvku EditText with TLabelPlus.Create(Frm) do begin Caption := '&Text'; Parent := Frm; FocusControl := EditText; //zajistí zarovnání k prvku end;
//tlačítko OK BtnOk := TButton.Create(Frm); BtnOk.Caption := 'OK'; BtnOk.Left := 120; BtnOk.Top := 140; BtnOk.Default := True; //bude reagovat na klávesu Enter BtnOk.ModalResult := mrOk; BtnOk.Parent := Frm;
//tlačítko Storno BtnCancel := TButton.Create(Frm); BtnCancel.Caption := 'Storno'; BtnCancel.Left := 200; BtnCancel.Top := 140; BtnCancel.Cancel := True; //bude reagovat na klávesu Esc BtnCancel.ModalResult := mrCancel; BtnCancel.Parent := Frm;
//zobraz form modálně if Frm.ShowModal = mrOk then OKBox(EditText.Text); finally Frm.Free; end; end.
Vytvoření formuláře, jeho nemodální zobrazení ( likvidace při zavření ) var Frm: TForm; BtnClose: TButton;
procedure FormClose(Sender: TObject; Action: TCloseAction); begin Action := caFree; //form se uvolní z paměti end;
procedure BtnClick(Sender: TObject); begin Frm.Close; end;
begin Frm := TForm.Create(nil); try //vlastnosti formuláře Frm.Caption := 'Nemodální formulář'; Frm.Position := poScreenCenter; Frm.Width := 300; Frm.Height := 200; Frm.BorderStyle := bsSizeable; Frm.OnClose := @FormClose; //zajistí likvidaci formu při zavření AddTaskForm(Frm); //přidá tlačítko na hlavní lištu programu
//tlačítko Zavřít BtnClose := TButton.Create(Frm); //BtnClose bude uvolněn při zániku Frm BtnClose.Caption := 'Zavřít'; BtnClose.Left := 200; BtnClose.Top := 140; BtnClose.Cancel := True; //bude reagovat na klávesu Esc BtnClose.Anchors := akRight+akBottom; //bude se držet pravého dolního rohu BtnClose.Parent := Frm; BtnClose.OnClick := @BtnClick;
//zobraz form nemodálně Frm.Show; except Frm.Free; RaiseException(ExceptionMessage); end; end.
Související témata |