Italian evento keyboard

Discussion in 'Italian Forum' started by micro, Oct 14, 2008.

  1. micro

    micro Well-Known Member Licensed User

    Salve ragazzi,
    vi espongo quello che è il mio problema riprendendo forse in parte quello di un mio thread precedente sulla keyboard.
    Mi sevirebbe in qualsiasi momento a prescindere dall'oggetto che in quel momento ha il focus (che sia una label, o un button, o la form ecc.) catturare il tasto premuto sulla tastiera.
    In vb.net con la funzione GetAsyncKeyState della Lib "user32.dll" riesco ad ottenere tutto ciò ma con basic4ppc non ne riesco a venire a capo.
    Potete aiutarmi?
    Speriamo bene, sembra proprio che le mie richieste siano un pò ostiche :) ..... a guardare le risposte che ottengo.
    Incrociamo le dita.

    Bye
     
  2. Filippo

    Filippo Expert Licensed User

    Ciao micro,

    hai già provato con la Libreria Hardware.dll ?

    Guarda quì: Hardware

    Io penso sempre: meglio nessuna risposta che qualcuna che non serve a niente.;)

    Ciao,
    Filippo
     
  3. micro

    micro Well-Known Member Licensed User

    :) bhè certo filippo hai ragione, meglio silenzio che risposte non giuste.
    Per la lib Hardware avevo già visto ma nulla, per la sezione key riesci solo ad emulare gli eventi della keyboard ma non a catturali.

    Grazie tante filippo. :sign0188:
     
  4. Filippo

    Filippo Expert Licensed User

    guarda che ti sbagli un poco.:)

    Questo è un esempio dalla Online-Help

    così dovrebbe funzionare...;)
     
  5. Cableguy

    Cableguy Expert Licensed User

    Hi fillipo,

    For keyboard trapping try this code here on post #8...
    it was used to create a borderless, caretless textbox/editable label....
     
  6. micro

    micro Well-Known Member Licensed User

    Allora filippo,
    ho detto così perchè infatti nell'help dice "emulate" e anche perchè ho fatto un programmino per l'omnia della samsung per chiudere un programma simulando la pressione di alcuni tasti.
    Ho provato con il tuo esempio (sul desktop) ma non viene attivata mai quella sub anche mettendo il parametro onlyActiveForm su false.
    L'esempio di Cableguy è in pratica quello che faccio io (infatti è attivata solo quando la label ha il focus) ma a me serve che la sub (per catturare l'evento della keyboard) venga sempre attivata a prescindere dal controllo che abbia il focus e senza crearmi per ogni controllo almeno due oggetti, diventa troppo dispensioso.
    Grazie anche a te Cableguy per il reply.

    Bye
     
  7. moster67

    moster67 Expert Licensed User

    ciao - non ho provato ma sembra che "sendKeys" funziona con il Compact Net Framework anche se non dovrebbe. Ho trovato questa pagina (e penso sia relativo al tuo problema):

    SendKeys in Compact Framework 2.0 - MSDN Forums

    Penso che si deve fare una libreria per poter usarlo in Basic4PPC (o almeno per poter testare).

    Probabilmente ho detto delle "st****te" ma non si sa mai:)

    saluti,
    moster67
     
  8. micro

    micro Well-Known Member Licensed User

    Grazie anche a te monster67,
    ma più che il send a me interesserebbe il get :sign0060:
    Infatti se leggi all'inizio del thread in vb.net faccio uso della GetAsyncKeyState.

    Che dite posto anche nella sezione Questions & Help Needed o mi leggono anche qui?
     
  9. moster67

    moster67 Expert Licensed User

    moster67 p.f. - è una bella differenza !! :)

    te lo avevo detto - ho detto una.................... :)

    saluti
    moster67
     
  10. micro

    micro Well-Known Member Licensed User

    ehehehe, scusami moster67 ma quella "n" in più nel tuo nick l'avevo vista davvero prima di replicare. :sign0013:
     
  11. Filippo

    Filippo Expert Licensed User

  12. micro

    micro Well-Known Member Licensed User

    Ciao filippo,
    ritorno sull'argomento dopo un lungo silenzio.
    Problemi di lavoro...
    Allora, ho utilizzato la tua dll fgControls e quindi la funzione GetAsyncKeyState per catturare gli eventi della Keyboard ma stranamente con il tasto Tab (Chr(09)) l'evento non viene attivato mentre tutto ok per Shift, Ctrl, Bs e Alt.
    Come mai?
    E' importante per me gestire il Tab per uno spostamento ottimale tra caselle di testo.

    Grazie a tutti.
     
  13. Filippo

    Filippo Expert Licensed User

    Ciao micro,

    ho provato die nuovo e da me funziona tutto come sie deve.

    Riprova...
     

    Attached Files:

  14. micro

    micro Well-Known Member Licensed User

    Grazie per la tempestività filippo, disponibile come sempre.
    Se leggi bene all'inizio del thread noterai che dico catturare l'evento anche quando il focus è in una textbox ecc. ecc.
    Infatti se provi ad aggiungere delle textbox alla tua form d'esempio vedi che la sub getkey_KeyPressed non viene attivata se premi su Tab quando la textbox ha il focus.
    ;)
     
  15. Filippo

    Filippo Expert Licensed User

    Cosa strana, ho provato in una "textbox" a cambiare la property TextAlignment da alCenter a alLeft e già funziona.
    In questo caso non c'è bisogno del getkey_KeyPressed per catturare il Tab.
     
  16. micro

    micro Well-Known Member Licensed User

    .... non ho capito cosa centra il TextAlignment con il Tab :confused:
    Come fai a capire da codice se premi Tab se sia la getkey_Keypressed che gli eventi stessi della TextBox non te lo permettono?
    Bye
     
  17. Filippo

    Filippo Expert Licensed User

    normalmente quando si preme il tasto TAB, in Focus dei controlli cambia dall'uno all'altro.
    Io ho notato addesso che quando una Textbox ha property TextAlignment alCenter o alRight non funziona più, cioè il Tab viene inserito nel testo e il focus non cambia.
     
  18. micro

    micro Well-Known Member Licensed User

    :) filippo io non voglio far cambiare il focus quando clicco su TAB, ma voglio solo da codice gestire la sua pressione, quindi ripeto, catturare l'evento.

    Grazie tante filippo per i tuoi reply.
     
  19. maXim

    maXim Active Member Licensed User

  20. micro

    micro Well-Known Member Licensed User

    scusami se ti rispondo dopo tanto tempo maXim ma sai, quando alcune cose le fai un pò per hobby e un pò per famigliarizzare con il software ti dedichi solo quando hai un pò di tempo libero.......e questo purtroppo inizia a scarseggiare.
    Comunque sicuramente potrà tornarmi utile.

    Grazie
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice