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

    [VB6]Simulare tabulazione per spostamento

    Ho un Form con 9 campi.
    Se volessi spostarmi da un TextBox all'altro usando un altro tasto invece del TAB (es. "-") come si fa?
    Praticamente dovrei fare in modo che alla pressione del tasto "-" ci fosse un semplice cambio di campo (il successivo) senza che il trattino venga scritto....
    Si può fare? Ho cercato ma senza successo.
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  2. #2
    Ciao Picciola..
    potresti creare una matrice di controlli textbox e quindi nell'evento text1_keydown inserire il codice:
    if keycode = n then'dove n sta per il valore attribuito al trattino
    sendkeys [TAB]
    end if

    Chiaramente le textbox devono avere un ordine di tabulazione preciso..
    Se non sono stato molto chiaro scrivi pure..ciao

    ps. Complimenti per la foto....se davvero sei te....

  3. #3
    Prima di andare a dormire ti aggiorno sui miei (scarsi) progressi.
    Ho usato un codice di questo tipo

    codice:
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    if keycode = 183
    sendkeys vbtab 
    End Sub
    
    Private Sub Form_Load()
    Form1.KeyPreview = True
    End Sub
    Tuttavia non raggiungo il mio scopo:
    - Dal campo1 effettivamente passa al campo2 ma il trattino comunque me lo scrive all'interno del campo1

    - Io vorrei fare una cosa di questo tipo:
    Seleziono e copio una stringa fatta così:
    Ciao a tutti-Sono inesperta qui-21-22-23-ecc...

    Vorrei che quando mi posiziono sul campo1 del mio form e seleziono "incolla" lui mi riempisse i campi del form "splittando" sul trattino. Quindi:

    campo1 = "Ciao a tutti"
    campo2 = "Sono inesperta qui"
    campo3 = "21"
    campo4 = "22"
    campo5 = "23"
    ecc...

    Effettivamente col codice che ho usato io(e con quello che mi hai suggerito tu) il trattino non viene intercettato se incollo perchè in pratica l'evento KeyDown non si verifica!
    Come si fa?????

    Grazie per i complimenti ,vado a ninna.
    Baciotti.




    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  4. #4
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    Ciao Picciola

    immagino che tu voglia realizzare quel sistema per cui quando si inserisce il numero seriale, il caret passa automaticamente da un textbox all'altro...

    con questo codice lo puoi realizzare, sia inserendo direttamente il codice da tastiera, sia incollandolo in uno qualsiasi dei textbox.
    tralaltro non è necessario premere il trattino "-" perchè viene riconosciuta la lunghezza della sezione di seriale che inserisci.

    io ho utilizzato una matrice di 4 textbox.

    e il codice che ho provato era di questo tipo:

    1234-5678-4321-8765

    puoi variare il numero di sezioni aggiungendo i TextBox necessari e il numero di caratteri per sezione variando il 4 nell'evento Change() dei TextBox

    codice:
    Private Sub Text1_Change(Index As Integer)
    If Len(Text1(Index).Text) = 4 Then
        SendKeys "{TAB}"
    End If
    End Sub
    
    Private Sub Text1_GotFocus(Index As Integer)
    Text1(Index).SelStart = 0
    Text1(Index).SelLength = Len(Text1(Index).Text)
    End Sub
    
    Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
        If Shift = 2 And KeyCode = 86 Then
            Text1(Index).Locked = True
            SplitCode Clipboard.GetText
            KeyCode = 0: Shift = 0
        End If
    End Sub
    
    Private Sub Text1_KeyUp(Index As Integer, KeyCode As Integer, Shift As Integer)
    Text1(Index).Locked = False
    End Sub
    
    Sub SplitCode(sText As String)
        vt = Split(sText, "-")
        On Error Resume Next
        For K = 0 To Text1.UBound
            Text1(K).Text = vt(K)
        Next
    End Sub
    spero ti sia utile

    Boolean

  5. #5
    Grazie mille,ora non ho tempo per verificare.
    Appena lo provo ti faccio sapere.
    Un baciuzzo,buon week-end!

    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

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.