Centrer une fenêtre NSWindows
wisky
Membre
Hello à tous,
Je vous pose une colle ( :P c'est moi qui suis collé), comment faire pour centrer une fenêtre par rapport à l'écran principal?
J'ai cherché, mais j'ai pas trouvé...
Merci d'avance
Je vous pose une colle ( :P c'est moi qui suis collé), comment faire pour centrer une fenêtre par rapport à l'écran principal?
J'ai cherché, mais j'ai pas trouvé...
Merci d'avance
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
T'as vraiment cherché partout ?
Dans NSWindow, tu as la méthode center...
.
+
Chacha
Je sui vraiment bigleux.
Merci
J'ai donc juste changer les coordonées de x et y (origine)
pour x => largeur de l'ecran (sRect) divisée par 2, on trouve le centre de l'abscisse par rapport à l'ecran. Pour maintenant trouvé le centre de l'abscisse en prenant en compte la window, on soustrait le cente abscisse de l'écran par le centre abscisse de la fenetre (largeur de la fenetre divisée par 2).
Pour y => même procédé mais avec la hauteur.
J'espère que je ne me suis pas trompé mais bon j'ai fait ça rapidement car je suis au lycée donc pas trop de temps disponible.
[tt]NSRect nRect = NSMakeRect(((sRect.size.width/2)-(wRect.size.width/2)), ((sRect.size.height/3*2)-(wRect.size.height/3*2)), wRect.size.width, wRect.size.height);[/tt]
Dans ce cas, autant prendre la methode center de NSWindow ;D
Pour ce genre de calculs il est plutôt conseillé d'utiliser la méthode visibleFrame, qui retranche les zones occupées par la barre de menus et le dock.
La méthode screen de NSWindow renvoie [NSScreen mainScreen] si la fenêtre est majoritairement sur l'écran principal. Sinon, l'écran sur laquelle elle se trouve est parmi la liste retournée par [NSScreen screens].
.