Autore Topic: Quel sempre sofferto .setfocus  (Letto 254 volte)

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Quel sempre sofferto .setfocus
« il: 09 Marzo 2019, 18:49:40 »
Tanto per dire sempre le stesse cose, ancora una volta ho sbattuto la testa sull'impiostazione del focus, dentro una qualsiasi Form.
Questa volta però penso di avere trovato una soluzione, almeno per me. Tuttavia, come da mia abitudine, mi piace pubblicare la trovata, magari può piacere a qualcun altro.
Gambas ha la sua gestione del passaggio del focus, non proprio ortodossa e ciò, secondo me, dipende dal fatto che l'evento Lostfocus viene schedulato dopo che il controllo che possedeva il focus lo ha perso. Ricordo che in V.B. lo stesso evento viene schedulato come ultimo evento della catena, ma sempre prima che il controllo detentore del focus lo perda.
Col focus già abbandonato andare eventualmente a riprenderlo, diventa quanto mai laborioso e difficoltoso. Già nel passato non recente ho fatto studi e prove infinite sull'argomento.
In questi giorni mi sono dovuto cimentare ancora in uno scontro da giostra medioevale con l'aborrito nemico Gambas e, come al solito, non ne sono venuto a capo, così ho pensato:  E se inibissi per tutti i controlli della form a proprietà NoTabFocus ?
E così ho fatto. Ora, posso decidere di volta in volta quale controllo rendere attivo, mentre scorre il codice,e quando abbandonare il focus del controllo correntemente attivo. Vi posso assicurare che ho provato la nuova impostazione  e che funziona perfettamente. Mi sento come un tenore lirico che ha centrato finalmente il suo potente Do di petto.  :2birre:

L'unica cosa che non so se sia possibile realizzare è quella di modificare, nell'ide di Gambas, fra le proprietà di ciascun controllo il default della proprietà "NoTabFocus", in modo da averla sempre "= TRUE", senza perciò doverla andare a modificare io ad ogni nuovo controllo disegnato nella Form, infatti lo standard la mostra sempre "= FALSE".
:ciao: