In d u progress
Transkrypt
In d u progress
Induprogress – Oficjalny dystrybutor Delta Electronics w Polsce INDUPROGRESS S.C., ul.Płowiecka 109A, lokal 2, 04-965 WARSZAWA e-mail: [email protected], tel:+48 22 465-98-34, fax:+48 22 465-98-35 Animowane, chowane menu dla paneli DOP-B Panele DOP-B posiadają funkcjonalność [Embedded Subscreen], która umożliwia umieszczenie dowolnego [subscreen] na ekranie głównym w określonym miejscu. Ze względu na specyficzne działanie lementu [Embedded Subscreen], ukrywanie jest możliwe jedynie z prawej strony oraz na dole ekranu. Opisywany przykład wykorzystuje funkcjonalność paneli, która pozwala na odczytanie stanu ekranu dotykowego: 1. czy w tej chwili ekran jest dotknięty 2. współrzędna X dotkniętego punktu na ekranie 3. współrzędna Y dotkniętego punktu na ekranie W dołączonym przykładzie pokazane są trzy animowane menu: 1. pasek menu wysuwany przez przeciąganie palcem 2. pasek z automatycznym pokazywaniem i ukrywaniem 3. pasek typu pokaż/ukryj Wszystkie przykłady opierają się o modyfikowanie współrzędnych (x,y) elementów typu [Embedded subscreen]. Realizowane jest to przy pomocy makra cyklicznego, analizującego każde dotknięcie palcem do ekranu panela oraz ruch po dotknięciu. Ze względu na potrzebną moc obliczeniową, załączony przykład można z powodzeniem stosować na panelach DOP-B03, DOP-B04 oraz DOP-B05. Dla paneli 7 calowych i większych zalecane jest używanie jedynie pasków menu typu (3), ewentualnie (2) ale z dużym krokiem animacji. Kod skryptu jest opatrzony dużą ilością komentarzy co powinno ułatwić analizę oraz zastosowanie w swoich projektach. Dla ułatwienia, kod został podzielony tak, aby ułatwić skopiowanie kompletnego kodu obsługi wybranego menu. Widok okna z paskami menu na panelu DOP-B03E211 Strona 1 z 3 Wszelkie prawa zastrzeżone dla Induprogress S.C. Induprogress – Oficjalny dystrybutor Delta Electronics w Polsce INDUPROGRESS S.C., ul.Płowiecka 109A, lokal 2, 04-965 WARSZAWA e-mail: [email protected], tel:+48 22 465-98-34, fax:+48 22 465-98-35 Treść skryptu okna # ********************************* SKRYPT WSPÓLNY *** # wykrycie chwili dotknięcia ekranu if $12900 == 0 if TP_STATUS == 1 # sprawdź co dotknięto $12800 = 1 # zablokuj dalsze sprawdzanie aż do kolejnego dotknięcia $12900 = 1 endif endif # wyłączenie przeciągania obiektów po puszczeniu if TP_STATUS == 0 $12900 = 0 $12901 = 0 endif # ********************************* MENU 1 *** # pomocnicza pozycja menu 1, powiększona o wysokość paska $12903 = $12803 + 70 # pomocnicza szerokość ikony paska menu, powiększona o szerokość ikony paska $12902 = $12802 + 64 if $12800 == 1 # czy kliknięto ikonę pierwszego paska? if TP_Y > $12803 if TP_Y < $12903 if TP_X > $12802 if TP_X < $12902 # włączenie ciągnięcia paska nr 1 $12901 = 1 $12800 = 0 endif endif endif endif endif # ciągnięcie paska nr 1 if $12901 == 1 $12802 = TP_X - 32 (SIGNED) if $12802 < 0 (SIGNED) $12802 = 0 elseif $12802 > 420 (SIGNED) $12802 = 420 endif endif # ********************************* MENU 2 *** # pomocnicza pozycja menu 2, powiększona o wysokość paska $12907 = $12807 + 70 # pomocnicza szerokość ikony paska menu, powiększona o szerokość ikony paska $12906 = $12806 + 64 if $12800 == 1 # czy kliknięto ikonę drugiego paska? if TP_Y > $12807 if TP_Y < $12907 if TP_X > $12806 if TP_X < $12906 # włączenie animacji paska nr 2 $12905 = 1 endif endif endif Strona 2 z 3 Wszelkie prawa zastrzeżone dla Induprogress S.C. Induprogress – Oficjalny dystrybutor Delta Electronics w Polsce INDUPROGRESS S.C., ul.Płowiecka 109A, lokal 2, 04-965 WARSZAWA e-mail: [email protected], tel:+48 22 465-98-34, fax:+48 22 465-98-35 endif endif # ustalenie kierunku animacji dla kliknięcia w ikonkę paska nr 2 if $12800 == 1 if $12905 == 1 if $12806 < 240 # szybkość chowania paska $12808 = 40 (SIGNED) else # szybkość wysuwania paska $12808 = -40 (SIGNED) endif $12905 = 0 $12800 = 0 endif endif # realizacja ruchu paskiem nr 2 if $12808 != 0 (SIGNED) if $12808 < 0 (SIGNED) if $12806 < 20 (SIGNED) $12808 = 0 endif else if $12806 > 400 (SIGNED) $12808 = 0 endif endif $12806 = $12806 + $12808 (SIGNED) delay (10) endif # ********************************* MENU 3 *** $12912 = $12812 + 40 if $12800 == 1 # czy kliknięto tytuł trzeciego paska? if TP_Y > $12812 if TP_Y < $12912 # czy element znajduje się na tej pozycji Y? if $12812 == 232 # położenie Y dl apaska menu 3 (widoczny) $12812 = 92 else # położenie Y dla paska menu 3 (ukryty) $12812 = 232 endif endif endif endif # **** zamknięcie skryptu $12800 = 0 Strona 3 z 3 Wszelkie prawa zastrzeżone dla Induprogress S.C.