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;
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();
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
' Główny centralny Pmg obiekt (np. tabela) (t0) zwiększy/zmniejszy się w odpowiednim kierunku:
Set 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:
Set oItem = pMe.Items("/br0")
oItem.X = oItem.IniX + nDx
Set oItem = pMe.Items("/br1")
oItem.X = oItem.IniX + nDx
' Pmg obiekty pod tabelką (np. przyciski) (bd0, bd1) przesuną się pionowo:
Set oItem = pMe.Items("/bd0")
oItem.Y = oItem.IniY + nDy
Set oItem = pMe.Items("/bd1")
oItem.Y = oItem.IniY + nDy
pMe.Refresh