[ flighter_022 @ 29.12.2005. 15:12 ] @
Koristim istu formu za unos i za prikaz podataka. Kada je forma u modu za unos podataka, sva polja su ENABLED=TRUE, a kada je u pitanju samo prikaz podataka, onda je ENABLED=FALSE. Ista funkcionalnost se postize i ako se umesto ENABLED koristi parametar READONLY. Medjutim, tu nastaje problem. Kada su polja ENABLED=TRUE, imaju normalan izgled (recimo crna slova na beloj pozadini). Ali kada se postavi ENABLED=FALSE, ta polja dobijaju sistemski definisane boje za to stanje (tamno siva slova na svelo sivoj pozadini) gde je citljivost znatno losija. Kako ovo moze da se prevazidje, tj. da polja vizuelno izgledaju isto, ali da ne bude moguce menjati sadrzaj?

ne pomaze ni upotreba READONLY parametra, kao ni stavljanje svih polja na neki container (panel ili frame, na primer), jer kada se za taj container postavi ENABLED=FALSE, automatski se promeni i izgled svih polja u njemu.

Kako resiti ovo?
[ Fedya @ 30.12.2005. 06:41 ] @
Postavis ReadOnly na true i izaberes belu boju za Backcolor i crnu za Fore Color.

[Ovu poruku je menjao Fedya dana 30.12.2005. u 07:43 GMT+1]
[ flighter_022 @ 30.12.2005. 11:58 ] @
Ovo ne resava problem ni malo.

Kada je enabled=false, onda podesavanje backcolor i forecolor nema nikakvog uticaja na izgled kontrole vec se preuzimaju sistemski definisane boje za to stanje.

Kada se umesto ENABLED parametra koristi READONLY (=true), onda podesavanje ima smisla. Medjutim, tu kontrola i dalje moze da preuzme fokus, te da "okine" control.gotfocus dogadjaj, sto nije slucaj kada je enabled=false
[ jablan @ 30.12.2005. 12:11 ] @
A zašto je problem što kontrole primaju fokus? Accessibility pravila nalažu da korisnik može i tastaturom da naviguje kroz formu (npr. da kopira vrednosti nekog polja u clipboard). Ako u gotfocus handleru imaš neki kood koji ne bi trebalo da se izvršava u "view" modu, uokviri ga if-om.
[ flighter_022 @ 30.12.2005. 15:11 ] @
Nije toliko problem primanje fokusa, tacno je da to mogu da regulisem kako si rekao. Problem je sto nemam punu kontrolu nad izgledom polja koju sam imao u prilicno bajatom Visual basic 6 :)

[ flighter_022 @ 30.12.2005. 15:13 ] @
Nije toliko problem primanje fokusa, tacno je da to mogu da regulisem kako si rekao. Problem je sto nemam punu kontrolu nad izgledom polja koju sam imao u prilicno bajatom Visual basic 6 :)

Ne samo da polje moze da primi fokus, vec se tu pojavi i kurzor (istina, ne mozes nista da menjas u polju, ali unosi zabunu posebno kod neiskusnih korisnika programa)...

Ne moram, nadam se, da koristim jedan set kontrola za prikaz podataka, a drugi za unos-editovanje pa da ih smenjujem na neki nacin...
[ Fedya @ 30.12.2005. 22:28 ] @
Da li si se zapitao zasto je uvedeno to Read-Only?

Polje po nekim nepisanim pravilima mora da moze da primi fokus jer neki korisnici ne vide dobro pa koriste Accessibility alate za citanje teksta. Narator nikada nece procitati tekst u polju koje je disabled i time ces ovakve korisnike ostaviti bez mogucnosti da saznaju sadrzaj tog polja.

Citat:
flighter_022: NNe samo da polje moze da primi fokus, vec se tu pojavi i kurzor (istina, ne mozes nista da menjas u polju, ali unosi zabunu posebno kod neiskusnih korisnika programa)...


Pa, mene bi pre zbunilo kada bi kontrola izgledala isto kao svaka druga a ne bi mogla da primi fokus. Ako vec zabranjujes dobijanje fokusa naznaci to nekako (mislis da su ljudi u M$-u bezveze izbacili mogucnost podesavanja izgleda disabled kontrolama?).
[ flighter_022 @ 31.12.2005. 11:01 ] @
Naznaceno je drugim pokazateljima na formi da li se radi o edit ili preview modu (uz ostale zezalice), te bi mogucnost da se kurzor postavi u neko polje iako pod datim okolnostima tu NE MOZE da se pise nista izazvalo dodatnu zabunu. Zatim, neki tipovi polja (checkbox i combo) nemaju readonly... znaci njima ipak moram postaviti disabled=true... i ode doslednost do vraga :(