Serwis Edukacyjny
Nauczycieli
w I-LO w Tarnowie

obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

Autor artykułu: mgr Jerzy Wałaszek
Uaktualniono: 31.07.2022

©2022 mgr Jerzy Wałaszek
I LO w Tarnowie

Interfejs SDL2:

SDL_HINT_WINRT_HANDLE_BACK_BUTTON

SPIS TREŚCI

Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.

SDL_HINT_WINRT_HANDLE_BACK_BUTTON

Opcja jest zmienną, która zezwala na oznaczanie zdarzeń związanych z naciśnięciem przycisku back w Windows Phone jako obsługiwanych.

Wartości

1 przycisk zostaje oznaczony jako obsługiwany.

Standard

Standardowo opcja ta nie jest ustawiona i aplikacja zostanie zamknięta.

Uwagi

Urządzenia działające pod kontrolą systemu Windows Phone standardowo są wyposażane w przycisk Back. Gdy zostanie on naciśnięty, system operacyjny wyemituje zdarzenia back-button-press, które powinny być obsłużone przez aplikację we właściwy sposób. Jeśli aplikacja jawnie nie oznaczy tych zdarzeń  jako "obsługiwanych" (ang. handled), to system operacyjny wywoła dla nich swoje standardowe zachowanie, które w systemach Windows Phone 8 i 8.1 oznacza zamknięcie aplikacji (i próbę powrotu do poprzedniej aplikacji lub na ekran domowy urządzenia).

Ustawienie opcji SDL_HINT_WINRT_HANDLE_BACK_BUTTON na "1" spowoduje, że SDL oznaczy zdarzenia back-button-press jako obsługiwane, gdy takie zostaną wysłane do aplikacji.

Wewnętrznie Windows Phone wysyła zdarzenia z przycisku Back jako parametry do specjalnych funkcji wywoływanych zwrotnie back-button-press. Aplikacje, które muszą reagować na zdarzenia back-button-press powinny zarejestrować dla nich jedną lub więcej funkcji wywoływanych zwrotnie tuż po uruchomieniu (podczas fazy inicjalizacyjnej aplikacji). Po naciśnięciu przycisku Back system wywoła te funkcje. Jeśli funkcja wywoływana zwrotnie aplikacji jawnie nie oznaczy zdarzenia jako obsłużonego do czasu powrotu z funkcji wywoływanej zwrotnie, lub jeśli aplikacja w ogóle nie zarejestruje żadnej z tych funkcji wywoływanych zwrotnie, system operacyjny potraktuje to zdarzenie jako nieobsłuzone i zastosuje dla niego swoje standardowe działanie (zamknie aplikację).

 W systemie Windows Phone SDL rejestruje swoją własną funkcję wywoływaną zwrotnie dla zdarzenia back-button-press. Funkcja ta wyemituje parę zdarzeń naciśnięcia klawisza (SDL_KEYDOWN i SDL_KEYUP), każde z kodem matrycowym SDL_SCANCODE_AC_BACK, po których sprawdzi zawartość opcji SDL_HINT_WINRT_HANDLE_BACK_BUTTON. Jeśli opcja będzie mieć wartość "1", to własność Handled zdarzenia związanego z przyciskiem Back zostanie ustawiona na "true". Jeśli wartość będzie inna lub nieustawiona, SDL nie zmieni stanu własności Handled zdarzenia (standardowo system operacyjny ustawia tę własność na "false").

Aplikacja SDL może ustawić opcję SDL_HINT_WINRT_HANDLE_BACK_BUTTON zarówno przed jak i w trakcie naciśnięcia przycisku Back.

Aby zostać poinformowaną o naciśnięciu przycisku Back, aplikacja SDL powinna zarejestrować funkcję wywoływaną zwrotnie za pomocą SDL_AddEventWatch(), a następnie nasłuchiwać zdarzeń SDL_KEYDOWN z kodem matrycowym SDL_SCANCODE_AC_BACK. (Również można nasłuchiwać zdarzeń SDL_KEYUP. Oba zdarzenia są równie dobre.) Dowolna wartość ustawiona w SDL_HINT_WINRT_HANDLE_BACK_BUTTON przez taką funkcję wywoływaną zwrotnie będzie zastosowana do bieżącego zdarzeniacurrent back-button-press.

Więcej szczegółów dotyczących zachowania się przycisku Back w aplikacjach Windows Phone można znaleźć na następującej stronie Microsoftu (język angielski): http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj247550(v=vs.105).aspx

Wersja

Dostępne od SDL 2.0.3.
Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2022 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.