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_PROGRAM
En 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.