Promotic
WikipediaLinkedInYoutubeTwitterFacebook

onViewerResize - událost objektu PmiRoot

Popis:
Událost je vyvolána při změně velikosti okna obrazu (prohlížečky obrazu). Událost lze použít ke změně pozice a velikosti grafických prvů v závislosti na aktuální velikosti okna obrazu.
Parametry:
pMe(Object) Reference na grafický prvek, ve kterém daná událost vzniká.
pEvent(Object) Reference na objekt popisující podrobněji informace o dané události.
pEvent.Dx - (Long)Nová velikost okna obrazu v ose X (v pixelech).
pEvent.Dy - (Long)Nová velikost okna obrazu v ose Y (v pixelech).
Poznámka:
V této události lze přizpůsobit velikost celého obrazu i jednotlivých grafických prvků aktuální velikosti okna obrazu. Velikost celého obsahu obrazu je vlastně velikost grafického prvku PmiRoot. Změnu velikosti obrazu lze provést změnou hodnot Dx a Dy grafického prvku PmiRoot.
 

Tato událost je funkční i pro Web Obrazy.

Příklad1:
Příklad obsahu události. Velikost obrazu je přizpůsobena aktuální velikosti okna obrazu. Tímto se nemění pozice a velikosti jednotlivých grafických prvků, pouze velikost obrazy (bez posuvných lišt). Pro změnu pozic a velikosti některých grafických prvků by bylo nutno měnit i tyto prvky.
Příklad pro jazyk VBScript:
pMe.Dx = pEvent.Dx
pMe.Dy = pEvent.Dy
Příklad pro jazyk JavaScript:
pMe.Dx = pEvent.Dx;
pMe.Dy = pEvent.Dy;
Příklad2:
Příklad obsahu události. Velikost obrazu a pozice některých grafických prvků je přizpůsobena aktuální velikosti okna obrazu. Obraz má svojí minimální velikost, definovanou při vytvoření v editoru obrazu. Pokud bude okno obrazu menší, objeví se skrolovací lišty. Pokud ale bude okno obrazu větší, změní se velikost a pozice některých grafických prvků následujícím způsobem:
- hlavní cetrální prvek (např. tabulka) (t0) - se zvětší/zmenší v příslušném směru
- prvky vpravo od tabulky (např. tlačítka) (br0, br1) - se posunou ve vodorovném směru
- prvky pod tabulkou (např. tlačítka) (bd0, bd1) - se posunou ve svislém směru
Příklad pro jazyk VBScript:
Dim dx, dy, item
If pEvent.Dx > pMe.IniDx Then pMe.Dx = pEvent.Dx Else pMe.Dx = pMe.IniDx
If pEvent.Dy > pMe.IniDy Then pMe.Dy = pEvent.Dy Else pMe.Dy = pMe.IniDy
dx = pMe.Dx - pMe.IniDx
dy = pMe.Dy - pMe.IniDy
Set item = pMe.Items("/tb0")
item.Dx = item.IniDx + dx
item.Dy = item.IniDy + dy
Set item = pMe.Items("/br0")
item.X = item.IniX + dx
Set item = pMe.Items("/br1")
item.X = item.IniX + dx
Set item = pMe.Items("/bd0")
item.Y = item.IniY + dy
Set item = pMe.Items("/bd1")
item.Y = item.IniY + dy
Příklad pro jazyk JavaScript:
pMe.Dx = pEvent.Dx > pMe.IniDx ? pEvent.Dx : pMe.IniDx;
pMe.Dy = pEvent.Dy > pMe.IniDy ? pEvent.Dy : pMe.IniDy;
var dx = pMe.Dx - pMe.IniDx;
var dy = pMe.Dy - pMe.IniDy;
var item = pMe.Items("/tb0");
item.Dx = item.IniDx + dx;
item.Dy = item.IniDy + dy;
item = pMe.Items("/br0");
item.X = item.IniX + dx;
item = pMe.Items("/br1");
item.X = item.IniX + dx;
item = pMe.Items("/bd0");
item.Y = item.IniY + dy;
item = pMe.Items("/bd1");
item.Y = item.IniY + dy;
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice