Omnis Technical Note TNGI0012
How to drop down a droplist automatically when entering the dropdown list
For Omnis Studio
By Omnis Technical Support
Problem
Tabbing into a dropdown list or clicking on the dropdown list with the
mouse, the dropdown list gets the focus but does not open up automatically;
it does not drop down automatically. Pressing the 'Cursor Up' or 'Cursor
Down' keyboard buttons displays the previous or next line in the list,
if possible, but does not drop down the list. What happens if one wants
the list to drop down automatically when that field gets the focus?
Solution
One has to trap the 'On evBefore' event of the drop list as below:
$event method -------------
On evBefore
Queue keyboard event {alt-Down}
This works fine when tabbing into the dropdown list using the TAB key,
but some problems occur when the dropdown list gets the focus by clicking
on it with the mouse. One is able to choose a list line but the list does
not close automatically, it stays open. Only a repeated click on the list
will close the list. To work around this problem one has to do the following:
a) In the Action property pane of the dropdown list turn on the mouseevents
by setting
$mouseevents to kTrue.
b) Append the code behind the dropdown list
$event method -------------
On evMouseDown
Quit event handler (Discard event)
On evBefore
Queue keyboard event {alt-Down}
The droplist will now act as required.