Autore Topic: [Risolto] Approfondimenti sui controlli keypress e lostfocus - Seconda parte  (Letto 1239 volte)

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 215
  • Non è mai troppo tardi!
    • Mostra profilo
Ciao a tutti,

Avevi ragione Gianluigi ed a dire il vero avrei dovuto arrivarci io, evidentemente la ruggine sulla programmazione è veramente tanta; comunque inserendo una variabile (che io chiamo switch, sw......) boolean il primo problema sembra risolto, ma ora ho un secondo problema un po più difficile da comprendere, il codice interessato lo troverete al seguente indirizzo:

https://paste.c-net.org/AdamsKappa

Come potete vedere il codice compie alcuni lavori e poi entra nel Select Case ove prende in considerazione i codici tasto 9 e 13 e al termine setta il fuoco sul box TextScontrNum.
Ponendoci nel caso in cui il tipo bolla è 2 io mi aspetterei che sia in caso di termine con il tasto Enter che con il tasto Tab il focus si dovrebbe attivare al box sopra descritto, mentre in caso di pressione del Tab ciò non avviene ed il focus si va a settare nel box di inserimento del prezzo.

All'inizio avevo pensato di aver sbagliato il codice, ma dopo le varie prove passo passo con gli opportuni print inseriti ho notato che il percorso del programma è giusto e che nel caso di pressione del tasto Tab con tipo bolla 2 l'elaborazione transita per l'istruzione TextScontrNum.SetFocus, ma ciò non avviene.

Mi sto chiedendo se c'è qualche vincolo che non conosco in caso di pressione del fatidico Tab o qualche preset che va modificato, ma non saprei dove.

Voi che ne dite?

Ringrazio

Bye by AFo
« Ultima modifica: 25 Marzo 2020, 15:02:11 da Franco_da_vc »
Bye by Afo

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.240
  • Tonno verde
    • Mostra profilo
Re:Approfondimenti sui controlli keypress e lostfocus - Seconda parte
« Risposta #1 il: 15 Marzo 2020, 14:58:53 »
Tieni conto che in una finestra Tab serve per passare da un controllo ad un altro.
Prova inserendo un:
Codice: [Seleziona]
Public Sub TextDescrNorm_KeyPress()
  Dim Testo As String = "" ' <--- string in partenza è già impostata su null
 
  Stop Event ' <--- Prova a inserire questo che dovrebbe fermare il focus prestabilito dalla form
 
  CodeTastoIn = Asc(Key.Text)

Citazione
MAI utilizzare valori numerici o la funzione Asc per testare un valore alfabetico, piuttosto utilizzare il valore della chiave di accesso.
Ti rimando a questa pagina della wiki:
http://gambaswiki.org/wiki/comp/gb.qt4/key?l=it
 :ciao:
« Ultima modifica: 15 Marzo 2020, 15:08:15 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.240
  • Tonno verde
    • Mostra profilo
Re:Approfondimenti sui controlli keypress e lostfocus - Seconda parte
« Risposta #2 il: 15 Marzo 2020, 16:48:10 »
Al posto del solo Stop Event conviene scrivere:
Codice: [Seleziona]
If Key.Code = Key.Tab Then Stop Event

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 959
    • Mostra profilo
Re:Approfondimenti sui controlli keypress e lostfocus - Seconda parte
« Risposta #3 il: 18 Marzo 2020, 23:49:32 »
Nella Wiki c'è scritto:

Codice: [Seleziona]
Key.Meta (gb.qt4)

Static Property Read Meta As Boolean

Restituisce se è stato premuto il tasto META.

Che tasto è META che non l'ho mai sentito nominare? ??? ??? ???
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.730
  • Ne mors quidem nos iunget
    • Mostra profilo
« Ultima modifica: 19 Marzo 2020, 20:18:30 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.240
  • Tonno verde
    • Mostra profilo
Re:Approfondimenti sui controlli keypress e lostfocus - Seconda parte
« Risposta #5 il: 19 Marzo 2020, 10:24:35 »
Non ho ancora capito perché se il collegamento finisce con le parentesi non mi funziona  :-\
Succede anche a voi?

Comunque il tasto meta nelle normali tastiere qwerty è il tasto con l'icona di windows
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.725
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Approfondimenti sui controlli keypress e lostfocus - Seconda parte
« Risposta #6 il: 19 Marzo 2020, 14:14:52 »
Citazione
Non ho ancora capito perché se il collegamento finisce con le parentesi non mi funziona  :-\
Succede anche a voi?
Sì, è dovuto al fatto che l'ultima parentesi (parentesi chiusa) non fa parte del link, come invece dovrebbe essere.
Quindi il browser cerca https://it.wikipedia.org/wiki/Meta_(tasto senza la parentesi, voce del wiki che non esiste.
Dopo aver cliccato sul link, basta aggiungere la parentesi dell'indirizzo del browser per arrivare alla pagine giusta che è:
https://it.wikipedia.org/wiki/Meta_(tasto)
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.240
  • Tonno verde
    • Mostra profilo
Re:Approfondimenti sui controlli keypress e lostfocus - Seconda parte
« Risposta #7 il: 19 Marzo 2020, 15:13:16 »

Sì, è dovuto al fatto che l'ultima parentesi (parentesi chiusa) non fa parte del link, come invece dovrebbe essere.
Quindi il browser cerca https://it.wikipedia.org/wiki/Meta_(tasto senza la parentesi, voce del wiki che non esiste.
Dopo aver cliccato sul link, basta aggiungere la parentesi dell'indirizzo del browser per arrivare alla pagine giusta che è:
https://it.wikipedia.org/wiki/Meta_(tasto)
 :ciao:

Si giusto  :ok:
Infatti, vedendo che il link non funzionava, avevo già usato il tuo trucco in passato.

Quello che intendevo dire è che se io sono su una pagina il cui indirizzo finisce con una parentesi e faccio seleziona tutto, copia e incolla mi incolla un link non funzionante perché mancante dell'ultima parentesi (come giustamente hai spiegato).

Vedo che succede anche a te, come a me e sembra pure a vuott. Potrebbe essere un bug di Firefox?
Forse c'è un'altra spiegazione...  :-\

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.725
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Approfondimenti sui controlli keypress e lostfocus - Seconda parte
« Risposta #8 il: 19 Marzo 2020, 18:52:39 »
Citazione
Quello che intendevo dire è che se io sono su una pagina il cui indirizzo finisce con una parentesi e faccio seleziona tutto, copia e incolla mi incolla un link non funzionante
No, a me lo copia correttamente! (Firefox 74.0)
https://it.wikipedia.org/wiki/Meta_(tasto)
 :ciao:
« Ultima modifica: 19 Marzo 2020, 21:59:45 da kicco »
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.730
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Approfondimenti sui controlli keypress e lostfocus - Seconda parte
« Risposta #9 il: 19 Marzo 2020, 20:19:59 »
...per arrivare alla pagine giusta che è:
https://it.wikipedia.org/wiki/Meta_(tasto)

Grazie, kicco, per il suggerimento. Ho provveduto ad apportare la necessaria modifica al collegamento del mio post.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.240
  • Tonno verde
    • Mostra profilo
Re:Approfondimenti sui controlli keypress e lostfocus - Seconda parte
« Risposta #10 il: 19 Marzo 2020, 20:29:32 »

No, a me lo copia correttamente! (Firefox 74.0)
https://it.wikipedia.org/wiki/Meta_(tasto)

A me non sembra proprio, perché ti funzioni lo devi inserire fra i tag link che è appunto un trucco.
Cosa che non occorre fare con un link senza parentesi finale tipo:
https://www.gambas-it.org/smf/index.php?topic=7623.msg47840#msg47840

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.725
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Approfondimenti sui controlli keypress e lostfocus - Seconda parte
« Risposta #11 il: 19 Marzo 2020, 22:01:34 »

No, a me lo copia correttamente! (Firefox 74.0)
https://it.wikipedia.org/wiki/Meta_(tasto)

A me non sembra proprio, perché ti funzioni lo devi inserire fra i tag link che è appunto un trucco.
Cosa che non occorre fare con un link senza parentesi finale tipo:
https://www.gambas-it.org/smf/index.php?topic=7623.msg47840#msg47840

 :ciao:
Scusa Gianluigi ma non avevo capito, io sempre uso i tag link per inserire un link.
Come dici tu, effettivamente non funziona neanche a me.
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Franco_da_vc

  • Grande Gambero
  • ***
  • Post: 215
  • Non è mai troppo tardi!
    • Mostra profilo
Re:Approfondimenti sui controlli keypress e lostfocus - Seconda parte
« Risposta #12 il: 22 Marzo 2020, 19:04:42 »
Al posto del solo Stop Event conviene scrivere:
Codice: [Seleziona]
If Key.Code = Key.Tab Then Stop Event

 :ciao:

Ottimo grazie alla tua riga di codice ho ottenuto il comportamento che volevo.

Ti ringrazio

Bye by AFo
Bye by Afo