2010-02-28 95 views
2

我正在创建一个处理某些X事件的隐形窗口(有点类似于Winforms中的NativeWindow)。这可能在GTK#中吗?还是我需要使用P/Invoke手动创建这样的窗口到X库?在GTK#中创建隐形窗口?

回答

2

我不太确定我明白你想要做什么,但默认情况下,Gtk中的Window s是不可见的。如果你从来没有设置能见度为true:

window.Visible = true; 

,或者如果您明确设置为false:

window.Visible = false; 

它仍将是不可见的。

编辑:这才是真正的解决方案,扎克的问题:

我刚刚查了GTK源代码,你可以在GTK窗口调用实现()做出相应的GTK窗口中创建GDK窗口。 GDK窗口在创建时立即挂接到X服务器。

+0

感谢您的回答!有什么我需要做的,以确保'窗口'连接到X服务器,同时仍然有'窗口'不可见? – 2010-03-01 20:24:40

+0

我不确定,我对X本身并不了解。您可能会在gtk-sharp-list邮件列表中找到更好的答案(http://lists.ximian.com/mailman/listinfo/gtk-sharp-list)。 – 2010-03-01 21:57:45

+1

我刚刚检查了GTK源代码,您可以在GTK窗口中调用'Realize()'使GTK窗口创建相应的GDK窗口。 GDK窗口在创建时立即挂接到X服务器。 – 2010-03-06 00:20:02

0

还有一个Gtk.Invisible类用于捕获事件。