# // ProcessMessage < PSTRUCT 'Reply, P_PROGRAM_STATE '/State, P_MSG Msg > 
+
  # // Process < P_MSG Msg >
               + Msg->Message = WM_BUTTON_1_UP, WM_BUTTON_2_UP
  +
    ProcessMouseMessage (State, Msg)
  ;

  # // Process < P_MSG Msg >
               + Msg->Message = WM_CHAR
  +
    ProcessKeyboardMessage (State, Msg)
  ;

  # // Process < P_MSG Msg >
               + Msg->Message = WM_PAINT
  +
    Presentation_space = BeginPaint (Msg->Window)
    ProcessPaintMessage (State, Msg, Presentation_space)
  ,
    Free (&Presentation_space)
  ;

  # // Process < P_MSG Msg >
  +
    .
  ;

  Process (Msg)
;
