Most controls handle or answer somehow to common messages like: ACT_MOUSE_MOVE_CHILD ACT_KEY_CHILD ACT_LEFT_DOWN_CHILD ACT_LEFT_UP_CHILD ACT_LEFT_DRAG_CHILD ACT_PAINT_CHILD ACT_OS_CREATE ACT_CLOSE_CHILD Controls are kind of "transparent" to other "user" messages. The only control that has additional "private" messages is the SCROLL BAR. The battle in between the API based interfaces and messages based interfaces is not yet decided in SOL. As it looks now the API is winning but messages are CORE component and it is their destiny to "stay". The "CHILD" versus "DESK" suffix in messages name is a "legacy" issue and will fade away. Here is a list of most common messages you will encounter in SOL ------------------------------------------------------------------- Message wmd_param1 wnd_param2 ------------------------------------------------------------------- ACT_WHEEL_UP mouse_event_dz 0 ACT_WHEEL_DOWN mouse_event_dz 0 ACT_MOUSE_MOVE_DESK mouse_event_x mouse_event_y ACT_LEFT_DOWN_DESK mouse_event_x mouse_event_y ACT_LEFT_DOWN_CAPTURE mouse_event_x mouse_event_y ACT_LEFT_UP_DESK mouse_event_x mouse_event_y ACT_LEFT_UP_CAPTURE mouse_event_x mouse_event_y ACT_LEFT_DRAG_DESK mouse_event_x mouse_event_y ACT_RIGHT_DOWN mouse_event_x mouse_event_y ACT_RIGHT_UP mouse_event_x mouse_event_y ACT_RIGHT_DRAG mouse_event_x mouse_event_y ACT_NOTIFY_FRAME main_loop_crt 0 ACT_KEY_DESK key_ascii_code key_scan_code ACT_CLOSE_CHILD 0 0 -from kill mouse_event_x mouse_event_y -from user ACT_OS_CREATE 0 0 ACT_PAINT_DESK 0 0 ACT_PAINT_CHILD 0 0 ACT_SCROLL_SET_MAX scr_bar_max ? ACT_SCROLL_SET_MIN scr_bar_min ? ACT_SCROLL_SET_CRT scr_bar_crt ? ;---------------------------------- ; end of list ;----------------------------------