Archivi (sola lettura) => Domande tecniche (Gambas 2) => Topic aperto da: g.paolo - 14 Aprile 2008, 11:16:54
Titolo: inibizione tasti
Inserito da: g.paolo - 14 Aprile 2008, 11:16:54
Avete presente il comando On Key di VB che permetteva di intercettare una combinazione tasti durante l'uso del programma? Non riesco a trovare qualcosa di simile in gambas perchè vorrei inibire la combinazione Alt+F4 che normalmente fa uscire dall'applicazione.
Titolo: Re: inibizione tasti
Inserito da: md9327 - 16 Aprile 2008, 12:18:10
Non mi sembra ci sia una cosa simile, però puoi intercettare la chiusura tramite il suo evento. Se l'applicazione prevede una MainWindow, la chiusura puoi intercettarla con Form_Close() e annullare l'evento se la causa non è quella voluta.
Non sò, questa è un'idea che applico normalmente nei miei programmi.
Titolo: Re: inibizione tasti
Inserito da: g.paolo - 16 Aprile 2008, 12:44:40
Penso che l'idea sia ottima, visto che non esiste l'opzione che cercavo. E' ovvio che in tal caso dovrei estendere il principio che hai spiegato a tutti i form se volessi inibire la chiusura di tutti, mentre in VB bastava solo una routine nel modulo o form d'avvio. Vedrò di impiegarlo solo sul mainform facendo a meno del resto. Grazie.
Titolo: Re: inibizione tasti
Inserito da: md9327 - 17 Aprile 2008, 11:00:06
Bè, l'idea infatti era per la main, per le altre non ho problemi perchè poi l'uscita la controllo. Per la mainform la cosa è diversa perchè questa chiude anche l'applicazione, con i conseguenti problemi che hai indicato. Se ci metti anche una bella Message.Warning penso tu possa risolvere con poche righe di codice.
Titolo: Re: inibizione tasti
Inserito da: leo72 - 17 Aprile 2008, 11:47:40
Risposta = Message.Warning("Vuoi chiudere l'applicazione?", "Sì", "No") IF Risposta = 2 THEN STOP EVENT '-- l'utente ha scelto no perciò fermi la chiusura END IF
END
Titolo: Re: inibizione tasti
Inserito da: g.paolo - 17 Aprile 2008, 12:33:48
Molto bene. Con il Vs. lodevole contributo ho risolto il problema!
Titolo: Re: inibizione tasti
Inserito da: - 18 Maggio 2008, 17:40:57
Bello bello
PUBLIC SUB Form_Close() STOP EVENT ME.hide END
Me lo mettto in trayicon senza chiuderlo.....
Ovviamente setto la trayicon senno mi resta li e chi lo ripesca più ? :-P