Listing 7

// Show a login Dialog, which allows the user
// to enter the User Name, and a password
struct login_info {
    std::string user_name;
    std::string passw;
};
// ... show some initial data...
login_info inf;
inf.use_name = "anonymous";
inf.passw = "anon";
create_save_dlg(IDD_login, save_dlg::corresp()
    .add_val(inf)
    .add_corresp(&login_info::user_name, ID_user_name)
    .add_corresp(&login_info::passw, ID_pass) );
// here, 'inf' is updated with what the user entered