Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    115

    [VB6] Pressione tasto Invio

    Ciao a tutti, ho un problema... io per sottomettere un testo ad un'operazione devo utilizzare la pressione del tasto invio, e cercando un po' in rete ho trovato questo che funziona ma che alla pressione di Invio oltre a sottomettere il testo fa un suono di windows, di quelli tipo quando si cerca di scrivere o clickare in un'area non abilitata.
    codice:
    Private Sub txtgenerico_KeyPress(KeyAscii As Integer)
    If KeyAscii = vbKeyReturn then
    istruzione
    End If
    End Sub
    La mia domanda è appunto come non far sentire sto suono! E già che ci sono... se volessi fare sottomettere quel codice all'istruzione non solo in seguito alla pressione di Invio ma anche con un pulsante (cioè, l'utente può scegliere se premere il pulsante sul form o Invio) come dovrei procedere? Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    115
    Ho risolto per il suono... basta impostare KeyAscii a 0 effettuata l'istruzione.
    E se invece volessi far fare al mio programma la stessa cosa in seguito a due eventi differenti? Ho provato a mettere per esempio del codice in seguito alla pressione di un cmd, e poi al posto di copiare lo stesso codice nell'evento ho semplicemente richiamato cmd_Click ed ho visto che funziona. Potete magari dirmi se c'è qualche altro metodo più "fatto apposta"? Quello che ho trovato io è un po' rudimentale

  3. #3
    Originariamente inviato da Harry
    Ho risolto per il suono... basta impostare KeyAscii a 0 effettuata l'istruzione.
    E se invece volessi far fare al mio programma la stessa cosa in seguito a due eventi differenti? Ho provato a mettere per esempio del codice in seguito alla pressione di un cmd, e poi al posto di copiare lo stesso codice nell'evento ho semplicemente richiamato cmd_Click ed ho visto che funziona. Potete magari dirmi se c'è qualche altro metodo più "fatto apposta"? Quello che ho trovato io è un po' rudimentale
    Ciao !
    Il sistema "piu' fatto apposta" e' questo:
    imposti la proprieta' Default del button a True, e il pulsante verra' "cliccato" anche premendo Invio...

    (ora non ho VB sottomano, non ricordo se deve essere anche impostata la proprieta' KeyPreview del form a True....)

    IceCube_HT (VB6 fan Club)

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    115
    Grazie 1000! Funziona anche senza KeyPreview comunque

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    115
    Solo un inghippo... dovrei eseguire delle azioni sotto pressione del tasto invio per comandi diversi nello stesso form... ed usando questo metodo lo fa solo su una, se provo ad abilitare un altro cmd disabilita il primo. Idee?

  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: [VB6] Pressione tasto Invio

    Originariamente inviato da Harry
    Ciao a tutti, ho un problema... io per sottomettere un testo ad un'operazione devo utilizzare la pressione del tasto invio, e cercando un po' in rete ho trovato questo che funziona ma che alla pressione di Invio oltre a sottomettere il testo fa un suono di windows, di quelli tipo quando si cerca di scrivere o clickare in un'area non abilitata.
    codice:
    Private Sub txtgenerico_KeyPress(KeyAscii As Integer)
    If KeyAscii = vbKeyReturn then
    istruzione
    End If
    End Sub
    La mia domanda è appunto come non far sentire sto suono! E già che ci sono... se volessi fare sottomettere quel codice all'istruzione non solo in seguito alla pressione di Invio ma anche con un pulsante (cioè, l'utente può scegliere se premere il pulsante sul form o Invio) come dovrei procedere? Grazie!
    E' banalmente semplice:
    codice:
    Private Sub txtgenerico_KeyPress(KeyAscii As Integer)
        If KeyAscii = vbKeyReturn then
            KeyAscii = 0 
            ' Istruzioni da eseguire
        End If
    End Sub
    Ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    115

    Re: Re: [VB6] Pressione tasto Invio

    Originariamente inviato da gibra
    E' banalmente semplice:
    codice:
    Private Sub txtgenerico_KeyPress(KeyAscii As Integer)
        If KeyAscii = vbKeyReturn then
            KeyAscii = 0 
            ' Istruzioni da eseguire
        End If
    End Sub
    Ciao
    Innanzitutto grazie della risposta
    Il problema ora è un altro, leggi l'ultimo mio post.
    Usando il tuo codice (che poi è quello con cui siamo partiti) si potrebbe fare, ma per non scrivere due volte il codice che devo eseguire (sia nel cmd, sia lì) non posso scriverci qualcosa che tradotto risulti: "fai la stessa azione che fa cmdazione"...?

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Io no ci ho capito molto su quello che devi fare, sicuramente sarà un mio limite.

    Se spieghi in dettaglio le azioni da fare, anzichè in generale, forse ci arrivo a capire qualcosa.

    Ciao

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    115
    In pratica il problema è risolto, l'obiettivo era poter effettuare il trattamento dei dati immessi in due txt diverse con due diverse operazioni, azionandole con la pressione del tasto invio quando il cursore si trova su di essa. E' un po' contorto da spiegare ma in pratica è molto semplice. Fin qui ci sono arrivato col codice da te postato sopra. Ora il problema è che le operazioni che effettuo premendo Invio, le devo rendere anche disponibili tramite un pulsante, e quindi dovrei avere quelle istruzioni sia per la pressione di un cmd, sia per l'evento KeyPress della txt. Per non dovere scrivere due volte lo stesso identico codice (che tanto breve non è), come potrei fare? Stavo pensando di simulare alla pressione del tasto Invio, la pressione del cmd corrispondente in modo da semplificare il tutto, ma non so come esprimerlo in codice. Quindi in pratica:
    codice:
    Private Sub txtgenerico_KeyPress(KeyAscii As Integer)
        If KeyAscii = vbKeyReturn then
            KeyAscii = 0 
             "esegui le stesse operazioni che fai alla pressione di cmdgenerico"
        End If
    End Sub
    PS: grazie dell'assistenza anche a Ferragosto

  10. #10
    Originariamente inviato da Harry
    In pratica il problema è risolto, l'obiettivo era poter effettuare il trattamento dei dati immessi in due txt diverse con due diverse operazioni, azionandole con la pressione del tasto invio quando il cursore si trova su di essa. E' un po' contorto da spiegare ma in pratica è molto semplice. Fin qui ci sono arrivato col codice da te postato sopra. Ora il problema è che le operazioni che effettuo premendo Invio, le devo rendere anche disponibili tramite un pulsante, e quindi dovrei avere quelle istruzioni sia per la pressione di un cmd, sia per l'evento KeyPress della txt. Per non dovere scrivere due volte lo stesso identico codice (che tanto breve non è), come potrei fare? Stavo pensando di simulare alla pressione del tasto Invio, la pressione del cmd corrispondente in modo da semplificare il tutto, ma non so come esprimerlo in codice. Quindi in pratica:
    codice:
    Private Sub txtgenerico_KeyPress(KeyAscii As Integer)
        If KeyAscii = vbKeyReturn then
            KeyAscii = 0 
             "esegui le stesse operazioni che fai alla pressione di cmdgenerico"
        End If
    End Sub
    PS: grazie dell'assistenza anche a Ferragosto
    "esegui le stesse operazioni che fai alla pressione di cmdgenerico"

    equivale a:

    cmdgenerico_Click

    ...o no ?
    IceCube_HT (VB6 fan Club)

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.