Promotic

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;
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();

Historie:
Pm8.03.00: Vytvořeno
© MICROSYS, spol. s r.o.