Listing 5
struct no_rclick_dlg : wnd_extend<dialog,no_rclick_dlg> {
no_rclick_dlg();
};
struct no_rclick_handler
: subclass::manual_event_handler<no_rclick_handler,edit> {
handle_event on_down(answer a) {
a = event_handled; // stop further processing
return event<WM_RBUTTONDOWN>().HANDLED_BY(&me::on_down);
}
handle_event on_up(answer a) {
a = event_handled; // stop further processing
return event<WM_RBUTTONUP>().HANDLED_BY(&me::on_up);
}
};
no_rclick_dlg::no_rclick_dlg() {
wnd_iterator<edit> b = find_wnd_range<edit>(this,search_children), e;
for ( ; b != e; ++b)
subclass::add_manual_event_handler<no_rclick_handler>(
*b,events_before);
}