Daugelio Dokument ų Sąsaja (angl. Multiple Document Interface)

Preview:

DESCRIPTION

Daugelio Dokument ų Sąsaja (angl. Multiple Document Interface). Tomas Kasnauskas. IT1. Kas tai?. Tai grafinė vartotojo sąsaja (angl. GUI), kurioje viename tėviniame lange yra keletas langų. - PowerPoint PPT Presentation

Citation preview

Daugelio Dokumentų Sąsaja(angl. Multiple Document Interface)

Tomas Kasnauskas. IT1

Kas tai?

• Tai grafinė vartotojo sąsaja (angl. GUI), kurioje viename tėviniame lange yra keletas langų.

• Dažnai tokios sistemos turi galimybę vaikiniuose languose atidaryti vaikinius langus, kas padaro sistemą hierarchiškai sudėtingą.

Palyginimas su VDS.(Vieno Dokumento Sąsaja(angl. Single Document Interface)

• Įmonės, kuriančios programinę įrangą daug svarstė apie abi sąsajas, ir dažniausiai naudojo maišytą tipą, kai naudojama ir VDS ir DDS.

• Pagrindinis skirtumas tas, kad DDS naudojama kai reikia dirbti su nedaug programų vienu metu, kitu atveju tai sukuria papildomą painiavą ir kompleksiją.

Pranašumai

• Dalinasi ta pačia meniu juosta• Lengva langų manipuliacija• ‘Tile/Cascade window’ funkcija• Atskiras langų valdymo konfiguravimas, jei OS jo

trūksta.

Trūkumai

• Painu naudoti, kai naudojami keli monitoriai.• Sudėtinga dirbti su daug programų iš karto.• Meniu juosta gali keistis priklausomai nuo lango.• Gali skirtis langų valdymas nuo VDS.• Išmoktas DDS naudojimas negali būti pritaikytas kitur.

Praktika

• Prieš kuriant DDS langą, pirma turime pakeisti ‘Default message’, kuri kreipiasi į Windows procedūrą. Kadangi kuriame ‘Frame window’, kuriame bus mūsų DDS pagrindinis langas, pakeičiame DefWindowsProc() DefFrameProc():

• Toliau, sukuriame patį DDS langą kaip vaikinį langą mūsų Frame window. Tą darome sekcijoje WM_CREATE kaip ir įprastai.

• DDS vaikiniai langai nėra kuriami tiesiogiai. Tam mes siunčiame žinutę į WM_MDICREATE. Kartu pasakome kokio lango norime, nustatydami MDICREATESTRUCT narius:

• Taip pat galime nustatyti keletą automatinio rikiavimo procesų mūsų langams. Kadangi DDS tą palaiko, nėra sunku tą padaryti. Pridedame porą case’ų:

Mūsų lango pagrindinės sekcijos:

Rezultatas:

Klausimai?