Sun Microsystems
Termékek
 
Támogatás
 
 

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

Megjegyzés - A VBA Click és Doubleclick eseménye a StarOffice Basic rendszerben nem áll rendelkezésre. A Click esemény helyett használjuk a StarOffice Basic MouseUp eseményét, míg a Doubleclick imitálására módosítsuk az alkalmazás logikáját.


Billentyűzetesemények

A StarOffice Basic rendszerben a következő billentyűzetesemények állnak rendelkezésre:

  • Billentyű megnyomása - a felhasználó megnyom egy billentyűt

  • Billentyű felengedése - a felhasználó felenged egy billentyűt

Mindkét esemény logikai billentyűműveletre vonatkozik, és nem fizikai műveletet jelent. Ha a felhasználó egyetlen karakter beviteléhez több billentyűt nyom meg (például ékezetes karakternél), a StarOffice Basic ekkor is csak egy eseményt fog létrehozni.

A módosító billentyűkkel (például Shift vagy Alt) végrehajtott önálló művelet nem hoz létre független eseményt.

A megnyomott billentyűre vonatkozó adatokat az az eseményobjektum tartalmazza, amelyet a StarOffice Basic szolgáltat az eseménykezelő eljárásának. Ez a következő tulajdonságokat tartalmazza:

  • KeyCode (rövid egész szám) - a megnyomott billentyű kódja (alapértelmezett értékek a com.sun.star.awt.Key tulajdonságnak megfelelően)

  • KeyChar (karakterlánc) - a beírt karakter (a módosító billentyűk figyelembevételével)

A következő példa a KeyCode tulajdonságot használja annak megállapítására, hogy az Enter, a Tab vagy valamelyik másik vezérlőbillentyű lett-e megnyomva. Ilyen billentyű megnyomásakor a programkód a billentyű nevét adja vissza, egyébként a beírt karaktert:

Sub KeyPressed(Event As Object)

   Dim Msg As String

   Select Case Event.KeyCode

   Case com.sun.star.awt.Key.RETURN

      Msg = "Az Enter billentyűt nyomták meg"

   Case com.sun.star.awt.Key.TAB

      Msg = "A Tab billentyűt nyomták meg"

   Case com.sun.star.awt.Key.DELETE

      Msg = "A Delete billentyűt nyomták meg"

   Case com.sun.star.awt.Key.ESCAPE

      Msg = "Az Escape billentyűt nyomták meg"

   Case com.sun.star.awt.Key.DOWN

      Msg = "A Le billentyűt nyomták meg"

   Case com.sun.star.awt.Key.UP

      Msg = "A Fel billentyűt nyomták meg"

   Case com.sun.star.awt.Key.LEFT

      Msg = "A Balra billentyűt nyomták meg"

   Case com.sun.star.awt.Key.RIGHT

      Msg = "A Jobbra billentyűt nyomták meg"

   Case Else

      Msg = "A beírt karakter: " & Event.KeyChar

   End Select

   MsgBox Msg

End Sub

A billentyűzet egyéb állandóira vonatkozó tudnivalók a com.sun.star.awt.Key modulban lévő API-hivatkozásban találhatók.

Fókuszesemények

A fókuszesemények azt jelzik, amikor egy vezérlőelem megkapja vagy elveszíti a fókuszt. Ezeket az eseményeket például annak meghatározására használhatjuk, hogy a felhasználó befejezte-e egy vezérlőelemen a munkát, és így frissíthetők-e a párbeszédablak egyéb elemei. A következő fókuszesemények állnak rendelkezésre:

  • Fókusz megkapása - az elemre kerül a fókusz

  • Fókusz elvesztése - az elemről elkerül a fókusz

A fókuszesemények Event objektumai a következők:

  • FocusFlags (rövid egész szám) - a fókuszváltozás oka (alapértelmezett érték a com.sun.star.awt.FocusChangeReason tulajdonságnak megfelelően)

  • NextFocus (objektum) - a fókuszt megkapó objektum (csak a Fókusz elvesztése eseménynél)

  • Temporary (logikai érték) - a fókusz ideiglenes elvesztése

Vezérlőelemekre jellemző események

Az összes vezérlőelemnél használható korábban ismertetett eseményeken kívül vannak olyan események is, amelyek csak meghatározott elemekre vonatkoznak. A legfontosabbak ezek közül a következők:

  • Elem változása - megváltozik egy vezérlőelem értéke

  • Elem állapotának változása - megváltozik egy vezérlőelem állapota

  • Szöveg változása - megváltozik egy vezérlőelem szövege

  • Kezdeményezéskor - a vezérlőelem indításakor végrehajtható esemény (például egy gomb megnyomása)

Az eseményekkel való munka során ügyeljünk arra, hogy néhány esemény, ilyen például a Kezdeményezéskor, indítása akkor történik, amikor bizonyos vezérlőelemen (például választókapcsolón) az egérrel kattintunk. Annak vizsgálata nem történik meg, hogy valójában változott-e a vezérlőelem állapota. Az ilyen "vakesemények" elkerülése érdekében mentsük a vezérlőelem régi értékét egy globális változóba, és az esemény megtörténte után ellenőrizzük, hogy változott-e az érték.

Az Elem állapotának változása esemény tulajdonságai a következők:

  • Selected (hosszú egész szám) - a jelenleg kijelölt bejegyzés

  • Highlighted (hosszú egész szám) - a jelenleg kiemelt bejegyzés

  • ItemId (hosszú egész szám) - a bejegyzés azonosítója

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