Napomena
Za pristup ovoj stranici potrebna je autorizacija. Možete se pokušati prijaviti ili promijeniti direktorije.
Za pristup ovoj stranici potrebna je autorizacija. Možete pokušati promijeniti direktorije.
Odnosi se na: Aplikacije platna
– aplikacije utemeljene na modelu
Pomiče ulazni fokus na određenu kontrolu.
Opis
Funkcija SetFocus omogućuje kontrolu ulaznog fokusa. Tada ta kontrola prihvaća korisnikovo pritiskanje tipki, dopuštajući upisivanje u kontrolu za unos teksta ili korištenje tipke Enter za odabir nekog gumba. Korisnik može koristiti i tipku Tab, dodir, miš ili neki drug pokret da bi promijenio ulazni fokus. Ponašanjem tipke tabulatora upravlja svojstvo TabIndex.
Pomoću funkcije SetFocus postavite fokus kada (svaki s primjerom u nastavku):
- novoizložena je ili novoomogućena neka ulazna kontrola, za vođenje korisnika u daljem radu i bržem unosu podataka.
- obrazac bude potvrđen, za fokusiranje i prikazivanje problematične kontrole unosa radi brzog razrješavanja.
- prikaže se neki zaslon, za fokusiranje prve kontrole unosa sa svojstvom OnVisibleScreen.
Upravljanje s fokusom može se vizualno razlikovati na temelju svojstava FocusedBorderColor i FocusedBorderThickness.
Ograničenja
SetFocus mogu se koristiti samo sa:
Fokus ne možete postaviti na kontrole koje se nalaze unutar kontrole Galerija , kontrole Obrazac za uređivanje ili Komponente. SetFocus može se koristiti s kontrolom na zaslonu koji se može pomicati.
Ne možete postaviti fokus na kontrole koje su unutar kontrole Spremnik.
Fokus možete postaviti samo na kontrole na istom zaslonu kao i formula koja sadrži SetFocus poziv.
Pokušaj postavljanja fokusa na kontrolu koja ima svoje svojstvo DisplayMode postavljeno na Disabled nema učinka. Fokus će ostati tamo gdje je bio prije.
U sustavu Apple iOS zaslonska tipkovnica automatski će se prikazati samo SetFocus ako ga je pokrenula izravna korisnička akcija. Na primjer, pozivanje svojstvo OnSelect nekog gumba prikazat će softversku tipkovnicu, dok pozivanje iz svojstva OnVisible zaslona neće.
Možete koristiti samo SetFocus u formulama ponašanja.
Sintaksa
SetFocus( Kontrola )
- Kontrola – Obavezno. Kontrola kojoj se daje ulazni fokus.
Primjeri
Fokusiranje na novoizloženu ili novoomogućenu kontrolu unosa
Mnoge košarice omogućuju klijentu da adresu dostave koristi kao adresu naplate, smanjujući time potrebu unošenja istih podataka dva puta. Ako želite drugu adresu za naplatu, omogućeni su okviri za unos teksta adrese za naplatu i korisno je uputiti klijenta na ove novoomogućene kontrole za brži unos podataka.
Ovdje se mogu koristiti mnoge formule, ali ona koja pomiče fokus jest na svojstvu OnUncheck kontrole Check box:
SetFocus( BillingName )
Tipka Tab također se može koristiti za brzo premještanje fokusa s jednog polja na drugo. Radi bolje ilustracije, tipka Tab nije korištena u animaciji.
Da biste stvorili ovaj primjer:
- Stvorite novu aplikaciju.
- Dodajte kontrole Label s tekstom „Adresa dostave”, „Ime:”, „Adresa:”, „Adresa naplate”, „Ime:” i „Adresa:” i postavite ih kao što je prikazano u animaciji.
- Dodajte kontrolu Text Input i preimenujte je u ShippingName.
- Dodajte kontrolu Text Input i preimenujte je u ShippingAddress.
- Dodajte kontrolu Check box i preimenujte je u SyncAddresses.
- Postavite svojstvo Text ove kontrole na formulu
"Use Shipping address as Billing address". - Dodajte kontrolu Text Input i preimenujte je u BillingName.
- Postavite svojstvo Default ove kontrole na formulu
ShippingName. - Postavite svojstvo DisplayMode ove kontrole na formulu
If( SyncAddresses.Value, DisplayMode.View, DisplayMode.Edit ). Ovo će automatski omogućiti ili onemogućiti ovu kontrolu na temelju stanja te kontrole potvrdnog okvira. - Dodajte kontrolu Text Input i preimenujte je u BillingAddress.
- Postavite svojstvo Default ove kontrole na formulu
ShippingAddress. - Postavite svojstvo DisplayMode ove kontrole na formulu
If( SyncAddresses.Value, DisplayMode.View, DisplayMode.Edit ). Ovo će automatski omogućiti ili onemogućiti ovu kontrolu na temelju stanja te kontrole potvrdnog okvira. - Postavite svojstvo Default potvrdnog okvira na formulu
true. Ovo će zadati da se za adresu naplate koristi ista vrijednost kao za adresu dostave. - Postavite svojstvo OnCheck potvrdnog okvira na formulu
Reset( BillingName ); Reset( BillingAddress ). Ako korisnik odluči sinkronizirati adrese dostave i naplate, to će izbrisati svaki korisnički unos u poljima Adresa naplate, čime se dopušta svojstvu Default svakog od njih da izvlači vrijednosti iz odgovarajućih polja Adresa dostave. - Postavite svojstvo OnUncheck potvrdnog okvira na formulu
SetFocus( BillingName ). Ako korisnik odabere koristiti neku drugu adresu naplate, to će fokus prebaciti na prvu kontrolu u adresi naplate. Te će kontrole već biti omogućene zbog njihovih svojstava DisplayMode.
Fokusiranje na pitanja provjere valjanosti
Napomena
Premda se čini da je ovaj primjer kontrola obrasca Uređivanje, SetFocus nažalost ta kontrola još nije podržana. Umjesto toga, ovaj primjer koristi pomični zaslon za smještaj ulaznih kontrola.
Pri provjeri valjanosti nekog obrasca može biti korisno ne samo prikazati poruku ako postoji problem, nego i dovesti korisnika u problematično polje. To može biti osobito korisno ako se dotično polje pomakne sa zaslona i ne bude vidljivo.
U ovoj se animaciji tipka za provjeru valjanosti opetovano pritiska sve dok se sva polja ispravno ne popune. Imajte na umu da se pokazivač miša ne pomiče prema dolje s vrha zaslona. Umjesto toga SetFocus funkcija je premjestila ulazni fokus na kontrolu na koju je potrebno obratiti pozornost pomoću ove formule:
If( IsBlank( Name ),
Notify( "Name requires a value", Error ); SetFocus( Name ),
IsBlank( Street1 ),
Notify( "Street Address 1 requires a value", Error ); SetFocus( Street1 ),
IsBlank( Street2 ),
Notify( "Street Address 2 requires a value", Error ); SetFocus( Street2 ),
IsBlank( City ),
Notify( "City requires a value", Error ); SetFocus( City ),
IsBlank( County ),
Notify( "County requires a value", Error ); SetFocus( County ),
IsBlank( StateProvince ),
Notify( "State or Province requires a value", Error ); SetFocus( StateProvince ),
IsBlank( PostalCode ),
Notify( "Postal Code requires a value", Error ); SetFocus( PostalCode ),
IsBlank( Phone ),
Notify( "Contact Phone requires a value", Error ); SetFocus( Phone ),
Notify( "Form is Complete", Success )
)
Da biste stvorili ovaj primjer:
- Stvorite novu, praznu telefonsku aplikaciju.
- U izborniku Umetanje odaberite Novi zaslon, a zatim odaberite Pomični.
- U središnjem dijelu zaslona dodajte kontrole Text input i nazovite ih Name, Street1, Street2, City, County, StateProvince, PostalCode i Phone. Dodajte kontrole Label iznad svakog radi prepoznavanja polja. Možda ćete trebati promijeniti veličinu odjeljka ako nije dovoljno dugo da prihvati sve kontrole.
- Dodajte kvačicu kontrola Icon pri vrhu zaslona, iznad pomičnog odjeljka.
- Postavite svojstvo OnSelect kontrole ikone na formulu
If( IsBlank( ...navedenu iznad.
Fokusiranje tijekom prikaza nekog zaslona
Napomena
Premda se čini da je ovaj primjer kontrola obrasca Uređivanje, SetFocus nažalost ta kontrola još nije podržana. Umjesto toga, ovaj primjer koristi pomični zaslon za smještaj ulaznih kontrola.
Slično kao kod izlaganja neke kontrole unosa, pri prikazivanju zaslona za unos podataka korisno je fokusirati prvu kontrolu unosa radi bržeg unosa podataka.
U ovoj animaciji zaslon za unos podataka s lijeve strane ne koristi SetFocus. Nakon prikazivanja, nijedna kontrola ulaza nema fokus, pa zahtijeva od korisnika da upotrijebi tipku Tab, dodir, miš ili neko drugo sredstvo za fokusiranje na polje Name prije nego što se vrijednost može unijeti u njega.
S desne strane imamo potpuno istu aplikaciju sa svojstvom OnVisible zaslona za unos podataka postavljenim na ovu formulu:
SetFocus( Name )
To automatski postavlja fokus na polje Name. Korisnik može početi odmah tipkati i prelaziti između polja bez prethodne radnje.
Da biste stvorili ovaj primjer:
- Stvorite gore navedenu aplikaciju „Fokusiranje na pitanja provjere valjanosti”.
- Na ovom zaslonu postavite svojstvo OnVisible na formulu
SetFocus( Name ). - Dodajte drugi zaslon.
- Dodajte kontrolu Button.
- Postavite svojstvo OnSelect ove kontrole na formulu
Navigate( Screen1 ). - Prikažite pretpregled aplikacije s ovog zaslona. Pritisnite gumb. Formula funkcije OnVisible procijenit će se i polje Name automatski će biti u fokusu.