evnt.buff[0] = WM_DESTROY
evnt.buff[1] = application id
evnt.buff[2] = 0
evnt.buff[3] = window handle
evnt.buff[0] = WM_BOTTOMED
evnt.buff[1] = application id
evnt.buff[2] = 0
evnt.buff[3] = window handle
A window should be iconified ...
evnt.buff[0] = WM_ICONIFYA window should be uniconified ...
evnt.buff[1] = application id
evnt.buff[2] = 0
evnt.buff[3] = window handle evnt.buff[4-7] = position and size of the icon window
evnt.buff[0] = WM_UNICONIFYAll windows should be iconified ...
evnt.buff[1] = application id
evnt.buff[2] = 0
evnt.buff[3] = window handle evnt.buff[4-7] = position and size of the uniconified window
evnt.buff[0] = WM_ALLICONIFY
evnt.buff[1] = application id
evnt.buff[2] = 0
evnt.buff[3] = window handle evnt.buff[4-7] = position and size of the main icon window
evnt.buff[0] = WM_FORM
evnt.buff[1] = application id
evnt.buff[2] = 0
evnt.buff[3] = window handle
evnt.buff[4] = selected object index
evnt.buff[5] = keyboard state (see evnt_button())
evnt.buff[0] = MN_SELECTEDValues of word 5,6 and 7 are an extension of AES 3.3 (this feature needs to be tested with appl_getinfo()). However, WinDom emulates it for all TOS version.
evnt.buff[1] = application id
evnt.buff[2] = 0
evnt.buff[3] = title menu index
evnt.buff[4] = item menu index
evnt.buff[5-6] = address of the menu root object
evnt.buff[7] = index of object parent's selected item
When a windom menu is selected, it is not easy to retrieve the window handle hosting the menu : you have to walk into the windows chained list and test the value of menu.root field of the WINDOW structure.
evnt.buff[0] = WM_TOOLBAR
evnt.buff[1] = application id
evnt.buff[2] = 0
evnt.buff[3] = window handle
evnt.buff[4] = selected object index
evnt.buff[5] = keyboard state (see evnt_button())
evnt.buff[0] = AP_LOADCONF
evnt.buff[1] = application id
evnt.buff[0] = AP_BUTTON
evnt.buff[1] = application id
evnt.buff[2] = 0
evnt.buff[3] = coordinate x of the mouse
evnt.buff[4] = coordinate y of the mouse
evnt.buff[5] = mouse button state (see evnt_button())
evnt.buff[6] = keyboard state (see evnt_button())
evnt.buff[0] = AP_KEYBD
evnt.buff[1] = application id
evnt.buff[2] = 0
evnt.buff[3] = scancode of the key hited
evnt.buff[4] = keyboard state (see evnt_button())
evnt.buff[0] = message
evnt.buff[1] = application id
evnt.buff[2] = 0
This function attached to this message is called one and ony one time per WM_REDRAW event. A WM_REDRAW function can be called several time for a same event because because EvntWindom() calls the binded function for each rectangle of the AES rectangle list (it is the AES method to draw windows partially occlused). In some case, this WinDom feature can be an handicap, specially if you want perform one action per WM_REDRAW. In this case, you can catch the WM_PREREDRAW event which it call only one time (by EvntWindom()) for each WM_REDRAW event.
Notice, if you catch the WM_PREREDRAW event instead of the WM_REDRAW message, you can control complety the event and you disable the WinDom handling of redraw event (clipping on each AES rectangle).