Manipulation de touches dans GTK + (gtkD)
-
05-09-2019 - |
Question
Je suis jouer avec gtkD (un D obligatoire pour GTK +)
J'ai un objet window
, instance de gtk.MainWindow
. Je veux gérer les appuis sur elle.
- Comment?
- Comment traiter avec les touches spéciales (par exemple les touches fléchées, pgup / pgdn etc)?
PS Je sais que ce genre de questions peut répondre avec Google et d'autres choses, mais j'ai vu beaucoup « plus simples » questions sur StackOverflow, donc je me suis demande ne fait pas mal.
De plus, parfois, les choses de base ont tendance à être burried dans les pages de documentation.
La solution
Voici un exemple de code qui peut aider
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);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow