Gambas-it

Gambas3 => Programmazione => Topic aperto da: akrobaticone - 11 Gennaio 2013, 11:08:20

Titolo: Tastiera virtuale touch screen
Inserito da: akrobaticone - 11 Gennaio 2013, 11:08:20
Sto giocando con un panel PC con touch screen e sto scrivendo un programmino in Gambas3.
Ho necessità di inserire alcuni codici alfanumerici, per fare questo avrei bisogno di una tastiera virtuale sullo schermo
Come posso fare con Gambas?

Grazie
Titolo: Re: Tastiera virtuale touch screen
Inserito da: vuott - 11 Gennaio 2013, 11:59:54
...avrei bisogno di una tastiera virtuale sullo schermo

Se non intendi necessariamente crearti una tastierina, ma utilizzarne una già "pronta", potresti usare ad esempio: onboard.


C'è anche un riferimento qui nel forum a quella tastierina virtuale onboard:
http://www.gambas-it.org/smf/index.php?topic=1923.0
Titolo: Re: Tastiera virtuale touch screen
Inserito da: milio - 12 Gennaio 2013, 11:33:26
Siccome l'argomento interessa anche a me, ho cercato di creare una tastiera virtuale, da usare appunto con un touch screen, usando la funzione del componente gb.desktop SendKey(), ma ho incontrato subito delle difficoltà:

1) Se la tastiera e' inserita in una form a se, il form su cui si devono digitare i caratteri perde il focus e quindi i 'segnali' SendKey vanno persi nel vuoto

2) Inviando ripetutamente il carattere ">" (maggiore) con la funzione Desktop.SendKey(">"), il primo invio mi visualizza il carattere corretto, dal secondo in poi mi visualizza un punto  ??? :rolleyes:

Sul secondo punto chiedevo a qualcuno di voi se puo' fare la prova con l'esempio allegato...  :ciao: :ciao:
Titolo: Re: Tastiera virtuale touch screen
Inserito da: vuott - 12 Gennaio 2013, 16:02:27
1) Se la tastiera e' inserita in una form a se, il form su cui si devono digitare i caratteri perde il focus e quindi i 'segnali' SendKey vanno persi nel vuoto

Forse per questo hai dovuto creare ad hoc il tasto virtuale CTast1 ?
Ho visto, infatti, che tu hai previsto nella classe FTest anche un Button2 per la stampa nella TextEdit del carattere > . Io ho posto il Button2 sul Form FTest un Button2 per un test. Cliccandoci sopra, però, non viene scritto niente nella TextEdit. Ho risolto imponendo ovviamente il Focus alla TextEdit prima della funzione .SendKeys:  :-\
Codice: gambas [Seleziona]

Public Sub Button2_Click()

     TextEdit1.SetFocus

  Desktop.SendKeys(">")

End

Quindi applicando ciò per analogia al problema da te posto....  :-X


2) Inviando ripetutamente il carattere ">" (maggiore) con la funzione Desktop.SendKey(">"), il primo invio mi visualizza il carattere corretto, dal secondo in poi mi visualizza un punto

A me questo fenomeno non accade in nessun caso..  :-\
Titolo: Re: Tastiera virtuale touch screen
Inserito da: milio - 12 Gennaio 2013, 20:11:02
he no cosi' non vale  :nono:    :rotfl:

hai provato a posizionarti con il cursore sopra la textarea e poi a cliccare sul mio button?
Titolo: Re: Tastiera virtuale touch screen
Inserito da: vuott - 13 Gennaio 2013, 00:06:58
hai provato a posizionarti con il cursore sopra la textarea e poi a cliccare sul mio button?

Non so se ti riferisci al primo problema da te posto. In caso affermativo, sì, certo, l'intoppo esiste, se non c'è il focus.
Ecco perché avevo suggerito quella strategia (...alla quale - ne sono sicurissimo - avevi già pensato anche tu).  :-\
Titolo: Re: Tastiera virtuale touch screen
Inserito da: milio - 13 Gennaio 2013, 00:54:41
Hai provato ad usare la 'tastiera' ? (button 'Tastiera' dell'esempio)?
Titolo: Re: Tastiera virtuale touch screen
Inserito da: vuott - 13 Gennaio 2013, 19:39:27
Hai provato ad usare la 'tastiera' ? (button 'Tastiera' dell'esempio)?

Sì... però devo dire che non avendo uno schermo "al tatto", ho usato per i test il mouse...  :-X
...fa lo stesso ?  :donkey: