Alkalmazások fejlesztése Delphi MDI

Delphi. Szoftver és interfész. MDI alkalmazás

Fejlesztése MDI alkalmazások Delphi

Alkalmazások fejlesztése Delphi MDI

Minden MDI alkalmazás három fő részből áll:

  • Egy (és csak egy) szülő formában MDI,
  • Egy vagy több (általában több) gyermeket képez MDI,
  • és MDI főmenübe.

Mint már említettük, a tervezet MDI MDI alkalmazások, csak egy tartály lehet jelen (szülő alak), és ez legyen a kiindulási formában.







Létrehozásához a fő ablak MDI alkalmazás, kövesse az alábbi lépéseket:

Fuss Delphi és válasszuk a Fájl | Új alkalmazás. Delphi létrehoz egy új projektet egy formája az úgynevezett form1 (alapértelmezett). A Név tulajdonság, rendeljen az űrlap nevét frMain. Telepítse FormStyle ingatlan fsMDIform. Mentse el a projekt (projekt a választott nevet, például prMDIExample) együtt uMain.pas az újonnan létrehozott könyvtárba. Ahogy te is észrevetted, hogy hozzon létre egy alapvető formája az MDI, hoztunk létre FormStyle ingatlan fsMDIform. Minden alkalmazás, csak egyik formája lehet egy tulajdonság fsMDIform.

Minden MDI szülőablak kell legalább egy gyermek formájában. Gyermek képez MDI - a legegyszerűbb formája, azzal az eltéréssel, hogy ők egy látható része a korlátozott mérete az eredeti ablak. Csak amikor minimalizálja az ablakot, akkor helyezzük nem a tálcán, és továbbra is a szülő ablak (csak a szülő ablakot a tálcára kerül).

Most hozzunk létre további formái, hanem a gyermeket. Egyszerűen válassza ki a Fájl | New Form. egy új formáját egy tárgy nevű form1 (alap) jön létre. Segítségével Object Inspector, módosítsa a Név tulajdonságot formájában form1 a frChild és FormStyle ingatlan fsMDIChild. Tartsa ezt az űrlapot a hozzá tartozó fájl uchild.pas. Felhívjuk figyelmét, hogy segítségével az ingatlan, tudjuk átalakítani meglévő formában az MDI gyermek formában.

Az alkalmazás állhat több MDI gyermek formája azonos vagy különböző típusú.

Csak szeretnénk felhívni a figyelmet, hogy az MDI alkalmazás tartalmazhat, és a leggyakoribb formája, de ellentétben leányvállalata, azonnal nem jelennek meg, mint a normál modális párbeszédpanelek (például a mezőben, vagy a fájl ablakban).

Estevstvenno, hogy mind a szülő és a gyermek ablakok lehet helyezni minden olyan ellenőrzés, azonban már régóta hagyomány, hogy a szülő forma az állapotsor (status bar) és az eszköztár (eszköztár), míg a gyermek formák találhatók az egyéb ellenőrzések, például rácsok, képek, beviteli mezők, és így tovább. d.







Most proizvedom néhány csípés a projekthez. Válassza Project | Options, nyissa meg a projekt beállításai párbeszédablak (Project Options). A bal oldali panelen válassza frChild (Auto-űrlapok létrehozásához ( „Auto-create formák”)), és mozgassa a jobb oldali panelen (elérhető formái (A rendelkezésre álló formák)). A lista a jobb oldali ablaktábla tartalmazza a forma által használt alkalmazás, de nem hoz létre automatikusan. Az MDI alkalmazás alapértelmezés szerint minden gyermek űrlapok automatikusan generált, és megjelenik a szülő formában.

Létrehozása és megjelenítése

Mint már említettük, a beállítás nem teszi lehetővé, hogy automatikusan létrehoz gyermek ablakok, ezért meg kell adni egy kódot, hogy fog a forma objektum létrehozása frChild. CreateChildForm következő funkció belül kell elhelyezni, hogy a bázis formában (MDI szülő) (amellett, hogy a cím a felület privát):

Ez a kód létrehoz egy gyerek formában childName fejlécet. Ne felejtsük el, hogy ez a kód a „használ uchild”.

A szoros, nem csökkentheti!

Zárás egy gyermek ablak az MDI alkalmazás egyszerűen minimalizálja azt a kliens területe a szülő ablakot. Ezért biztosítanunk kell OnClose eljárást és állítsa az Action paraméter caFree:

Megjegyzendő, hogy ha a forma egyik leányvállalata az MDI formájában, és annak tulajdonság értéke BorderIcons biMinimize (ez az alapértelmezett), majd ismét az alapértelmezett beállítás Action caMinimize. Ha az MDI gyermek forma nem ezeket a beállításokat, az alapértelmezett beállítás Action Canone, ami azt jelenti, hogy nem történik semmi, amikor bezárja az űrlapot.

MDI szülő menü

Minden MDI alkalmazás kell egy főmenüt (ha mást nem), ablak igazítás opciót. Ahogy arról korábban költözött a gyermek formájában automatikusan generált (Auto-create) a rendelkezésre álló (Szabad piac) formában, szükségünk lesz egy kód, amely (menüpont) hoz létre gyermek formákat.

Tehát mozogni TMainMenu alkatrész frMain (MDI szülő), és vigye el a következő formában:

Ahhoz, hogy hozzon létre egy „új gyerek” menüpont használható alkalmazásunk gyermek ablakot. A második menü (Window) fogják használni, hogy összehangolják a gyermek ablakok a szülő ablak formájában.

Létrehozása és megjelenítése

Összefoglalva, meg kell, hogy a kezelő a menüpont „Új gyerek”. Ha rákattint a Fájl menü Punk | Új Child a mi alkalmazás, lesz az úgynevezett eljárás NewChild1Click ami viszont okoz CreateChildForm eljárások (a fentiekben megadva), hogy hozzon létre a (következő) példány formájában frChild.

Az újonnan létrehozott gyermek formában lesz egy címet formájában „Child x”, ahol x jelenti a számát gyermek formák belsejében MDI formák alábbiakban leírtak szerint.

Amikor dolgozik egy alkalmazás, amely több dokumentum felület, akkor mindig van egy eljárás, amely minden gyermek ablakok.

Meg kell végezni ellenőrzi a jelenlétét a nem mentett adatok minden gyermek ablakot. A probléma megoldására a legjobb, ha használni OnCloseQuery eseménykezelő.

Tulajdonságok MdiChildCount és MDIChildren

MdiChildCount csak olvasható tulajdonság, amely számos jól bevált gyermek ablakok. Ha nem jön létre, nincs gyermek ablakot, akkor ez a tulajdonság értéke 0. Azt kell gyakran MdiChildCount együtt MDIChildren tömb. MDIChildren tömb utalásokat tartalmaz tárgyak TForm minden gyermek ablakok.

Vegye figyelembe, hogy MDIChildCount először létre gyermek ablakot 1.

Delphi biztosítja a legtöbb parancsokat lehet helyezni az Ablak menü. Az alábbiakban egy példát hívja a három fő módszer parancsok, hogy mi tesz a mi alkalmazás: