The Message Queue

Sections screen shot The most important Windows Messages are automatically handled and directed to the Sections, Paint, Keyboard, Timer and Mouse and the relevant pre-defined function.

To handle a Mouse Message such as WM_MOUSEMOVE, all you do is change to the Mouse Section and write your code in the pre-created function iplOnMove().

Whenever the screen needs drawing WM_PAINT, the code in the Paint Section is called so this section should be capable of redrawing the whole screen.

Windows can generate hundreds of different messages, most of these are automatically processed with a safe behaviour and then discarded, this is necessary to support a simple to use language. For example you can't access messages such as WM_SIZE (window size changed) or WM_POWERBROADCAST (Windows about to Hibernate).
The Only Small Problem

Debug The Initial Programming Language supports breakpoints and single stepping, however these do not work well in mouse, paint and keyboard Sections.

Generally what happens is that if you break in one section this generates a number of calls to the other sections as the mouse has moved, the screen needs to be redrawn and the keyboard has had key presses.

Improvements to debugging are planned for the future.

padding picture
A c++ error message, its true; aGetWindowText() is not a member of CEdit, but what do I do next?