Open the list portion of a ComboBox control

Open the list portion of a ComboBox control

To programmatically open and close the list portion of a ComboBox control, all you need is sending the CB_SHOWDROPDOWN message to the control. Here is a routine that encapsulate the SendMessage API function:

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal _    hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _    lParam As Any) As LongConst CB_SHOWDROPDOWN = &H14FConst CB_GETDROPPEDSTATE = &H157    ' Show or hide the list portion of a combobox    Sub ComboBoxOpenList(cbo As ComboBox, Optional showIt As Boolean = True)    SendMessage cbo.hwnd, CB_SHOWDROPDOWN, showIt, ByVal 0&End Function

Retrieving the current visibility state of the list portion of a ComboBox can be done by sending a message, too. Here is a wrapper function that does it all:

' Returns True if the list portion of a combobox is visibleFunction ComboBoxIsListVisible(cbo As ComboBox) As Boolean    ComboBoxIsListVisible = SendMessage(cbo.hwnd, CB_GETDROPPEDSTATE, 0, _        ByVal 0&)End Function

See also  How IoT Tech Will Transform Logistics

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist