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

    vb6 - intercettazione Shift + Tab

    per evitare di scrivere il codice per ogni controllo
    ho pensato di utilizzare un timer posto in una videata
    nascosta, utilizzando il seguente codice:

    codice:
    Private Sub §TimerIntercettazioneTasti_Timer()     If GetAsyncKeyState(vbKeyTab) Then         If GetShift Then             MsgBox "Shift Tab"           Else             MsgBox "Tab"         End If     End If End Sub   Public Function GetShift() As Boolean     GetShift = CBool(GetAsyncKeyState(vbKeyShift)) End Function
    solo che ho l' impressione che non sempre mi da la risposta esatta;
    il codice e' sbagliato?
    ho provato
    GetAsyncKeyState(vbKeyShift + vbKeyTab)
    ma non funziona

    esiste un metodo alternativo?

    grazie

  2. #2
    sapevo che avrei sbagliato a inserire il codice

    codice:
    Private Sub §TimerIntercettazioneTasti_Timer()
        If GetAsyncKeyState(vbKeyTab) Then
            If GetShift Then
                MsgBox "Shift Tab"
              Else
                MsgBox "Tab"
            End If
        End If
    End Sub
    
    
    Public Function GetShift() As Boolean
        GetShift = CBool(GetAsyncKeyState(vbKeyShift))
    End Function

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non ho capito il problema iniziale ... perché devi intercettare Shift+Tab ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    perche' in qualche caso la tabulazione indietro non mi deve andare
    sul campo immediatamente precedente, ma su campi diversi a seconda
    di alcuni valori

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non puoi usare opportunamente la proprietà TabIndex dei controlli?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    no. ti faccio un esempio:
    supponiamo di avere tre campi: Campo1, Campo2 e Campo3
    con tabindex rispettivamente 1, 2 e 3.
    mi trovo su Campo3 e con ShiftTab andrei su Campo2 ma
    se esistono combinazioni particolari (anche al di fuori dei
    tre campi in questione) devo andare su Campo1 o in
    generale su CampoX
    spero di essere stato chiaro

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    In base alle condizioni di cui parli (e che sarebbe meglio conoscere in dettaglio per darti maggiori informazioni) puoi intervenire negli eventi LostFocus e GotFocus ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    si certo
    volevo trovare un sistema che mi evitasse di scrivere il
    codice per ogni controllo di ogni form
    ma se non e' possibile pazienza

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma se usi array di controlli non dovrai fare tanta fatica.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    verissimo
    ma non posso farlo perche' mi sono creato delle routine standard
    per la lettura e scrittura dei record;
    in pratica quando leggo un record, in automatico mi vengono
    riempiti tutti i campi della maschera che hanno lo stesso nome,
    e quando lo scrivo verranno prelevati i valori dai campi della maschera
    con lo stesso nome;
    quindi i nomi dei campi non posso toccarli

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.