2010-02-28 4 views
2

Je cherche à créer une fenêtre invisible pour le traitement de certains événements X (un peu comme NativeWindow dans Winforms). Est-ce possible dans GTK #? Ou dois-je créer manuellement une telle fenêtre en utilisant P/Invoke dans les bibliothèques X?Créer une fenêtre invisible dans GTK #?

Répondre

2

Je ne suis pas certain de comprendre ce que vous essayez de faire, mais Window s dans Gtk sont invisibles par défaut. Si vous ne définissez la visibilité sur true:

window.Visible = true; 

ou si vous définissez explicitement à false:

window.Visible = false; 

il restera invisible.

Edit: Ceci est la vraie solution au problème de Zach:

Je viens de vérifier le code source GTK, et vous pouvez appeler realize() sur une GTK fenêtre pour la fenêtre GTK créer son correspondant Fenêtre GDK. La fenêtre GDK est immédiatement accrochée au serveur X lors de sa création.

+0

Merci pour votre réponse! Y a-t-il quelque chose que je dois faire pour m'assurer que 'Window' est connecté au serveur X, tout en ayant le' Window' invisible? –

+0

Je ne suis pas sûr, je ne sais pas vraiment quoi que ce soit à propos de X lui-même. Vous trouverez peut-être une meilleure réponse dans la liste de diffusion gtk-sharp-list (http://lists.ximian.com/mailman/listinfo/gtk-sharp-list). –

+1

Je viens de vérifier le code source GTK, et vous pouvez appeler 'Realize()' sur une fenêtre GTK pour que la fenêtre GTK crée sa fenêtre GDK correspondante. La fenêtre GDK est immédiatement accrochée au serveur X lors de sa création. –

0

Il existe également une classe Gtk.Invisible qui est utilisée pour capturer des événements.