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