Visual Basic, VB .NET, ASP, Active X, Access, SQL Server

Formulários: ajustando a largura da área drop down de uma combo box


Este procedimento envia uma mensagem à combo box ajustando a largura da área da lista drop down. Usa a função da API  SendMessage para fazer este ajuste.

Declarações

Cole isto na seção de declarações de um módulo padrão:

Public Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Long) As Long

Public Const CB_SETDROPPEDWIDTH = &H160

Procedimento:

Public Sub SetComboWidth(oComboBox As ComboBox, _
    lWidth As Long)

   
' lWidth é em pixels

    SendMessage oComboBox.hwnd, CB_SETDROPPEDWIDTH, lWidth, 0

End Sub

Nota:

Este código não irá funcionar se você especificar uma largura menor que a da combo box.