Sun Microsystems
Termékek
 
Támogatás
 
 

Előző Előző     Tartalom     Tárgymutató     Következő Következő
Fejezet 12

Űrlapok

Sok tekintetben a StarOffice-űrlapok struktúrája megegyezik az előző fejezetben ismertetett párbeszédablakokéval. De van egy pár fontos különbség:

  • A párbeszédablakok egy önálló ablakban jelennek meg, amely a dokumentum felett jelenik meg, és amíg be nem zárják, addig csak azzal az ablakkal végezhető művelet. Ezzel szemben az űrlapok közvetlenül a dokumentumban jelennek meg, akárcsak a rajzelemek.

  • A párbeszédablakok szerkesztéséhez a StarOffice Basic fejlesztési környezetében megtalálható párbeszédablak-szerkesztő használható. Az űrlapokat közvetlenül a dokumentumban lehet létrehozni az Űrlapelemek eszköztár használatával.

  • Míg a párbeszédablak-funkciók az összes StarOffice-dokumentumban elérhetők, az űrlapfunkciók teljes hatóköre csak a szöveges és munkafüzet-dokumentumokban érhető el.

  • Az űrlap vezérlőelemeihez külső adatbázistábla csatolható. Ez a funkció nem érhető el a párbeszédablakokban.

  • A párbeszédablakok és űrlapok vezérlőelemei több szempontból is eltérnek egymástól.

Ha az űrlapjainkban saját metódusokat akarunk használni az eseménykezeléshez, akkor olvassuk el a 11., Párbeszédablakok című fejezetet. Az ott ismertetett módszerek azonosak az űrlapok használatával.

Munka az űrlapokkal

A StarOffice űrlapjai tartalmazhatnak szövegmezőket, listapaneleket, választógombokat és számos egyéb vezérlőelemet, amelyeket közvetlenül a szövegbe vagy a munkafüzetbe lehet beszúrni. Az Űrlapelemek eszköztár használatával szerkeszthetők az űrlapok.

Egy StarOffice-űrlap a két mód egyikét használhatja: a vázlatmódot vagy a megjelenítési módot. Vázlatmódban a vezérlőelemek helyzete módosítható, és tulajdonságaik szerkeszthetők a tulajdonságablak használatával.

Az Űrlapelemek eszköztár használatával is lehet váltani a két mód között.

Objektuműrlapok meghatározása

A StarOffice a rajzobjektum-szinten helyezi el az űrlap vezérlőelemeit. A tényleges űrlapobjektum a Forms listán keresztül érhető el, a rajzolási szinten. Az objektumokat a következő módon lehet elérni a szöveges dokumentumokban:

Dim Doc As Object

Dim DrawPage As Object

Dim Form As Object

   

Doc = StarDesktop.CurrentComponent

DrawPage = Doc.DrawPage

Form = DrawPage.Forms.GetByIndex(0)

A GetByIndex metódus visszaadja a 0-s indexszel rendelkező űrlapot.

Ha munkafüzetekkel dolgozunk, egy közbenső lépésre van szükség (a Sheets listára), mert a rajzolási szintek nem közvetlenül a dokumentumban helyezkednek el, hanem az egyes munkalapokban:

Dim Doc As Object

Dim Sheet As Object

Dim DrawPage As Object

Dim Form As Object

   

Doc = StarDesktop.CurrentComponent

Sheet = Doc.Sheets.GetByIndex(0)

DrawPage = Sheet.DrawPage

Form = DrawPage.Forms.GetByIndex(0)

Ahogy a GetByIndex metódus neve is jelzi, a dokumentum több űrlapot is tartalmazhat. Ez például akkor hasznos, ha több adatbázis tartalma is megjelenik egyetlen dokumentumban, vagy ha egy 1:n típusú adatbázis-kapcsolat van megjelenítve az űrlapon. Ebből a célból rendelkezésre áll az alűrlapok létrehozásának lehetősége is.

Az űrlap vezérlőelemeinek három nézőpontja

Az űrlap vezérlőelemeinek három nézőpontja van:

  • Az első a vezérlőelem Modellje. Ez a fő objektum a StarOffice Basic-programozó számára, ha űrlap-vezérlőelemekkel dolgozik.

  • Ennek ellentettje a vezérlőelem Nézete, amely a megjelenítési információkat kezeli.

  • Mivel a program speciális rajzelemként kezeli a dokumentumok űrlap-vezérlőelemeit, létezik egy Alakzatobjektum is, amely a vezérlőelem rajzelem-specifikus tulajdonságait tartalmazza (gyakorlatilag a helyét és méretét).

Az űrlap-vezérlőelemek modelljének elérése

Az űrlap-vezérlőelemek modellje az űrlapobjektum GetByName metódusán keresztül érhető el.

Dim Doc As Object

Dim Form As Object

Dim Ctl As Object

   

Doc = StarDesktop.CurrentComponent

Form = Doc.DrawPage.Forms.GetByIndex(0)

Ctl = Form.getByName("SajátLista")

Ez a példa meghatározza a jelenleg megnyitott szöveges dokumentum első űrlapjában található SajátLista vezérlőelem modelljét.

Ha nem vagyunk benne biztosak, melyik űrlap tartalmazza a vezérlőelemet, akkor a kívánt vezérlőelemet megkereshetjük az űrlapokban:

Dim Doc As Object

Dim Forms As Object

Dim Form As Object

Dim Ctl As Object

Dim I as Integer

   

Doc = StarDesktop.CurrentComponent

Forms = Doc.Drawpage.Forms



For I = 0 To Forms.Count - 1

   Form = Forms.GetbyIndex(I)

   If Form.HasByName("SajátLista") Then

      Ctl = Form.GetbyName("SajátLista")

      Exit Function

   End If

Next I

Előző Előző     Tartalom     Tárgymutató     Következő Következő