Listing 1

// new way (using Resource Splitter)
handle_event on_test() {
  ...
  return event_ex<m_test_::ev::clicked>().HANDLED_BY(&me::on_test);
}

handle_event on_timer(wm::timer::arg a,  mark_event_not_handled) {
  if ( a.timer_id == REFRESH_TESTING)
    refresh_testing();
  return event_ex<wm::timer>().HANDLED_BY(&me::on_timer);
}

handle_event on_size() {
  save();
  return event_ex<wm::size>().HANDLED_BY(&me::on_size);
}


// old way
handle_event on_click(mark_event_not_handled) {
  return command<ID_uname,BN_CLICKED>().HANDLED_BY(&me::on_click);
}

handle_event on_timer(w_param<int> id, event_answer a) {
  if ( id == TIMER_REFRESH_TOOLBAR) 
    s_refresh_toolbars->do_refresh();
  else
    a = event_not_handled;
  return event<WM_TIMER>().HANDLED_BY(&me::on_timer);
}

handle_event on_size() {
  self->invalidate(); 
  return event<WM_SIZE>().HANDLED_BY(&me::on_size);
}