C# - VMLFrame objektum használata

VML felhasználása weboldalakon 5. rész

forráskód letöltése
A VML lehetőségeit boncolgatva újabb objektumot mutatunk be a sorozatnak ebben a számában. A VML nyelv is támogatja az úgynevezett keretek (FRAME-ek) létrehozását egy speciális tag segítségével. Ennek használatával van lehetőségünk egy tetszőleges objektumot megjeleníteni a keretben. A cikk második szakaszában megismerhetjük annak módját, hogyan lehet VML objektumokat dinamikusan, futási időben létrehozni.
Mellékelt példa megnyitása előtt szükséges egy VML05 nevű virtuális könyvtár létrehozása, mely a példa könyvtárára mutat. Ehhez futtassa le a mellékelt CreateVD.js parancsállományt.
VMLFrame objektum
A VMLFrame objektumban megjelenített forrásobjektumot elhelyezhetjük azonos Weblapon, de alkalmazhatjuk azt a módszert is, amikor egy külső állományban található meg a forrás. A WebForm1.aspx lapon az előbbi megoldásra mutatunk egy példát, vagyis hogy a VMLFrame objektum forrásául szolgáló ovális objektum is a WebForm1 lapon található.
A VMLFrame deklarációja a következő:
<v:vmlframe id="frame01" style="..." origin="7.5pt,200pt" size="100pt,50pt" src="#o">
</v:vmlframe>
A VMLFrame objektum rendelkezik néhány attribútummal, melyekkel meg lehet adni a betöltendő adatforrásra vonatkozó információkat. Lássuk ezeket sorban:
  • ID: a FRAME egyedi azonosítója
  • Size: a keret mérete
  • Style: a keret stílusa
  • Src: a FRAME által megjelenített objektum forrása
A keretben megjelenített objektum jelen esetben egy <v:oval> objektum, melynek ID-je „o”. A keretben a „#o” kulcsszóval hivatkozhatunk a forrásra.
<v:oval id="o" style="..." coordsize="21600,21600" fillcolor="yellow" strokecolor="red" strokeweight="2pt">
</v:oval>
A két gomb segítségével eltüntethetjük a keretben megjelenített objektumot, majd megjeleníthetjük azt. A megjelenítést a következő sorral tesszük:
o.style.display='block';
Az objektum elrejtéséhez a display property értékét NONE-ra kell állítanunk.
o.style.display='none';
VML objektumok dinamikus létrehozása
A VML tagokat dinamikusan, futási időben is létrehozhatjuk valamilyen script nyelv felhasználásával. A példában a JavaScript nyelvet választottuk. Ennek érdekében a WebForm2.aspx lapon elhelyeztünk egy DIV elemet, hogy legyen minek a gyermekét képeznünk a script-ben.
<DIV id="MyDiv"></DIV>
Ezt követően létrehozzuk az objektumot a document objektum createElement metódusa segítségével. Paraméterként az objektum deklarációját kell megadnunk.
myrect = document.createElement("v:rect");
A létrehozott objektumot hozzáfűzzük a DIV kontrol gyermekeinek listájához (jelenleg ez az objektum lesz az egyetlen gyermek).
r = MyDiv.appendChild(myrect);
A visszatérési érték egy újabb objektum, melynek tulajdonságait beállítva specifikálható az objektum összes tulajdonsága.
r.style.position = "absolute";
...
r.fillcolor = "yellow";
A művelet eredménye egy sárga kitöltő-színnel rendelkező téglalap.

VML felhasználása weboldalakon cikksorozat