How to Close VB Combo Box with ENTER key
ID: Q84474
|
The information in this article applies to:
-
Microsoft Visual Basic Standard and Professional Editions for Windows, version 3.0
-
Microsoft Visual Basic programming system for Windows, version 1.0
SUMMARY
If you open a combo box and then use the ARROW keys to scroll through
it, pressing the ENTER key will not close the combo box like a mouse
click will. This is normal behavior. The following example
demonstrates how to make a combo box close when the ENTER key is
pressed.
MORE INFORMATION
The following program makes use of the Windows API SendMessage
function to send the combo box the message to close. This is done only
after the ENTER key is detected in the KeyPress event for the combo box.
Two Windows API Declare statements must be added to your application.
These can be added either in the GLOBAL.BAS module, or in the general
Declarations section of the form containing the combo box.
Steps to Reproduce Behavior
- Run Visual Basic for Windows, or from the File menu, choose New
Project (press ALT, F, N) if Visual Basic for Windows is already
running. Form1 is created by default.
- Add the following two declarations to the global module or the
General Declarations for Form1:
Declare Function SendMessage% Lib "user" (ByVal hWnd%, ByVal
wMsg%, ByVal wParam%, ByVal lParam&)
Declare Function GetFocus Lib "user" () As Integer
(Note that the first Declare statement must be on just one line, not
split across two lines as it is here.)
- Place a combo box on Form1.
- Under the KeyPress event for the combo box, place the following
code:
If KeyAscii = 13 Then
Const WM_USER = &h400
Const CB_SHOWDROPDOWN = WM_USER + 15
Combo1.SetFocus
BoxwHND% = GetFocus()
r& = SendMessage(BoxwHND%, CB_SHOWDROPDOWN, 0, 0)
KeyAscii = 0
End If
- Place a command button on Form1.
- In the Click event for Command1, place the following code:
' This will add some data to the combo box.
for i =1 to 10
Combo1.AddItem STR$(i)
Next i
- Press the F5 key to run the application.
- Choose the Command1 button to fill the combo box.
- Open the combo box with the mouse, and scroll down with the ARROW keys.
Pressing the ENTER key will close the Combo Box.
Additional query words:
2.00 3.00
Keywords :
Version :
Platform :
Issue type :
|