Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Pascal
Expertise: Beginner
Mar 19, 1997

How to force a drop-down combo to drop its list down

Question:
How can I force a drop-down combo to drop its list down?

Answer:
This is done by using a Windows message called CB_SHOWDROPDOWN.

I recommend that you look in the WinAPI help under messages to see what else you can do with them.

The nice thing about messaging in Windows is that the calls are all handled through the Windows API SendMessage routine, which requires four parameters:

    Parameters of SendMessage function
  1. Window Handle (can be an object handle)
  2. Message — specifies the message to be sent (in our case, CB_SHOWDROPDOWN)
  3. wParam, a 16-bit message-dependent parameter
  4. lParam, a 32-bit message-dependent parameter (see WinHelp for specifics on what goes into wParam and lParam)

The gist of this is that Windows messages are performed in a very standard way, so if you haven't done them much, I encourage you to investigate ways to employ them in your code.

To get a combo-box list to automatically drop down when you enter it, put the following code into the OnEnter event:

procedure TForm1.ComboBox1Enter(Sender: TObject);

begin

  SendMessage(ComboBox1.handle, CB_SHOWDROPDOWN, Integer(True), 0);

end;



Likewise, you can close the drop-down when you exit by putting the following code into the OnExit event of the combo box:

procedure TForm1.ComboBox1Exit(Sender: TObject);

begin

  SendMessage(ComboBox1.handle, CB_SHOWDROPDOWN, Integer(False), 0);

end;



This is probably how the Intuit guys did it with Quicken. So go for it!

DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date