onViewerResize - událost objektu PmgRoot
Popis:
Událost je vyvolána při změně velikosti okna obrazu.
Událost lze použít například ke změně pozice a velikosti Pmg objektů v závislosti na aktuální velikosti okna obrazu.
Parametry:
pMe | (Object) Reference na PmgRoot objekt, ve kterém daná událost vzniká. |
pEvent | (Object) Reference na objekt, který popisuje informace o dané události.
pEvent.Dx - ( Long) [ pro čtení] Nová velikost okna obrazu v ose X (v pixelech).
pEvent.Dy - ( Long) [ pro čtení] 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
Pmg objektů aktuální velikosti okna obrazu. Velikost celého obsahu obrazu je vlastně velikost objektu
PmgRoot. Změnu velikosti obrazu lze provést změnou hodnot
Dx a
Dy objektu
PmgRoot.
Tato událost je funkční i ve
Web obrazech.
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 velikost jednotlivých Pmg objektů, pouze velikost obrazu (bez scrollbarů).
Pro změnu pozice a velikosti některých Pmg objektů by bylo nutno měnit i tyto objekty.
JavaScriptVBScriptVyber a zkopíruj do schránky
pMe.Dx = pEvent.Dx;
pMe.Dy = pEvent.Dy;
pMe.Dx = pEvent.Dx
pMe.Dy = pEvent.Dy
Příklad2:
Příklad obsahu události.
Velikost obrazu a pozice některých
Pmg objektů je přizpůsobena aktuální velikosti okna obrazu.
Obraz má svojí minimální velikost, definovanou při vytvoření
v editoru grafiky.
Pokud okno obrazu bude menší, pak se objeví scrollbary.
Pokud ale bude okno obrazu větší, pak se změní velikost a pozice některých
Pmg objektů.
JavaScriptVBScriptVyber a zkopíruj do schránky
var nDx, nDy, oItem;
pMe.Dx = pEvent.Dx > pMe.IniDx ? pEvent.Dx : pMe.IniDx;
pMe.Dy = pEvent.Dy > pMe.IniDy ? pEvent.Dy : pMe.IniDy;
nDx = pMe.Dx - pMe.IniDx;
nDy = pMe.Dy - pMe.IniDy;
// Hlavní centrální Pmg objekt (např. tabulka) (t0) se zvětší/zmenší v příslušném směru:
oItem = pMe.Items("/t0");
oItem.Dx = oItem.IniDx + nDx;
oItem.Dy = oItem.IniDy + nDy;
// Pmg objekty vpravo od tabulky (např. tlačítka) (br0, br1) se posunou vodorovně:
oItem = pMe.Items("/br0");
oItem.X = oItem.IniX + nDx;
oItem = pMe.Items("/br1");
oItem.X = oItem.IniX + nDx;
// Pmg objekty pod tabulkou (např. tlačítka) (bd0, bd1) se posunou svisle:
oItem = pMe.Items("/bd0");
oItem.Y = oItem.IniY + nDy;
oItem = pMe.Items("/bd1");
oItem.Y = oItem.IniY + nDy;
pMe.Refresh();
Dim nDx, nDy, oItem
If pEvent.Dx > pMe.IniDx Then
pMe.Dx = pEvent.Dx
Else
pMe.Dx = pMe.IniDx
End If
If pEvent.Dy > pMe.IniDy Then
pMe.Dy = pEvent.Dy
Else
pMe.Dy = pMe.IniDy
End If
nDx = pMe.Dx - pMe.IniDx
nDy = pMe.Dy - pMe.IniDy
' Hlavní centrální Pmg objekt (např. tabulka) (t0) se zvětší/zmenší v příslušném směru:
Set oItem = pMe.Items("/t0")
oItem.Dx = oItem.IniDx + nDx
oItem.Dy = oItem.IniDy + nDy
' Pmg objekty vpravo od tabulky (např. tlačítka) (br0, br1) se posunou vodorovně:
Set oItem = pMe.Items("/br0")
oItem.X = oItem.IniX + nDx
Set oItem = pMe.Items("/br1")
oItem.X = oItem.IniX + nDx
' Pmg objekty pod tabulkou (např. tlačítka) (bd0, bd1) se posunou svisle:
Set oItem = pMe.Items("/bd0")
oItem.Y = oItem.IniY + nDy
Set oItem = pMe.Items("/bd1")
oItem.Y = oItem.IniY + nDy
pMe.Refresh