Tulajdonságok
Név és cím
Minden vezérlőelem saját névvel rendelkezik, amely a következő modelltulajdonsággal kérdezhető le:
- Model.Name (karakterlánc)
- a vezérlőelem neve
A következő modelltulajdonsággal megadható a párbeszédablak címsorában megjelenő felirat:
- Model.Title (karakterlánc)
- a párbeszédablak címe (csak párbeszédablakoknál használható)
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 az Apache OpenOffice 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 az Apache OpenOffice 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.
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
Az Apache OpenOffice 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.
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:
Content on this page is licensed under the Public Documentation License (PDL). |