Sun Microsystems
Termékek
 
Támogatás
 
 

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

Helyzet és méret

A vezérlőelemek helyzete és mérete a modellobjektum következő tulajdonságaival kérdezhető le:

  • Model.Height (hosszú egész szám) - a vezérlőelem magassága (ma egységben)

  • Model.Width (hosszú egész szám) - a vezérlőelem szélessége (ma egységben)

  • Model.PositionX (hosszú egész szám) - a vezérlőelem X pozíciója a párbeszédablak bal oldali szegélyétől mérve (ma egységben)

  • Model.PositionY (hosszú egész szám) - a vezérlőelem Y pozíciója a párbeszédablak felső szegélyétől mérve (ma egységben)

A párbeszédablakok platformfüggetlen megjelenítése érdekében a StarOffice a Map AppFont (ma) belső mértékegységet használja a párbeszédablakon belüli elhelyezkedés és méret megadásához. Az ma egység definíció szerint az operációs rendszerben megadott rendszerbetűtípusból vett karakterek átlagos magasságának nyolcada, illetve szélességének negyede. Az ma egység használatával a StarOffice biztosítania tudja, hogy a párbeszédablakok közel azonos módon jelenjenek meg a különböző rendszereken és a különböző rendszerbeállításoknál.

Ha a futtatás idejére módosítani szeretnénk a vezérlőelemek méretét vagy helyzetét, határozzuk meg a párbeszédablak teljes méretét, és a megfelelő részarányok szerint állítsuk be a vezérlőelemek értékeit.


Megjegyzés - A Map AppFont (ma) a twip mértékegységet helyettesíti a hatékonyabb platformfüggetlenség elérése érdekében.


Fókusz és bejárási sorrend

Bármelyik párbeszédablakban a Tab billentyűvel végigjárhatók a vezérlőelemek. Ezzel kapcsolatban a következő tulajdonságok állnak rendelkezésre:

  • Model.Enabled (logikai érték) - a vezérlőelem aktiválása

  • Model.Tabstop (logikai érték) - lehetővé teszi a vezérlőelem elérését a Tab billentyűvel

  • Model.TabIndex (hosszú egész szám) - a Tab billentyűvel történő bejárási sorrendben elfoglalt hely

Végül a vezérlőelemeknél használható a getFocus metódus is, amellyel adott vezérlőelemre helyezhető a fókusz:

  • getFocus - a vezérlőelemre kerül a fókusz (csak párbeszédablakoknál)

Többlapos párbeszédablakok

A StarOffice párbeszédablakai több panellapból állhatnak. A párbeszédablak Step tulajdonsága az aktuális panellapot definiálja, míg a vezérlőelem Step tulajdonsága azt a panellapot adja meg, amelyen a vezérlőelemnek meg kell jelennie.

A Step tulajdonság 0 értéke különleges eset. Ha egy párbeszédablaknál állítunk be nulla értéket, az összes vezérlőelem látható lesz, függetlenül azok Step értékétől. Hasonló módon, ha egy vezérlőelemnél adunk meg nulla értéket, az elem a párbeszédablak összes panellapján meg fog jelenni.

Többlapos párbeszédablak tervező módban.

Az előző példában az elemek összes lapon való megjelenítéséhez a Step tulajdonságnál 0 érték adható meg az elválasztóvonalnál, valamint a Mégse, az Előző, a Következő és a Kész gombnál. Természetesen ezek az elemek csak adott panellaphoz (például az elsőhöz) is rendelhetők.

A következő programkód azt mutatja be, hogy a Következő és az Előző gomb eseménykezelőjében hogyan növelhető és csökkenthető a Step értéke, és ez hogyan változtatja meg a gombok állapotát.

Sub cmdNext_Initiated

   Dim cmdNext As Object

   Dim cmdPrev As Object

   

   cmdPrev = Dlg.getControl("cmdPrev")

   cmdNext = Dlg.getControl("cmdNext")

   

   cmdPrev.Model.Enabled = Not cmdPrev.Model.Enabled

   cmdNext.Model.Enabled = False

   

   Dlg.Model.Step = Dlg.Model.Step + 1

End Sub



Sub cmdPrev_Initiated

   Dim cmdNext As Object

   Dim cmdPrev As Object

   

   cmdPrev = Dlg.getControl("cmdPrev")

   cmdNext = Dlg.getControl("cmdNext")

   

   cmdPrev.Model.Enabled = False

   cmdNext.Model.Enabled = True

   

   Dlg.Model.Step = Dlg.Model.Step - 1

End Sub

A példa végrehajtásához egy megnyitott párbeszédablakra hivatkozó globális Dlg változóra is szükség van. A párbeszédablak megjelenítése a következők szerint változik:

1. panellap:

Többlapos párbeszédablak 1. lapja.

2. panellap:

Többlapos párbeszédablak 2. lapja.
Előző Előző     Tartalom     Tárgymutató     Következő Következő