Listing 4

struct wm_set_bitmap : unique_event<wm_set_bitmap> {
  wm_set_bitmap(int id, bool is) : id(id), is_bmp(is) {}
  int id;
  bool is_bmp;
};

struct wm_post_create : unique_event<wm_post_create> {};

struct wm_post_hide : unique_event<wm_post_hide> {
  wm_post_hide(HWND child) : child(child) {}
  HWND child;
};


wnd<> w = ...;
w->send_event( wm_set_bitmap(ID_add,true));
w->send_event( wm_set_bitmap(ID_del,false));
w->send_event( wm_post_hide( w->child(IDOK) );
w->send_event( wm_post_hide( w->child(IDCANCEL) );

w->post_event( wm_post_create() );