Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VB6] KeyUp su form che non funziona.

    Ciao,
    ho un mio form con impostata la proprietà Keypress.
    Ho inserito nel Keyup la visualizzazione del valore del tasto premuto.
    Mi vengono generati tutti i codici dei tasti ad eccezione dell'invio.
    Possibile???
    Possibile che qualche oggetto sul form dia fastidio?
    Potete scaricare il sorgente per vedere voi stessi....


    QUI PER PRENDERE IL FILE .ZIP


    io stò per andare in analisi

    Attendo vostre notizie prima di suicidarmi

    Grazie e ciao
    Dalla vita altrui attingeva la sua oscura magia...
    Membro del Sacro Ordine degli elfi oscuri di Kand

  2. #2
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    il problema è dovuto al fatto che il focus, all'apertura del Form, si dispone su di un CommandButton, che intercetta per primo il tasto invio in quanto con esso è possibile "fare click" sul pulsante.

    se sposti il focus su uno dei textbox o sul Combo, vedrai che la pressione del tasto invio verrà rilevata correttamente.

    Boolean

  3. #3
    Grazie Bool,
    infatti hai proprio ragione, con un textbox risolvo il problema.
    Ho solo una difficoltà perchè intercettare il tasto invio mi serve per uno scopo ben preciso.

    Siccome utilizzo un lettore Barcode con emulazione tastiera ho intenzione di prendere il codice letto senza far posizionare il focus su un campo testo.
    In parole povere vorrei che ogni volta che viene utilizzato il lettore barcode mi si eseguisse una function.
    Questa operazione mi deve essere fatta anche se non ho il focus su una textbox, anzi sarebbe quasi meglio altrimenti il codice mi comparirebbe in quel campo.... ti immagini se mi mette il codice nel campo "unità di misura"?? l'utente mi sbrocca..

    Se hai qlc dritta sono tutto orecchioni

    Grazie di nuovo
    Dalla vita altrui attingeva la sua oscura magia...
    Membro del Sacro Ordine degli elfi oscuri di Kand

  4. #4
    Originariamente inviato da elfocaotico
    .......
    Questa operazione mi deve essere fatta anche se non ho il focus su una textbox, anzi sarebbe quasi meglio altrimenti il codice mi comparirebbe in quel campo.... ti immagini se mi mette il codice nel campo "unità di misura"?? l'utente mi sbrocca..
    ...........
    Non so se ho capito bene cosa ti occorre,
    ma forse puoi risolvere con la seguente API

    Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

    ...prova ad inserire questo al Click dei CommandButton
    (non ho provato cosa succede se premi ad esempio Alt+Enter o Ctrl+Enter)

    codice:
    Private Sub Command1_Click()
    
    dim retVal as long
    
    retval = GetKeyState(vbKeyReturn)
    If retval < 0 Then MsgBox "Premuto Enter"
    
    end sub
    Ciao sspintux

  5. #5
    Ciao Spin,
    grazie per il suggerimento ma non credo che non sia adattabile al mio caso.
    Ho provato ad inserire il tuo codice nel Keyup del form per vedere se mi intercettava il tasto ma anche in questo caso ignora l'invio.
    In ogni modo questa api mi intercetta lo status del pulsante invio (su o giù) e per il mio caso non và bene in quanto il lettore di codici a barre mi legge un codice di 13 cifre ed infondo mi ci accoda un "invio" (chr(13)). Quindi il pulsante in teoria nemmeno si muove.
    Però mi può ritornare utile in altre circostanze, grazie mille.

    Non riesco a trovare soluzioni valide... si accetta di tutto (per modo di dire naturalmente)

    Cià
    Dalla vita altrui attingeva la sua oscura magia...
    Membro del Sacro Ordine degli elfi oscuri di Kand

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.