문제

나는 함께 놀고있다 gtkd (GTK+에 대한 D 결합)

나는있다 window 객체, 인스턴스 gtk.MainWindow. 키 프레스를 처리하고 싶습니다.

  • 어떻게?
  • 특수 키 (예 : 화살표 키, PGUP/PGDN 등)를 어떻게 처리합니까?

추신 : 나는 이러한 종류의 질문이 Google과 물건으로 답변 될 수 있다는 것을 알고 있지만 stackoverflow에서 많은 "간단한"질문을 보았으므로 묻는 것이 아프지 않은 것으로 생각했습니다.

또한 때로는 기본적인 것들이 문서 페이지에 묻히는 경향이 있습니다.

도움이 되었습니까?

해결책

다음은 도움이 될 수있는 샘플 코드입니다

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);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top