void set_on_close_button( int (*fnc_on_close_button) () )
Descripción:
Añade una función al cerrado de botón automático de CDIV, con la cual estaremos preparados para saber cuando se pulsa el botón 'X' de la ventana, pudiendo utilizar esta función para desactivar el cerrado automático si se desea retornando 0, en la función definida y 1 si se desea que se cierre.
Esta función también se puede definir para eliminar memoria reservada por el usuario que de otra manera si se pulsase dicho botón no se eliminaría.
Nota: CDIV eliminará automáticamente la memoria reservada en sus funciones especificas (procesos, load_fpg, load_image, load_sound, etc...).
int my_on_close()
{
textprintf(screen, font, 0, 8,
makecol(255, 255, 255), "¿Desea salir del programa (S/N)?");
// Espera hasta que se puse una tecla
char p = readkey() & 0xff;
// Si pulsa 'S' se sale del programa
if( (p == 's') || (p == 'S') )
return 1; // Sale del programa
else
return 0; // Continua el programa
}
MAIN_PROGRAM_CDIV
BEGIN_PROGRAM
set_on_close_button(my_on_close);
set_gfx(GFX_AUTODETECT_WINDOWED);
set_mode(m320x200);
write(0,0,0,0, "Pulse la X de la barra");
LOOP
FRAME;
END_PROGRAMEn el ejemplo si se pulsa la X de la ventana nos preguntará si deseamos salir del programa si se pulsa 'S' se saldrá del programa y si se pulsa 'N' continuará la ejecución.