Updated September 2018; see History
opflags specifies any sensible combination of the symbols below (symbols defined in ashell.def):
Symbol |
Value |
Description |
EVW_NEXT |
&h00000001 |
Set initial focus on control following the one specified by ctlid. Generally not used, particularly if ctlid = 0, since the focus will automatically be placed on the first control within the specified parent group. |
EVW_NOWAIT |
&h00000002 |
Set the focus and return (do not wait for an event). This is a bit of an oxymoron, since it directly contradicts the idea of waiting for an event, and thus is only useful in very limited circumstances, where you just want to put the focus on a control while doing some time consuming calculations. |
&h00000004 |
Exit from the wait operation with EXITCODE 3 or 5 rather than wrap. | |
EVW_NOFOCUS |
&h00000008 |
This is another exotic switch, which eliminates the initial step of setting the focus on an appropriate control when starting the eventwait. Probably the only situation where it would be useful is if, due to the context of the program, the application knew that it wanted to start with the focus where it currently was, without knowing where that was.. |
&h00000010 |
Allow keyboard input. | |
&h00000020 |
Expand scope to include grandchildren, great-grandchildren, etc. | |
&h00000040 |
Expand scope to include siblings of parentid. | |
EVW_INFLD
(or)
EVW_EDIT |
&h00000080 |
Allow navigation keys to move the focus to editable fields, such as EDIT, COMBO, DATE/TIME and XTREE controls. Otherwise EVENTWAIT ignores controls except for buttons and controls with the MBF_TABSTOP flag explicitly set. (Standard push buttons get this flag automatically.) Note that unlike the case with buttons, when EVENTWAIT puts the focus on an editable field, it actually returns to the application with the same exitcode as if the field had been clicked (allowing the application to take over the editing operation.) |
EVW_PREV |
&h00000100 |
This is the inverse of the EVW_NEXT option, and was provided mainly to satisfy some arcane notion of symmetry. |
&h00000200 |
Squelch radio button exits on focus change. | |
EVW_TABEXIT |
&h00000400 |
This option overrides the normal behavior of the Tab and Shift+Tab, so that instead of advancing the focus, they simply exit, with exitcode 7 and -35, respectively. |
&h00000800 |
Allow "accelerator" keys. | |
&h00001000 |
Raw keyboard input. | |
EVW_HAREXIT |
&h00002000 |
Exit on horizontal Arrows. Exitcodes: Left=2, ShiftLeft=-36, Right=12, ShiftRight=-38 |
EVW_VAREXIT |
&h00004000 |
Exit on vertical Arrows. Exit codes: Up=3, ShiftUp = -37; Down = 5; ShiftDown = -39 |
&h00010000 |
Incoming exitcode overrides CTLID. | |
&h00040000 |
Like EVW_EXCDFOCUS; see detailed description. | |
EVW_CTLARROWS |
&h00080000 |
May be added to EVW_VAREXIT or VAR_HAREXIT to cause Ctrl+Arrow to return a unique exitcode (offset by -16 from the Shift+Arrow exitcodes). Without this qualifier, Ctrl+Arrow returns the same exitcode values as the arrow keys by themselves. EVW_CTLARROWS also causes Ctrl+Plus and Ctrl+Minus- (i.e. Ctrl in conjunction with the Plus and Minus keys on the numeric keypad) to return EXITCODEs -62 and -61, respectively. |
EVW_CTLCLIPBD |
&h00100000 |
Causes the normal Windows clipboard shortcuts to be returned as exitcodes: ^C=-56, ^V=-57, ^X=-58. Also causes ^Z to return EXITCODE -60. |
EVW_NODELAY |
&h00200000 |
Removes the timer filter that normal restricts click events for a single control to one per 1/2 second. This is normally useful for preventing (click bounce), but in some cases (like a scroll button), you may want to allow more rapid click response by specifying this flag. |
EVW_ENTER |
&h00400000 |
Causes the ENTER key to return exitcode=33, instead of acting like a click on the currently focused control. This might be useful to implement a default action that was independent of the currently-focused button. Note that you can identify the currently-focused button from the returned ctlid parameter. |
EVW_ULFOCUS |
&h00800000 |
Clickable static text controls are highlighted to indicate when they have the focus. The default highlight effect is a dotted line around the perimeter of the control. As an alternative, you can specify this flag (EVW_ULFOCUS), which changes the highlight effect to the combination of bold+underline. Note: PNG and GDIPLUS images are excluded from this treatment on the theory that they are amenable to a more sophisticated highlighting approach. |
EVW_BGFOCUS |
&h01000000 |
Provides an alternative way to highlight static text controls that have the eventwait focus. Instead of underlining the text, as with EVW_ULFOCUS, it makes the background color slightly lighter. This probably only makes sense with static 'buttons' that have colored backgrounds. Note that if the control is too light, it will be darkened instead. |
History
2018 September, A-Shell 6.5.1647: Added EVW_BGFOCUS flag
2013 November, A-Shell 6.1.1368: Added EVW_ULFOCUS flag