2009-12-27 3 views
0

J'écris un client de discussion en utilisant Flex.Comment faire défiler une toile? (Rédaction de discussion en Flex)

La base de la fenêtre de discussion est un canevas. J'ai ce spectacle, mais comment le faire défiler? Je veux couper la fenêtre pour que seules les 15 dernières lignes soient affichées.

Cela ne semble pas fonctionner (rien ne bouge):

<mx:Canvas id="canvas" width="300" height="3000" horizontalScrollPolicy="off" verticalScrollPolicy="on" creationComplete="myinit()"> 
    <mx:Label text="HI" x="10" y="100"/> 
</mx:Canvas> 

Si pas défiler la toile à chaque fois qu'il est appelé ?:

canvas.verticalScrollPosition + = 10;

Répondre

2

Vous devez modifier verticalScrollPosition du conteneur parent. Tels que

<mx:Canvas id="canvas" width="300" height="300" 
      horizontalScrollPolicy="off" verticalScrollPolicy="on" 
      creationComplete="myinit()"> 
    <mx:Canvas id="canvas" width="300" height="3000"> 
     <mx:Label text="HI" x="10" y="100"/> 
    </mx:Canvas> 
</mx:Canvas> 

maintenant

canvas.verticalScrollPosition += 10; 

devrait fonctionner.

+0

Ah, duh! Ça a du sens. Un problème, cependant, lorsque j'essaie d'ajouter un attribut 'id' au canevas externe, j'obtiens ceci: L'attribut id n'est pas autorisé sur la balise racine d'un composant. Comment vous débrouillez-vous? Merci de votre aide. –