Frage

Ich spiele um mit gtkD (a D für GTK + Bindung)

Ich habe eine window Objekt, eine Instanz von gtk.MainWindow. Ich möchte Drücken von Tasten auf sie zu handhaben.

  • Wie?
  • Wie gehe ich mit Sondertasten (zum Beispiel Pfeiltasten, pgup / PgDn usw.)?

PS Ich weiß, diese Art von Fragen mit Google und Sachen beantwortet werden kann, aber ich habe viel „einfacher“ Fragen auf Stackoverflow gesehen, so dass ich dachte fragen, tut nicht weh.

Plus, manchmal neigen grundlegende Dinge unter Seiten Dokumentation bestattet werden.

War es hilfreich?

Lösung

Hier ist ein Beispielcode, der helfen kann,

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);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top