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

    [VB6] Completamento automatico in combobox

    salve a tutti ragazzi, quello che vi chiedo è un vero favore il più presto possibile visto che, come tutti i programmatori, il tempo mi è nemico...


    mi servirebbe un modo, con VB 6, per "fare" il completamento automatico di una combobox.

    vi spiego meglio....
    ho una combobox con impostata la proprietà Style a 0 - DropDown Combo (e NON la devo modificare) mi servirebbe una funzione, mi è giunta voce che VB.NET lo fa ed è una proprietà di nome AutoComplete) che praticamente fa il completamento automatico di quello che io scrivo...esempio semplice....

    nella mia combo ho caricato questi valori (in ordine)

    ALESSIO
    ANNA
    ANNAMARIA

    se inizio a scrivere la A nella Combo mi compare la mia lettera a (NON selezionata) + la scritta LESSIO completamente evidenziata in modo che se poi continuo a scrivere tale scritta (Completamento automatico) si modifica, in fatti se io scrivo AN mi apparirà ANNA mente se io scrivo ANNAM mi apparirà ANNAMARIA sempre con ANNAM non selezionato montre la parte che mi propone la funzione (Completamento automatico) ARIA evidenziata...

    spero di essermi spiegato bene, confido nel vostro aiuto, grazioe a tutti.
    Let's your dream came true!

  2. #2
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    Ciao.
    Ho provato a fare qualcosa del genere usando una TextBox e una Combo.
    Ti basta inserire questi due oggetti su una Form e come codice questo:
    codice:
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
    (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As _
    Integer, ByVal lParam As Any) As Long
    
    Private Sub Form_Load()
    With Combo1
      .AddItem "ALESSIO"
      .AddItem "ANNA"
      .AddItem "ANNAMARIA"
    End With
    End Sub
    
    Private Sub Text1_Change()
    Const CB_FINDSTRING = &H14C
    'Const CB_FINDSTRINGEXACT = &H158
    
    Dim Index As Long
    
    Index = SendMessage(Combo1.hwnd, CB_FINDSTRING, -1, Text1.Text)
    Combo1.Text = Combo1.List(Index)
    End Sub
    ... e non usare while wend è una sintassi deprecata

  3. #3
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Index = SendMessage(Combo1.hwnd, CB_FINDSTRING, -1, Text1.Text)
    l'index dovrevve restituire la posizione dove si trova la stringa trovata vero ???

  4. #4
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    Sarebbe la ListIndex dell'elemento della Combo.
    Scrivendo A vale 0, cioè il primo elemento; continuando con AN vale 1, cioè il secondo elemento; infine con ANNAM vale 2 cioè il terzo elemento.
    ... e non usare while wend è una sintassi deprecata

  5. #5
    adesso ci provo e poi ti faccio sapere, grazie
    Let's your dream came true!

  6. #6
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    OK
    ... e non usare while wend è una sintassi deprecata

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.