Gestione tasti premuti in GTK + (gtkD)
-
05-09-2019 - |
Domanda
Sto giocando intorno con gtkD (associazione di un D per GTK +)
Ho un oggetto window
, istanza di gtk.MainWindow
. Voglio gestire le pressioni dei tasti su di esso.
- Come?
- Come faccio a trattare con tasti speciali (ad esempio i tasti freccia, PgSu / PgGiù ecc)?
PS So che questo tipo di domande si può rispondere con Google e roba, ma ho visto molto domande "semplici" a StackOverflow, così ho pensato che chiede non fa male.
Inoltre, a volte, le cose di base tendono ad essere sepolto sotto pagine di documentazione.
Soluzione
Ecco il codice di esempio che può aiutare
import gdk.Keysyms; //keys enums are defined here
private void func(Button sender)
{
//button pressed
}
but.addOnClicked(&func);
private bool func2(GdkEventKey* ev, Widget sender)
{
if(ev.keyval == GdkKeysyms.GDK_Tab)
return true; //we handle Tab ourselves and prevents default behaviour
else
return false; //we didnt handle it so gtk does default behaviour
}
win.addOnKeyPress(&func2);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow