Desplegar un Combo en tiempo de ejecicion

Luzien
17 de Diciembre del 2003
Hola!
porfavor echarme una mano, como desplegar un combobox en tiempo de ejecucion.

Gracias

Juan
17 de Diciembre del 2003
Se puede hacer con la función API SendMessage, con el
mensaje CB_GETDROPPEDSTATE puedes saber si ya
está desplegado, y con CB_SHOWDROPDOWN lo despliegas. Ejemplo:

'Declaraciones
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const CB_SHOWDROPDOWN = &H14F
Private Const CB_GETDROPPEDSTATE = &H157

'Comprueba si está desplegado antes de hacerlo
If SendMessage(Combo1.hwnd, CB_GETDROPPEDSTATE, 0, 0) = False Then
SendMessage Combo1.hwnd, CB_SHOWDROPDOWN, True, 0 'Si cambias True por False se oculta
End If