Promotic

onViewerResize - zdarzenie obiektu PmgRoot

Opis:
Zdarzenie zostanie wywołane podczas zmiany rozmiaru okna panela.
Zdarzenie można zastosować na przykład do zmiany pozycji oraz rozmiarów Pmg obiektów w zależności od bieżącego rozmiaru okna panela.
Parametry:
pMe(Object) Odniesienie do PmgRoot obiektu, w którym dane zdarzenie powstaje.
pEvent(Object) Odniesienie do obiektu zawierającego ściślejsze informacje o danym zdarzeniu.
pEvent.Dx - (Long) [do odczytu] Nowy rozmiar okna panela w osi X (w pikselach).
pEvent.Dy - (Long) [do odczytu] Nowy rozmiar okna panela w osi Y (w pikselach).
Notatka:
W tym zdarzeniu można dostosować rozmiar całego panela oraz pojedyńczych Pmg obiektów aktualnego rozmiaru okna panela. Rozmiar całej zawartości panela to właściwie rozmiar obiektu PmgRoot. Zmianą rozmiaru panela można dokonać poprzez zmianę wartości Dx oraz Dy obiektu PmgRoot.

Zdarzenie to działa także w Web panelach.
Przykład1:
Przykład zawartości zdarzenia.
Rozmiar panela jest dostosowany do bieżącego rozmiaru okna panela.
W ten sposób nie zmienia się pozycja oraz rozmiar pojedyńczych Pmg obiektów, ale tylko rozmiar panela (bez pasków przewijania).
Dla zmiany pozycji oraz rozmiarów niektórych Pmg obiektów należałoby zmienić również te obiekty.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

pMe.Dx = pEvent.Dx;
pMe.Dy = pEvent.Dy;
Przykład2:
Przykład zawartości zdarzenia.
Rozmiar panela oraz pozycje niektórych Pmg obiektów są dostosowane do aktualnego rozmiaru okna panela.
Panel posiada swój minimalny rozmiar, określony w edytorze grafiki podczas wytworzenia panela.
Jeżeli okno panela będzie mniejsze, wtedy pojawią się paski przewijania.
Jeżeli ale okno panela będzie większe, wtedy zmieni się rozmiar oraz pozycje niektórych Pmg obiektów.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

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;

// Główny centralny Pmg obiekt (np. tabela) (t0) zwiększy/zmniejszy się w odpowiednim kierunku:
oItem = pMe.Items("/t0");
oItem.Dx = oItem.IniDx + nDx;
oItem.Dy = oItem.IniDy + nDy;

// Pmg obiekty po prawej stronie tabeli (np. przyciski) (br0, br1) przesuną się poziomo:
oItem = pMe.Items("/br0");
oItem.X = oItem.IniX + nDx;
oItem = pMe.Items("/br1");
oItem.X = oItem.IniX + nDx;

// Pmg obiekty pod tabelką (np. przyciski) (bd0, bd1) przesuną się pionowo:
oItem = pMe.Items("/bd0");
oItem.Y = oItem.IniY + nDy;
oItem = pMe.Items("/bd1");
oItem.Y = oItem.IniY + nDy;

pMe.Refresh();

Historia:
Pm8.03.00: Wytworzono
© MICROSYS, spol. s r.o.