Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [VB 6] Premere F10

  1. #1

    [VB 6] Premere F10

    Ciao ho una classe che mi gestisce la visualizzazione dei dati di SQL tramite comandi da tastiera.

    Es: F10 (Nuovo Record)
    F9 Salva Record
    F12 Ricerca

    etc etc ...

    Bene funziona tutto, ora volevo sapere se posso tramite codice scatenare io un evento.
    Ovvero ad un comando qualunque, scatenare l' evento KeyPress KeyCode = vbKeyF10.

    Devo costruire una Routine ?

  2. #2
    Usa l'istruzione SendKeys:
    codice:
    SendKeys "{F10}"
    Ciao
    Chi non cerca trova.

  3. #3
    Bellissimo non la consocevo, bellissima funzione, hi hi hi


  4. #4
    pos piccolo particolare, io sono su un form attivo e ho messo questo comando
    codice:
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    On Error Resume Next
        Select Case KeyCode
            Case vbKeyReturn:
            Case vbKeyEscape:   Unload Me
                                If bTipo = 0 Then
                                    'frmVendita.cForm.InizializzaForm
                                    SendKeys "{F10}"
                                End If
        End Select
    End Sub
    Io il send keys lo devo inviare al frmVendita, che è già attivo sotto il frmImponibili che è quello che chiudo.
    In debug si ferma e esegue il comando Send ma non lo riceve il frmVendita ...

  5. #5
    Ho fatto debug e io gli passo

    codice:
    SendKeys "{vbKeyF10}"
    
    SendKeys "{F10}"
    Ma in entrambi i casi qui mi dice:

    codice:
    Public Sub frm_KeyDown(KeyCode As Integer, Shift As Integer)
    
    dove KeyCode = 27
    
    ma Keycode di F10 è = 121!!
    
    Mio Dio cosa succede??
    Si è impallato VB?
    :master:

  6. #6
    L'istruzione SendKeys va scritta come te l'ho indicata, garantito. Nota che SendKeys invia il carattere alla finestra attiva, non ad altre.

    Il problema non è in VB, ma nel tuo codice! Innanzitutto, il form frmImponibili è modale rispetto a frmVendita?

    Se la risposta è sì: sposta SendKeys in frmVendita immediatamente dopo all'istruzione frmImponibili.Show:
    codice:
    frmImponibili.Show Modal
    If bTipo = 0 Then SendKeys "{F10}"
    Naturalmente devi portare su frmVendita la variabile bTipo, ma non è difficile.

    Se la risposta è no: prova così
    codice:
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    On Error Resume Next
        Select Case KeyCode
            Case vbKeyReturn:
            Case vbKeyEscape:
                If bTipo = 0 Then
                    frmVendita.SetFocus
                    SendKeys "{F10}"
                End If
                Unload Me
        End Select
    End Sub
    Chi non cerca trova.

  7. #7
    No è la prima situazione, lavoro in MDI e apro una modale

    frmImponibili.show 1

    Solo che io premendo F10 attivo 'Nuovo Record' mentre l' evento dovrei scatenarlo solo dopo che ho finito di lavoroare nella finestra modale, sicome nella modale lavoro con delle query sul recordset aperto in frmVendita...

    Mmm fo delle prove


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.