Listing 11

handle_event on_tab_rclick() {
    // IDNAME - control that is only used for renaming a tab;
    // is shown only here while the user is renaming
    child<edit>(IDNAME)->show_wnd(SW_SHOW);
    signal result = child<edit>(IDNAME)->wait( 
        wait_for::key_pressed(VK_ENTER) ||
        wait_for::key_pressed(VK_ESCAPE) ||
        wait_for::key_pressed(VK_TAB) ||
        wait_for::kill_focus);
    if (result == wait_for::key_pressed(VK_ENTER) {
        // Enter pressed - save this tab' name
    }    
    child<edit>(IDNAME)->show_wnd(SW_HIDE);
    return notify<IDTAB,NM_RCLICK>().HANDLED_BY(&me::on_tab_rclick);
}