2010-12-06 6 views
0

J'ai créé un composant de fenêtre mais il va positionner aléatoirement si j'ouvre sa fenêtre, les positions x et y ne compenseront que les éléments, pas la fenêtre. Comment puis-je le positionner au centre de l'écran?Composant de la fenêtre centrale

Flex 4 (AS3):

private function openDoc():void { 
    if (newWindow != null) newWindow.close(); 
    newWindow = new docwin(); 
    newWindow.width = 500; 
    newWindow.height = 320; 
    newWindow.type = "normal"; 
    newWindow.systemChrome = "standard"; 
    newWindow.transparent = false; 
    newWindow.setStyle("showFlexChrome", true); 
    newWindow.showStatusBar = false; 
    newWindow.minimizable = false; 
    newWindow.maximizable = false; 
    newWindow.resizable = false; 
    newWindow.open(); 
} 

Répondre

1

Essayez ceci:

newWindow.x = Math.ceil((Capabilities.screenResolutionX - newWindow.width)/2); 
newWindow.y = Math.ceil((Capabilities.screenResolutionY - newWindow.height)/2); 
+0

En fait, ajoutez ceci dans le composant Window avec la "this.nativewindow" au lieu de "newWindow" pour que chaque ligne fonctionne. newWindow est un composant, pas un nativeWindow, très déroutant pour beaucoup de parties dans Flex 4 et AIR 2 déjà. Math.ceil est facultatif. Remercier! – Proyb2

0

Vous devez positionner la nouvelle fenêtre en se référant aux propriétés stageWidth et stageHeight.

En supposant que l'origine de votre nouvelle fenêtre est en haut à gauche, le nouvel emplacement des fenêtres seront:

(Stage.stageWidth - newWindow.width)/2, (Stage.stageHeight - newWindow.height)/2;

+0

Que diriez-vous montrant un code complet? Je n'ai aucune idée de comment utiliser avec votre code. Et est-ce applicable pour le composant "Window"? – Proyb2

+0

Utilisez-le selon la réponse de Michaels - Capabilites.screenResolutionX vous donne la taille de l'écran de l'appareil, par exemple un écran de PC à 1024x768. La largeur de scène vous donne la taille réelle de l'élément joueur dans une page. hth –

1

Vous pouvez utiliser la propriété de mise en page de la fenêtre comme horizontalCentre et verticalCentre utiliser schéma de mise en page à base de contstraint

+0

Non. Ce n'est pas lié à ma question. – Proyb2

Questions connexes