Ablakok műveletek
Previous Topic  Next Topic 

Standard ablakok

ImageWindow/Képablak

Cél:

Egy képet jelenít meg egy mozgatható ablakban.

Kategória:

Ablakok

Szintaxis:

ImageWindow "cím"  "bal koordináta" "felső koordináta" "képfájl neve"

cím

a címsor felirata

bal koordináta, felső koordináta

a megjelenő ablak bal felső koordinátája pixelben, az eredeti kiadvány munkaterületének bal felső sarkához képest. Ha -1 értéket adunk meg a bal és jobb koordinátáknál, akkor az ablak a képernyő közepén jelenik meg. A Művelet beszúrása (Insert Action) eszköz használatával elhelyezhetjük az ablakot az Elhelyezés/Méretezés (Placement/Scale) nyomógomb segítségével.

képfájl neve

a kép elérési útvonala.

Példa:

ImageWindow "Map" "-1" "-1" "c:\samples\varosterkep.bmp"


TextWindow/Szövegablak

Cél:

Egy szöveges ASCII, ANSI, RTF fájlt jelenít meg egy mozgatható ablakban.

Kategória:

Ablakok

Szintaxis:

TextWindow "cím" "x koordináta" "y koordináta" "szélesség" "magasság" "fájlnév" "opció"

cím

a címsor felirata

x koordináta, y koordináta

a megjelenő ablak bal felső koordinátája pixelben. Ha -1 értéket adunk meg a bal és jobb koordinátáknál, akkor az ablak a képernyő közepén jelenik meg. A művelet beszúrása (Insert Action) eszköz használatával elhelyezhetjük az ablakot az Elhelyezés/Méretezés (Placement/Scale) nyomógomb segítségével is.

szélesség, magasság

az ablak szélessége, illetve magassága pixelben. Ha -1 értéket adunk meg, az ablak mérete a szövegnek megfelelő nagyságú lesz. (Nem jelenik meg gördítősáv.)

fájlnév

a szöveges fájl neve és elérési útvonala.

opció

Wordwrap: a sorokat az ablak szélességének megfelelően tördeli, így nem jelenik meg a vízszintes gördítősáv.

Példa:

A következő példában egy text fájlt tartalmazó ablakot helyezünk el a képernyő közepén:

TextWindow "Súgó" "-1" "-1" "350" "400" "c:\documents\help.txt" "Wordwrap"


CloseWindow/Ablak bezárása

Cél:

Bezár egy ablakot, amelyet előzőleg az ImageWindow vagy TextWindow művelettel nyitottunk meg.

Kategória:

Ablakok

Szintaxis:

CloseWindow "fájlnév"

fájlnév

a bezárandó ablak fájljának neve. Amennyiben a fájlnevet üresen hagyjuk, akkor az összes nyitott ablakot bezárja.

Példa:

CloseWindow "C:\Samples\Chart1.bmp"



Egyedi ablakok

CustomWindow/Egyedi ablak

Cél:

Egy objektumot vagy az objektumoknak egy csoportját jeleníti meg egy mozgatható ablakban. Ezzel a művelettel pl. egyedi párbeszédpanelt vagy eszközablakot hozhatunk létre.

Kategória:

Ablakok

Szintaxis:

CustomWindow "cím" "bal oldal" "teteje" "objektumnév" "opciók"

cím

a címsorban megjelenő felirat, ha van címsor

bal oldal, teteje

az ablak bal felső sarkának koordinátái pixelben a kiadvány ablakának bal felső sarkához képest. -1 esetén a kiadvány közepén fog megjelenni az ablak.

objektumnév

egy meglévő objektum neve, ami lehet egy konténer vagy egy csoport, amely az ablak elemeit fogja tartalmazni.

opciók

Egy a következők közül:

NoBorder

(Keret nélkül): az ablak címsor és keret nélkül fog megjelenni

DialogBox

(Párbeszédpanel): az ablaknak van címsora, és egy párbeszédpanel stílusú kerete

ToolWindow

(Eszközablak): az ablaknak egy kisebb méretű eszközpaletta stílusú címsora és kerete lesz. (Ezzel az opcióval speciális – pl. egy navigációs – ablakot készíthetünk, amely mindig a kiadványunk fölött van)

Sizeable

The window has a title bar and a border. The window can be resized.

FixedPos

(Fix helyzet): az ablak a kiadványhoz kapcsolódik, és annak helyzete fix. Az ablak megtartja a relatív helyzetét akkor is, amikor a kiadvány ablakát elmozdítják.


Az előzőek közül egyet kombinálhatunk a következők közül eggyel vagy mindkettővel.


Exclusive

(Kizárólagosság): a kiadvány többi része felfüggesztésre kerül addig, amíg ez az ablak nyitva van, így egy olyan párbeszédpanelt építhetünk fel, amelyik információt kíván az olvasótól, mielőtt továbbhaladhatna

NoCloseBtn

(Nincs Bezárás gomb): Az ablak bezárás gombja nem jelenik meg.


Figyelmeztetés: Amikor az Exclusive és a NoCloseBtn opciókat egyszerre használjuk, ügyeljünk arra, hogy az ablakot valamilyen módon bezárjuk, például  a CloseCustomWindow művelettel, különben az olvasó nem tud továbbhaladni a kiadványunkban!

Példa:

Az Egyedi ablakok tartalmazhatnak egyetlen objektumot, egy csoport objektumot vagyKonténerbe helyezett objektumokat. Ezeket az objektumokat helyezzük egy oldalon kívülre vagy egy olyan oldalra, amelyiket nem akarunk megjeleníteni. (Tulajdonképpen bárhová helyezhetjük ezeket az objektumokat, de mivel ezeket az objektumokat nem lehet két helyen egyszerre megjeleníteni, a kiadvány oldaláról el fognak tűnni.) Az objektumoknak nem szükséges azon az oldalon elhelyezkednie, amelyik akkor látható, amikor a CustomWindow művelet végrehajtásra kerül. Amennyiben több objektumot szeretnénk egyszerre megjeleníteni az ablakban, először csoportosítani kell azokat (lásd Elrendezés/Csoportosítás menü), vagy egy jobb megoldás, ha egy Konténer objektumban helyezzük el azokat. Az egyedi ablak belső mérete megegyezik az objektum, illetve az objektumok csoportjának méretével. Konténer használata esetén a kiválasztott Kitöltőszín lesz az ablak háttér színe. A Konténerhez megadhatunk egy Kép objektumot, így mókás hátteret is létre tudunk hozni.


Egy konténer néhány objektummal, amelyek készen állnak a CustomWindow művelet végrehajtására.


Miután elrendeztük az ablakunk számára az objektumokat, adjuk meg a CustomWindow műveletnek a konténer nevét. A következő példa az "Exclusive" opciót használja a "Container1" megjelenítéséhez egy párbeszédablakban:


CustomWindow "Az én párbeszédablakom" "-1" "-1" "Container1"  "DialogBox+Exclusive"


Ugyanaz a konténer egy Egyedi ablakban, amelyiknek párbeszédablak stílusú kerete van.


Az egyedi ablak címsora Párbeszédpanel lesz, a kiadvány közepén fog megjelenni egy Párbeszédpanel stílusú ablakban, bezárásgomb nélkül. Amennyiben a Container1 objektumcsoport tartalmaz egy ablakot bezáró gombot, annak a CloseCustomWindow parancsot kell tartalmaznia:


CloseCustomWindow "Container1"


Egyetlen objektumot is megjeleníthetünk a CustomWindow paranccsal, mint pl. a Media Player vagy a Web Browser. A következő példa egy médialejátszó objektumot jelenít meg egy eszközablak stílusú kerettel:


CustomWindow "Video" "-1" "-1" "MediaPlayer1" "ToolWindow"


A bedolgozó fejlesztők számára hasznos lehet az [Object.WinHandle] globális változó.

További lehetőségek:

Speciális szubrutinokat definiálhatunk, amelyek akkor kerülnek végrehajtásra, amikor egy adott egyedi ablak megnyitásra vagy bezárásra kerül. Ehhez egyszerűen készítsünk két szubrutint – az egyiket hívjuk ObjectName_OnOpen-nek, a másikat pedig ObjectName_OnClose-nak. Az ObjectName helyett használjuk annak az objektumnak a nevét, amikor az ablakot megnyitjuk.  Például a fenti példához tartozó szubrutinok a következőképpen fognak kinézni:


Container1_OnOpen

         AlertBox “Helló!” “Az ablak kinyílt!”

Return

:Container1_OnClose

         AlertBox “Helló!” “Az ablak bezárult!”

Return


Szubrutinok készítéséhez további információt a Kiadvány tulajdonságai Műveletek résznél találhatunk.


Ha méretezhető ablakot készítünk, akkor lehetőségünk van arra, hogy megadjunk egy minimális és maximális értéket, amelyeknél kisebb, illetve nagyobb nem lehet az ablak. A következő változókat az ablak megnyitása előtt kell elhelyezni:


Minimális szélesség: [ObjectName_MinWidth]

Minimális magasság: [ObjectName_MinHeight]

Maximális szélesség: [ObjectName_MaxWidth]

Maximális magasság: [ObjectName_MaxHeight]


Az ObjectName-et cseréljük ki az ablak megnyitásához használt objektumnévvel.

Egy megnyitott egyedi ablak jelenlegi helyzetét a GetObjectInfo művelettel tudhatjuk meg, ha megadjuk annak az objektumnak a nevét, ami megnyitja az ablakot:


GetObjectInfo "Container1" "Left" "[WinX]"
GetObjectInfo "Container1" "Top" "[WinY]"


Ez megadja az ablak bal felső koordinátáit a kiadvány bal felső sakrához képest.


CloseCustomWindow/Egyedi ablak bezárása

Cél:

Bezárja a CustomWindow művelettel előzőleg megnyitott ablakot.

Kategória:

Ablakok

Szintaxis:

CloseCustomWindow "objektumnév"

objektumnév

a CustomWindow művelettel megnyitott objektum neve. Ha üresen hagyjuk, akkor az összes ilyen típusú ablakot bezárja.

Példa:

CloseCustomWindow "Kontener1"