# Comment faire pour changer l'aparence d'une fenetre metal/non metal ?



## veve (8 Mars 2004)

Comment faire pour changer l'aparence d'une fenetre metal/non metal dans le code?
(desolé si la question a étè posée je n'ai pas reussi à la trouver)


----------



## macmaniaque (8 Mars 2004)

Dans le code je sais pas, mais tu peux le changer dans Interface builder, dans les infos de ta fenetre tu as une case a coché.


----------



## Eddy58 (8 Mars 2004)

Il faut initialiser la fenêtre avec le "styleMask" et les constantes voulues.

- (id)initWithContentRectNSRect)contentRect styleMaskunsigned int)styleMask backingNSBackingStoreType)backingType deferBOOL)flag

Ici la constante est "NSTexturedBackgroundWindowMask"
Voir les autres constantes dans NSWindow...


----------



## veve (9 Mars 2004)

mais ceci ne peut etre fait qu'au demarrage(initialisation de la fenetre) moi je voudrai pouvoir le faire a tout moment, par exemple en changeant un parametre dans les preference et que la modification s'aplique tout de suite.
Interface builder lui justement le fait encours d'execution en apuyant sur le bouton switch "Has texture".


----------



## la tortue (9 Mars 2004)

Interface Builder "simule" l'affichage de la fenêtre, il n'affiche pas la "vraie" fenêtre. A ma connaissance, ce que tu veux faire n'est pas possible...


----------



## Eddy58 (9 Mars 2004)

Le système ne permet pas de modifier dynamiquement ce paramètre. Il faut ruser.....par exemple pourquoi ne pas faire deux fichiers .nib de ta fenêtre ? L'un sans texturage, et l'autre avec. Ensuite tu permutes tes fichiers .nib selon ton choix.


----------



## veve (10 Mars 2004)

et en utilisant une sous-classe (ou categorie) de NSWindow ? ou j'ajoute une methode pour modifier la variable responsable de l'apparence.


----------



## la tortue (10 Mars 2004)

Tu peux faire autant de sous-classes de NSWindow que tu veux, ça ne t'avancera pas plus, puisque tu ne pourras toujours pas changer le styleMask de la fenêtre qui est défini lors de l'initialisation...


----------



## veve (13 Mars 2004)

Mais est qu'il n'y a aucun moyen de changer l'aspect de la fenetre une fois ouverte et affichée ?


----------



## Eddy58 (14 Mars 2004)

La meilleure solution selon moi, est de faire deux fichiers .nib, que tu permutes au moment voulu.....


----------

