Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473

    VB6 - TextBox selezionata

    Ciao a tutti... in vb6 ho dei command che dovrebbero scrivere un numero quando vengono cliccati... Il problema è che il numero lo devono scrivere nella textbox selezionata, perchè nel mio form ho piu textbox..

    Percio quando clicco sul pulsante 1, questo deve scrivere 1 sulla text selezionata....

    Qualcuno riesce ad aiutarmi???

    Grazie


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

    Nel momento in cui premi il pulsante, la textbox non è più selezionata, quindi come fa il programma a sapere quale textbox tu vuoi scrivere?

    Se lo sai puoi scrivere nell'evento Click del pulsante

    Text1.Text = 1

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    Cerco di spiegarmi meglio, in poche parole è un programma che gira su un pc touch-screen, percio nel programma posso usare solo il dito e no la tastiera...
    Allora nel mio form ho diverse text, e una spece di console di command che sostituiscono la tastiera dei numeri... il problema è che io dovrei selezionare la text nel senso che ci clicco sopra e di conseguenza lampeggia il cursore e con la mia console posso scrivere i numeri... poi clicco su un altra text e scrivo altri numeri, percio io non posso scrivere dentro al command text1.text = 1 perche non conosco il nome della text...

    Ho provato a passare il nome dentro una variabile control e object, ma non funziona:

    Dim ctr As Object ' ho provato a dichiararlo che object e come control

    Private Sub txt_comm_Click()
    ctr = txt_comm
    End Sub

    Private Sub Command18_Click()
    ctr.Text = txt_comm.Text & "0"
    End Sub


    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    nessuno hai un'idea di come posso fare?

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    Ho trovato qst codice Me.ActiveControl.Text="ciao" dove se lo scrivo dentro ad una textbox, e clicco sopra a questa text box, scrive ciao... pero se scrivo il codice dentro al command, e se clicco prima sulla text e poi cul command (come vorrei che funzionasse) mi va in erroe, perche qst controllo modifica la proprietà del controllo selezionato di conseguenza del command perche cliccato per ultimo, bisognerebbe trovare una specie di active-1 per andare a modificare il controllo selezionato in precedenza.....

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    pero se scrivo il codice dentro al command, e se clicco prima sulla text e poi cul command (come vorrei che funzionasse) mi va in erroe, perche qst controllo modifica la proprietà del controllo selezionato di conseguenza del command perche cliccato per ultimo
    Cioè ti succede esattamente quello che gibra ti aveva anticipato, descrivendolo un po' meglio.

    Se le TextBox fanno parte di un array di controlli puoi memorizzarti l'indice di quella selezionata in una variabile a livello di modulo e, al clic del CommanButton, servirti di questo indice per individuare la TextBox giusta.

  7. #7
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da androita
    Cerco di spiegarmi meglio, in poche parole è un programma che gira su un pc touch-screen, percio nel programma posso usare solo il dito e no la tastiera...
    Allora nel mio form ho diverse text, e una spece di console di command che sostituiscono la tastiera dei numeri... il problema è che io dovrei selezionare la text nel senso che ci clicco sopra e di conseguenza lampeggia il cursore e con la mia console posso scrivere i numeri... poi clicco su un altra text e scrivo altri numeri, percio io non posso scrivere dentro al command text1.text = 1 perche non conosco il nome della text...

    Grazie
    Allora potresti risolvere così
    1 - dichiarare una variabile oggetto a livello di modulo
    codice:
        Dim ActiveTextBox As TextBox
    2 - quando rendi attivo il textbox su cui devi scrivere, esempio nell'evento GotFocus

    codice:
        Set ActiveTextBox = Text1
    Poi quando premi i pulsanti, indirizzerai i relativi comandi ad ActiveTextBox, cioè
    codice:
        Command1_Click()
            Dim sValore As String
            sValore = "A"
            ActiveTextBox.Text = ActiveTextBox.Text &  sValore
        End Sub
    Ciao

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    Ciao gibra.. grazie per la risposta....

    Ho provato a fare come dici te, ma mi da errore run-time 424. Necessario oggetto.

    ho eseguito il codice passo a passo ed ho visto che qnd clicco sulla txt_comm, la variabile ActiveTextBox rimane vuota!!! é come se non viene settata e di cobseguenza, qnq clicco nel command mi da errore dicendo necessario oggetto..



    questo è il codice:

    nel modulo ho dichiarato:
    Dim ActiveTextBox As TextBox


    Private Sub txt_comm_Click()
    Set ActiveTextBox = txt_comm
    End Sub


    Private Sub Command18_Click()
    Dim sValore As String
    sValore = "A"
    ActiveTextBox.Text = ActiveTextBox.Text & sValore
    End Sub



    ho cliccato prima sulla txt_comm e non mi ha dato erore, poi ho cliccato sul command e mi ha dato l'errore.....


    Anche a me sembra strano, anche perche ho visto un esempio sull msdn pero era vb.net:

    http://msdn.microsoft.com/en-us/library/99053c13.aspx



    dove fa vedere che è possibile assegnare ada una variabile control, il nome di una text, per poi richiamarla dopo e modificare la proprietà!



  9. #9
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Io ho provato, per scrupolo, e a me funziona benissimo.
    Però non ho un touch screen!

    Ma ragionandoci su potrebbe essere che l'evento Click non venga eseguito, ed essendo un TouchScreen avrebbe anche una logica.
    E questo spiegherebbe l'errore, basta comunque verificare:
    se ActiveTextBox è Nothing, significa che l'assegnazione non ha avuto successo:

    codice:
    Private Sub Command18_Click()
        Dim sValore As String
        sValore = "A"
        If ActiveTextBox Is Nothing then
            Msgbox "Nessun TextBox attivo."
        End If 
        ActiveTextBox.Text = ActiveTextBox.Text & sValore
    End Sub
    Hai provato con l'evento GotFocus ?

    Ciao

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    Ciao si ho provato anche con l'evento GotFocus, ma io ora lo sto provando su un pc normale... potresti zipparmi il progetto con il form, cosi lo provo anche io, magari sbaglio da qlc parte e non riesco a capire dove

    Grazie

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 © 2024 vBulletin Solutions, Inc. All rights reserved.