나는 그들이 위젯의 표준 핸들러에 전달되기 전에 여러 이벤트를 가로 챌 필요, 그래서이 이미 완료했습니다 :Gdk.Window.AddFilter에 전달 된 FilterFunction을 어떻게 사용할 수 있습니까?
그래서//Inside the definition of my custom widget
protected override void OnRealized()
{
base.OnRealized();
this.GdkWindow.AddFilter(PreFilterMessage);
...
}
가, 나중에 내가 PreFilterMessage 방법을 정의
public Gdk.FilterReturn PreFilterMessage(IntPtr xEvent, Gdk.Event evnt)
{
Console.WriteLine(evnt.Type);
...
}
그러나 문제는 내가 테스트 할 때 어떤 메시지가 창 (KeyEvent, ButtonEvent 등)에 도착하더라도 항상 "아무것도"를 출력하지 않으므로 매번 빈 이벤트 만 가져옵니다. 어딘가에 실제 정보가 xEvent 매개 변수를 통해 읽히지 만 IntPtr이므로 필요한 정보 (이벤트 유형, 포인터 좌표 등)를 얻는 방법을 알지 못합니다.
아무에게도 어떻게 할 수 있습니까? 미리 감사드립니다.