2009-04-30 12 views
0

J'ai créé une TitleWindow personnalisée que j'utilise en tant que popup. Le contenu de la fenêtre contextuelle est créé dynamiquement en fonction de la sélection effectuée par un utilisateur à partir d'une grille de données. Mon problème est, mon DataGrid est dans un autre composant personnalisé qui est vers le bas de ma page, donc quand un utilisateur clique sur un des éléments, le popup est affiché mais avec la moitié hors de vue au bas de la page .Flex 3 positionnement des composants personnalisés - popups

Y a-t-il un moyen de positionner une fenêtre contextuelle afin qu'elle s'affiche en haut de la page?

Répondre

3

Je connais au moins deux choses que vous pouvez utiliser pour positionner un popup, bien qu'il puisse y en avoir plus.

Lorsque vous placez un pop-up, vous pouvez choisir dans lequel le composant parent de placer le popup:

PopUpManager.createPopUp(this.parent, TitleWindowComponent); 

Dans le composant lui-même:

PopUpManager.centerPopUp(this); 
3

Je voulais une fenêtre contextuelle de type aide infobulle (avec l'aide texte) pour apparaître à côté de l'icône qui l'a ouvert. À la fin, j'ai utilisé move (x, y) pour déplacer la fenêtre là où je le voulais. Pour obtenir les coordonnées de la placer, utilisez globalToLocal:

var globalX:Number = localToGlobal(new Point(myIcon.x, myIcon.y)).x; 
var globalY:Number = localToGlobal(new Point(myIcon.x, myIcon.y)).y; 

toolTip.move(globalX + myIcon.width, globalY); 

Cela met la fenêtre juste à droite de l'icône, MyIcon.

Questions connexes