Listing 7

// cool_dlg.h
struct cool_dlg : wnd_extend<resizable_wnd,cool_dlg> {
        // ...
};

// cool_dlg.cpp
struct cool_dlg_handler_b 
  : event_handler<cool_dlg_handler_b, cool_dlg,resize_wnd, events_before> {

    handle_event on_size() {
        // called before resize_wnd' WM_SIZE handler
        return command<WM_SIZE>().HANDLED_BY( &me::on_size);
    }
};

struct cool_dlg_handler_a 
  : event_handler<cool_dlg_handler_a, cool_dlg,resize_wnd, events_after> {

    handle_event on_size() {
        // called after resize_wnd' WM_SIZE handler
       return command<WM_SIZE>.HANDLED_BY( &me::on_size);
    }
};