Delphi – Kreiranje MDI aplikacije

Ponekad vaลกim aplikacijama neฤ‡e biti dovoljno da rade samo u jednom prozoru, nego ฤ‡e biti potrebno da istovremeno otvorite viลกe prozora u jednoj aplikaciji. Ovako neลกto nam omoguฤ‡ava Windows-ov interfejs za viลกe dokumenata tzv. Multiple Document Interface – MDI, uz pomoฤ‡ koga moลพemo unutar jednog glavnog prozora (frame form window) otvoriti viลกe drugih. Frame form prozor se naziva i prozor roditelj (parent), a ostali prozori su potomci (child windows). Prvi korak u kreiranju jedne ovakve aplikacije je kreiranje frame form-e. Pokrenite Delphi, izaberite „File -> New Project“ i izaberite Blank project.

Osobina forme koja definiลกe da li je neka forma roditelj ili potomak je „FormStyle“. U naลกem sluฤaju ovu osobinu ฤ‡emo, preko Object Inspector-a, podesiti na „fsMDIForm“. U jednoj aplikaciji je moguฤ‡e da postoji samo jedna frejm forma. Za frejm formu moลพete da podesite bilo koju formu, ali vaลกa aplikacija se neฤ‡e pravilno iskompajlirati ukoliko ne specifikujete main-glavnu formu. Potvrdu promene glavne forme aplikacije moลพete izvrลกiti preko „Project -> Options“ i u combo-box-u izaberete glavnu formu.

Forme potomke (child forms) moลพete podesiti u vreme dizajniranja aplikacije, radi pojavljivanja svake instance novog prozora, koju ฤ‡e korisnik da otvori u run-time-u. Da bi ovo uradili, ponovo otvorite dijalog „Project -> Options“ i na kartici Forms, u okviru liste „Auto-create Forms“ izbacite drugu formu. Na ovaj naฤin prilikom pokretanja aplikacije otvoriฤ‡e se samo glavna forma, a forme-prozori potomci ฤ‡e se otvarati svaki put kada, recimo korisnik izabere opciju „File -> New“ (kao na slici). Da bi u glavnom prozoru otvorili prozore potomke, uradite sledeฤ‡e:

  • Na pravite meni ili neko komandno dugme vezano za glavnu formu
  • U njegov dogaฤ‘aj OnClick smestite „Form2:=Tform2.Create(self);“
  • Ne zaboravite da u deklaraciju uses dodate Unit2, i u sekciju VAR liniju „Form2:Tform2;“
Pokrenite aplikaciju, otvoriฤ‡e vam se samo main frame, a izborom menija „File -> New“ kreiraฤ‡ete child formu.

Pratite Krstaricu na www.krstarica.com