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

    completamento automatico casella di testo

    potresti indicarmi dove trovare del codice già fatto per aggiungere la funzione di completamento automatico alle caselle di testo per le mie applicazioni?

    in particolare avrei bisogno di scegliere fra un vettore di stringhe predefinite in fase di design.. ho provato con la ricerca interna al forum ma non funziona!

  2. #2
    MI ASSOCIO: SE LA RICERCA FUNZINASSE CERCHEREI ANCHE IO GRID O FLEXGRID E CERCHEREI DI PROCEDERE ALLO SVILUPPO IN PROPRIO DELLA MIA APPLICAZIONE.

    QUANDO RIATTIVATE "RICERCA" ?

  3. #3
    Se la ricerca non è ancora stata riattivata evidentemente i problemi non sono ancora stati risolti; pertanto ritengo che non sia necessario rimarcare questa cosa. Tra l'altro, come voi anche gli altri utenti non ne possono usufruire. Vi chiedo quindi massima collaborazione.

    E visto che la ricerca non funziona potete tranquillamente postare i vostri problemi sul forum e chiedere.


    NB:
    E' stato ribadito più volte da noi moderatori che per qualsiasi lamentela o informazione è possibile contattarci in pvt e NON utilizzare il forum.

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  4. #4
    chiedo scusa, non volevo rimarcare la cosa... era solo x avere qualche info sull'avanzamento dei lavori.

    xdonato?

  5. #5
    Prova con questo AutoCompleter - Class Module
    Questo codice e' una funzione AutoComplete per qualunque
    TextBox, crea un'istanza della classe e setta il
    controllo text sul Form

    codice:
    Option Explicit
    Private WithEvents m_txtComplete As TextBox
    Private m_strDelimeter As String
    Private m_strList As String
    Private Sub m_txtComplete_KeyUp(KeyCode As Integer, Shift As Integer)
        
        Dim i As Integer
        Dim strSearchText As String
        Dim intDelimented As Integer
        Dim intLength As Integer
        Dim varArray As Variant
        With m_txtComplete
            If KeyCode <> vbKeyBack And KeyCode > 48 Then
                If InStr(1, m_strList, .Text, vbTextCompare) <> 0 Then
                    varArray = Split(m_strList, m_strDelimeter)
                    For i = 0 To UBound(varArray)
                        strSearchText = Trim(varArray(i))
                        If InStr(1, strSearchText, .Text, vbTextCompare) And
                        (Left$(.Text, 1) = Left$(strSearchText, 1)) And
                        .Text <> "" Then
                        .SelText = ""
                        .SelLength = 0
                        intLength = Len(.Text)
                        .Text = .Text & Right$(strSearchText, Len(strSearchText) - Len(.Text))
                        .SelStart = intLength
                        .SelLength = Len(.Text)
                        Exit Sub
                    End If
                Next i
            End If
        End If
    End With
    End Sub
    
    Public Property Get CompleteTextbox() As TextBox
    Set CompleteTextbox = m_txtComplete
    End Property
    
    Public Property Set CompleteTextbox(ByRef txt As TextBox)
    Set m_txtComplete = txt
    End Property
    
    Public Property Get SearchList() As String
    SearchList = m_strList
    End Property
    
    Public Property Let SearchList(ByVal str As String)
    m_strList = str
    End Property
    
    Public Property Get Delimeter() As String
    Delimeter = m_strDelimeter
    End Property
    
    Public Property Let Delimeter(ByVal str As String)
    m_strDelimeter = str
    End Property
    
    'Inputs:
    Dim m_objAutoCompleteUser as clsAutoComplete
    Set m_objAutoCompleteUser = New clsAutoComplete
    
    With m_objAutoCompleteUser
        .SearchList = m_strUserList
        Set .CompleteTextbox = txtUser
        .Delimeter = ","
    End With
    C-: Il programma ha dato un errore!!
    P-: Ma sul mio Pc funziona!!!!

  6. #6
    grazie del codice, ma non riesco a farlo funzionare perché sono un principiante e non ho grande dimestichezza con le classi. Se ti dico passo passo quello che ho fatto, potresti indicarmi dove sbaglio?

    Allora:

    1) ho creato un modulo di classe che ho rinominato clsAutoComplete

    2) ho inserito in questo modulo la prima parte di codice che hai scritto (quella prima del commento 'inputs

    3) nel form principale ho inserito una textbox che ho rinominato txtUser

    4) nel codice del form principale ho scritto quanto segue:

    codice:
    Dim m_strUserList As String
    
    Private Sub TxtUser_KeyUp(KeyCode As Integer, Shift As Integer)
    m_strUserList = "prova,ciao"
    Dim m_objAutoCompleteUser As Clsautocomplete
    Set m_objAutoCompleteUser = New Clsautocomplete
    With m_objAutoCompleteUser
        .SearchList = m_strUserList
        Set .CompleteTextbox = TxtUser
        .Delimeter = ","
    End With
    End Sub
    se adesso vado a scrivere "pr" o "c" non dovrebbe partire l'autocomplete? dove ho sbagliato? scusate l'ignoranza

  7. #7
    nessuno che mi da una mano?

  8. #8
    Originariamente inviato da adone79
    nessuno che mi da una mano?
    Ho dato un'occhiata veloce al codice che ti hanno inviato, il codice che hai scritto dovresti metterlo nella form_load, poi e la classe stessa che quando premi un tasto si preoccuperà di completare la parola.
    Se uni più textbox devi anche mettere piu istanze diverse della classe.

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.