Dezvoltați aplicații MDI în delphi, delphisite

procedura TfrMain. CreateChildForm

# 40; const copilul. șir # 41; ;

var Copil: TfrChild;

Copil: = TfrChild. crea # 40; cerere # 41; ;

Copil. Caption: = childName;








Acest cod creează un formular copil cu antetul copilului.
Nu uitați că acest cod se află în secțiunea "Utilizează magazinul".
Nu minimalizați închiderea!
Închiderea unei ferestre copil într-o aplicație MDI o minimizează numai în zona client a ferestrei părinte. Prin urmare, trebuie să furnizăm procedura OnClose și să setăm parametrul Action în caFree:

procedura TfrChild. FormClose

# 40; Expeditor: TObject; var Action: TCloseAction # 41; ;

Rețineți că, dacă forma este o filială a forma MDI, iar proprietatea acesteia este setată la BorderIcons biMinimize (implicit), apoi, din nou, setarea implicită este setată la acțiune caMinimize. Dacă formularul copil MDI nu are aceste setări, atunci acțiunea implicită este setată la caNone, ceea ce înseamnă că nimic nu se va întâmpla când forma este închisă.
MDI părinte meniu
Fiecare aplicație MDI trebuie să aibă un meniu principal cu (dacă nu este nimic altceva), o opțiune de aliniere a ferestrelor. Deoarece am mutat anterior formularul copil de la Creare automată la Formulare disponibile, avem nevoie de un cod care (elementul de meniu) va crea formulare copil.
Pentru a crea ferestre copil în aplicația noastră, va fi folosit elementul de meniu "Copil nou". Al doilea meniu (Fereastră) va fi utilizat pentru alinierea ferestrelor copil în interiorul ferestrei formularului părinte.






. Creați și afișați
În concluzie, trebuie să facem un handler pentru elementul de meniu "Copil nou". Când faceți clic pe fila | Noul copil al aplicației noastre, va fi apelată procedura NewChild1Click, care la rândul său va numi procedura CreateChildForm (de mai sus) pentru a crea (următoarea) instanța formularului frChild.

procedura TfrMain. NewChild1Click # 40; Expeditor: TObject # 41; ;

CreateChildForm # 40; "Copil" + IntToStr # 40; MDIChildCount +1 # 41; # 41; ;

Forma copil nou creată va avea un antet în formatul "Copil x", unde x reprezintă numărul de formulare pentru copii din formularul MDI, după cum este descris mai jos.
Închideți toate
Când lucrați cu o aplicație care are o interfață multi-document, este întotdeauna necesar să aveți o procedură care să închidă toate ferestrele copilului.

procedura TfrMain. CloseAll1Click # 40; Expeditor: TObject # 41; ;

pentru i: = 0 la MdiChildCount - 1

MDIChildren # 91; eu # 93;. Închide;

Va trebui să verificați informații nesalvate în fiecare fereastră pentru copii. Pentru a rezolva această problemă, este mai bine să utilizați un handler de evenimente OnCloseQuery.
Proprietățile copiilor MdiChildCount și MDIC
Proprietatea MdiChildCount numai pentru citire, care conține numărul de ferestre copil create. În cazul în care nu a fost creată, nici o fereastră copil, atunci această proprietate este setată la 0. Va trebui să utilizați adesea MdiChildCount împreună cu MDIChildren matrice. Maestrul MDIC pentru copii conține referințe la obiectele TForm din toate ferestrele copilului.
Rețineți că MDIChildCount a primei ferestre copil create este de 1.
Meniul ferestrelor
Delphi oferă majoritatea comenzilor care pot fi plasate în interiorul elementului din meniul Fereastră. Iată un exemplu de apelarea celor trei metode principale pentru comenzile pe care le punem în aplicația noastră:

procedura TfrMain. Cascade1Click # 40; Expeditor: TObject # 41; ;

procedura TfrMain. Tile1Click # 40; Expeditor: TObject # 41; ;

procedura TfrMain. ArrangeAll1Click # 40; Expeditor: TObject # 41; ;







Articole similare

Trimiteți-le prietenilor: