FORMOK, ABLAKOK
Az ablak Kerettel Címsorral Rendszermenüvel ellátott Mozgatható Bezárható Nagyítható ikonizálható
Az ablak egy memóriabeli területet jelent, mely a képernyő egy látható eleméhez kapcsolódik. A Windows egyedi azonosító számokkal, leírókkal (handle) tartja nyilván.
Ablakok típusai Klasszikus ablakok. Előugró (Popup) Főként párbeszéd és üzenet ablakok Gyermekablak (Child) Nem hagyhatja el a szülőablak területét.
Az alkalmazás ablak Application objektumhoz kapcsolódik Az alkalmazáshoz tartozó ablakok összefogására szolgál. Ez rejtett.
Új, üres alkalmazás projektfile-ja: Begin Application.Initialize; Application.CreateForm(Tform1, Form1); Application.Run; End.
Alkalmazás és form aktiválása Létrehozás esemény OnCreate Aktiválás esemény OnActivate
Form stílusok (formstyle) fsNormal: normál SDI ablak, vagy párbeszédablak lesz fsMDIChild: A form MDI gyermekablak lesz fsMDIForm: MDI szülőablak, MDI alkalmazás keretablaka fsStayOnTop: legfelül
Keretstílus (BorderStyle) bsSizeable bsDialog nem méretezhető vastag keret bsSingle nem méretezhető bsToolWindow bsSizeToolWindow
FORMOK KÉZI MÉRETEZÉSE ScaleBy (3, 4) A nagyítás arányának számlálója és nevezője ua. az eredmény ScaleBy (75, 100) A form is méreteződik, ha a AutoScroll tulajdonság false!
Automatikus méretezés A problémák elkerülése: Scaled tulajdonság legyen true Kizárólag TrueType betűtípust használjunk (Ms Sans Serif nem az) Kis betűtípusok (96 dpi) AutoScroll tulajdonság megfelelő állítása Helyezzük a formot a bal felső sarokba, vagy a képernyő közepére
Formok helyzete és mérete A POSITION tulajdonság poDesigned poDefault poDefaultPosOnly poDefaultSizeOnly poScreenCenter Párbeszédablak keretstílusnál nem figyeli a beállítást a Delphi.
Ablak állapota (WindowState) wsNormal wsMinimized wsMaximized
Formok létrehozása Automatikus létrehozás: Begin Application.Initialize; Application.CreateForm(Tform1, Form1); Application.Run; End.
Dinamikus létrehozás: Procedure TForm1.Button1Click (Sender : TObject); Var frmKetto : Tform2; Begin frmKetto := Tform2.create(self); frmKetto.Show; // frmKetto.Showmodal End; Még kell: Project Options -> Forms lap -> Available forms Unit1-ben uses unit2;
Bezárás és megszüntetés Ha Show volt, akkor a FormClose eseményben az Action := caFree; frmKetto:=nil; Ha Showmodal volt, akkor utána frmKetto.free;
Egyszerű párbeszédablakok MessageDlg MessageDlgPos ShowMessage ShowMessagePos Application.MessageBox (Win API MessageBox fgv. ) InputBox