2009-06-09 5 views
1

J'ai besoin de dessiner quelques petites fenêtres non décorées au-dessus de la fenêtre d'une autre application. Chacune de ces fenêtres contient juste une étiquette courte. Cela fonctionne bien mais les fenêtres sont trop grandes pour mon but. Il semble que si Windows ne permet pas plus de 104 x 27 toplevel windows, je peux me tromper. Je n'ai pas testé sur un autre backends. Je voudrais les réduire à la taille requise pour afficher l'étiquette. Y a-t-il un moyen d'accomplir cela?Existe-t-il un moyen de rendre une fenêtre GTK supérieure à la taille minimale par défaut?

En essayant des choses, j'ai pensé que le réglage de l'indice de type avec gtk_window_set_type_hint à GDK_WINDOW_TYPE_HINT_UTILITY permet à la fenêtre de rétrécir horizontalement mais pas verticalement. Je ne suis pas sûr de savoir quelles autres implications cela a. Mais cela n'a pas résolu le problème de toute façon.

Je suis à la recherche d'une solution portable mais les réponses à la plateforme sont également les bienvenues. Toute aide appréciée.

Editer: Comme d'habitude, la solution est triviale. J'avais complètement oublié le type de fenêtre GTK_WINDOW_POPUP. Edit: Rendre la fenêtre GTK_WINDOW_POPUP a quelques effets secondaires malheureux qui la rendent inutilisable pour mon but. J'ai finalement obtenu GTK_WINDOW_TOPLEVEL pour fonctionner comme prévu. La clé était de faire gtk_window_set_resizable(window, FALSE) après que la fenêtre a été exposée.

+1

Vous devez ajouter une réponse à votre question, puis l'accepter pour que d'autres personnes la trouvent utile. – kazanaki

Répondre

1

Utilisez gtk_window_set_resizable, cela affecte l'utilisateur redimensionne, qui inclut apparemment les redimensionnements demandés par le gestionnaire de fenêtres. Le mettre à FALSE rend donc la valeur programmatique collée.

Questions connexes