VB Tips Combobox
Aprire un combo-box con l'evento focus
Public Const CB_GETDROPPEDSTATE As long =&H157
Public Const CB_SHOWDROPDOWN As Long=&H14F
Declare Function SendMessageAsLong Lib "user32"Alias "SendMessageA"( ByVal hWnd As Long,
ByVal wMsg As Long, ByVal wParam As Long,ByVal lParam As Long) As Long

Dim bAperto As Boolean

'cmbautomatico rappresenta il nome del combo-box

bAperto=SendMessageAsLong(cmbAutomatico.hWnd,CB_GETDROPPEDSTATE,0,0)<>0

If not bAperto then
SendMessageAsLong cmbAutomatico.hWnd, CB_SHOWDROPDOWN,1,0
End If

Come cercare i duplicati in una ComboBox
Function CheckDup(MyValue As Variant, MyCombo As ComboBox) As Boolean
For i = 0 to MyCombo.ListCount - 1
If MyCombo.List( i ) = MyValue Then
CheckDup = True
Exit Function
End if
Next i
CheckDup = False
End Function
Trovare una stringa in una combo-box in un tempo ragionevole
Si puņ usare questa funzione dele API:
     index = SendMessage(hWnd, CB_FINDSTRING, (WPARAM) indexStart, (LPARAM) (LPCSTR) lpszFind);

indexStart:
elemento da cui iniziare la ricerca (-1 per iniziare dall'inizio)
lpszFind:
stringa da ricercare
CB_FINDSTRING
si ferma alla prima occorrenza, anche se la stringa specificata č solo la parte iniziale di quella trovata.
CB_FINDSTRINGEXACT
ricerca la stringa specificata per intero.
index:
l'indice dell'elemento trovato o CB_ERR in caso la stringa non sia trovata.