QTIPS - Calling an Action Bar from a Pulldown Menu
Published By | Date | Version | Knowledge Level | Keywords |
---|---|---|---|---|
Sprezzatura Ltd | 01 JAN 1993 | 3.01+ | EXPERT | PULLDOWN_WINUS, MENU, INRECT |
Dave Mills continues "This can be easily accomplished. Cascading pulldown menus are achieved by AREV by recursive calls to Pulldown_Winus. Pulldown_winus only recognises a code of "M" for this, all other calls are passed to Catalyst. The following calls all result in the display of an Action Bar menu.
Code | Command |
---|---|
MP | MenuName |
X | RunMenu MenuName |
M;M | Menu1;Menu2 |
S;M | Subroutine;MenuName |
MP is least messy. The P modifier only suspends playback of captured keystrokes."
Editor's note -
As Dave points out, ANY code other than M is passed to Catalyst, thus any modifier may be used. If you don't want to suspend playback then use a ! or similar character which will just be ignored.
The additional values of the MenuLevel dynamic array in 3.0 are as follows
<1> | Menu level |
<2,1> | Xpos |
<2,2> | Ypos |
<3> | When in the first level of Pulldown from an action bar it is possible to arrow left and right and move between menus without returning to the action bar. This field is set to either the scan code for cursor right or the scan code for cursor left so that the calling program can know which way the user has opted to move. If you are calling Pulldown_Winus directly (or you have shelled it) you can take advantage of this information. |
<4> | Only seems to be set to true when < 3 > is set. |
<5> | The X position of the previous menu. |
<6> | INRECT location string (see REVMEDIA passim) which on entry to Pulldown_Winus contains the location of the previous pulldown menu along with a string of 0,0,0,0 coordinates for each subsequent menu level. |
<7> | INRECT location string for the menu line just selected. |
<8> | Not used |
<9> | Not used |
<10> | Unable to determine. |
(Volume 4, Issue 8, Pages 11,12)