Listing 5
using namespace win32::gui::draw;
struct focus_handler : surface::sync_handler<focus_handler,window_base> {
handle_event on_set_focus() {
ptr<> surf = wnd_surface(self)->try_find_surface("is_focused");
if ( surf) surf->is_visible(true);
return event_ex<wm::keyb::set_focus>().HANDLED_BY(&me::on_set_focus);
}
handle_event on_kill_focus() {
ptr<> surf = wnd_surface(self)->try_find_surface("is_focused");
if ( surf) surf->is_visible(false);
return event_ex<wm::keyb::kill_focus>().HANDLED_BY(&me::on_kill_focus);
}
};