我正在创建一个处理某些X事件的隐形窗口(有点类似于Winforms中的NativeWindow
)。这可能在GTK#中吗?还是我需要使用P/Invoke手动创建这样的窗口到X库?在GTK#中创建隐形窗口?
2
A
回答
2
我不太确定我明白你想要做什么,但默认情况下,Gtk中的Window
s是不可见的。如果你从来没有设置能见度为true:
window.Visible = true;
,或者如果您明确设置为false:
window.Visible = false;
它仍将是不可见的。
编辑:这才是真正的解决方案,扎克的问题:
我刚刚查了GTK源代码,你可以在GTK窗口调用实现()做出相应的GTK窗口中创建GDK窗口。 GDK窗口在创建时立即挂接到X服务器。
0
还有一个Gtk.Invisible类用于捕获事件。
感谢您的回答!有什么我需要做的,以确保'窗口'连接到X服务器,同时仍然有'窗口'不可见? – 2010-03-01 20:24:40
我不确定,我对X本身并不了解。您可能会在gtk-sharp-list邮件列表中找到更好的答案(http://lists.ximian.com/mailman/listinfo/gtk-sharp-list)。 – 2010-03-01 21:57:45
我刚刚检查了GTK源代码,您可以在GTK窗口中调用'Realize()'使GTK窗口创建相应的GDK窗口。 GDK窗口在创建时立即挂接到X服务器。 – 2010-03-06 00:20:02