Le composant ScrollPane permet d’afficher un contenu dont la taille excède celle de la zone dans laquelle il est chargé. Par exemple, si vous devez afficher une image de grande taille mais que vous avez peu de place dans une application, vous pouvez la charger dans un composant ScollPane. Le composant ScrollPane accepte les clips et les fichiers JPEG, PNG, GIF et SWF.
Des composants tels que ScrollPane et UILoader comportent des événements
complete
qui permettent de déterminer quand le chargement du contenu est terminé. Si vous voulez définir des propriétés sur le contenu d’un composant ScrollPane ou UILoader, écoutez l’événement
complete
et configurez la propriété dans le gestionnaire d’événement. Par exemple, le code suivant crée un écouteur pour l’événement Event.
COMPLETE
et un gestionnaire d’événement qui fixe la propriété
alpha
du contenu du composant ScrollPane à 0,5 :
function spComplete(event:Event):void{
aSp.content.alpha = .5;
}
aSp.addEventListener(Event.COMPLETE, spComplete);
Si vous spécifiez un emplacement lors du chargement du contenu dans le composant ScrollPane, vous devez spécifier les valeurs 0, 0 (coordonnées X et Y). Par exemple, le code suivant charge le composant ScrollPane correctement car le cadre est tracé à l’emplacement 0,0 :
var box:MovieClip = new MovieClip();
box.graphics.beginFill(0xFF0000, 1);
box.graphics.drawRect(0, 0, 150, 300);
box.graphics.endFill();
aSp.source = box; //load ScrollPane
Pour plus d’informations, voir la classe ScrollPane dans le
Guide de référence d’ActionScript 3.0
pour Flash Professional
.
Interaction de l’utilisateur avec le composant ScrollPane
Un composant ScrollPane peut être activé ou désactivé. En état désactivé, le composant ne réagit pas aux commandes de la souris ou du clavier. L’utilisateur peut utiliser les touches suivantes pour contrôler un composant ScrollPane lorsqu’il détient le focus.
Touche
|
Description
|
Flèche vers le bas
|
Le contenu se déplace d’une ligne de défilement verticale vers le haut.
|
Flèche vers le haut
|
Le contenu se déplace d’une ligne de défilement verticale vers le bas.
|
Fin
|
Le contenu se déplace en bas du composant ScrollPane.
|
Flèche gauche
|
Le contenu se déplace d’une ligne de défilement horizontale vers la droite.
|
Flèche droite
|
Le contenu se déplace d’une ligne de défilement horizontale vers la gauche.
|
Orig
|
Le contenu se déplace en haut du composant ScrollPane.
|
Fin
|
Le contenu se déplace en bas du composant ScrollPane.
|
PgSuiv
|
Le contenu se déplace d’une page de défilement verticale vers le haut.
|
PgPréc
|
Le contenu se déplace d’une page de défilement verticale vers le bas.
|
Un utilisateur peut utiliser la souris pour interagir avec le composant ScrollPane sur son contenu et sur les barres de défilement horizontale et verticale. L’utilisateur peut faire glisser du contenu à l’aide de la souris lorsque la propriété
scrollDrag
est définie sur
true
. L’apparition du curseur en forme de main sur le contenu indique que l’utilisateur peut faire glisser le contenu. Contrairement à la plupart des autres contrôles, des actions se produisent lorsque le bouton de la souris est enfoncé et se poursuivent jusqu’à ce qu’il soit relâché. Si le contenu présente des arrêts de tabulation valides, vous devez définir la propriété
scrollDrag
sur false. Dans le cas contraire, tous les clics de souris sur le contenu feront défiler le contenu.
Paramètres du composant ScrollPane
Dans l’Inspecteur des propriétés ou l’Inspecteur des composants, vous pouvez définir les paramètres suivants pour chaque occurrence du composant ScrollPane :
horizontalLineScrollSize
,
horizontalPageScrollSize
,
horizontalScrollPolicy, scrollDrag, source, verticalLineScrollSize, verticalPageScrollSize
et
verticalScrollPolicy
. A chacun de ces paramètres correspond une propriété ActionScript du même nom. Pour plus d’informations sur les valeurs gérées de ces paramètres, voir la classe ScrollPane dans le
Guide de référence d’ActionScript 3.0
pour Flash Professional
.
Vous pouvez rédiger du code ActionScript pour contrôler ces options et d’autres options d’un composant ScrollPane en utilisant ses propriétés, méthodes et événements.
Création d’une application avec le composant ScrollPane
La procédure suivante explique comment ajouter un composant ScrollPane à une application pendant la programmation. Dans cet exemple, le composant ScrollPane charge une image depuis un chemin spécifié dans la propriété
source
.
-
Créez un document de fichier Flash (ActionScript 3.0).
-
Faites glisser le composant ScrollPane du panneau Composants vers la scène et nommez l’occurrence
aSp
.
-
Ouvrez le panneau Actions, sélectionnez l’image 1 dans le scénario principal et entrez le code ActionScript suivant :
import fl.events.ScrollEvent;
aSp.setSize(300, 200);
function scrollListener(event:ScrollEvent):void {
trace("horizontalScPosition: " + aSp.horizontalScrollPosition +
", verticalScrollPosition = " + aSp.verticalScrollPosition);
};
aSp.addEventListener(ScrollEvent.SCROLL, scrollListener);
function completeListener(event:Event):void {
trace(event.target.source + " has completed loading.");
};
// Add listener.
aSp.addEventListener(Event.COMPLETE, completeListener);
aSp.source = "http://www.helpexamples.com/flash/images/image1.jpg";
-
Sélectionnez Contrôle > Tester l’animation pour exécuter l’application.
Création d’une occurrence du composant ScrollPane à l’aide d’ActionScript
L’exemple crée un composant ScrollPane, définit sa taille et y charge une image à l’aide de la propriété
source
. Il crée également deux écouteurs. Le premier écoute un événement
scroll
et affiche la position de l’image lorsque l’utilisateur utilise le défilement vertical ou horizontal. Le second écoute un événement
complete
et affiche un message dans le panneau Sortie qui indique que le chargement de l’image est terminé.
Cet exemple crée un composant ScrollPane à l’aide d’ActionScript et y place un clip (une case rouge) de 150 de large sur 300 pixels de haut.
-
Créez un document de fichier Flash (ActionScript 3.0).
-
Faites glisser le composant ScrollPane du panneau Composants vers le panneau Bibliothèque.
-
Faites glisser le composant DataGrid du panneau Composants vers le panneau Bibliothèque.
-
Ouvrez le panneau Actions, sélectionnez l’image 1 dans le scénario principal et entrez le code ActionScript suivant :
import fl.containers.ScrollPane;
import fl.controls.ScrollPolicy;
import fl.controls.DataGrid;
import fl.data.DataProvider;
var aSp:ScrollPane = new ScrollPane();
var aBox:MovieClip = new MovieClip();
drawBox(aBox, 0xFF0000); //draw a red box
aSp.source = aBox;
aSp.setSize(150, 200);
aSp.move(100, 100);
addChild(aSp);
function drawBox(box:MovieClip,color:uint):void {
box.graphics.beginFill(color, 1);
box.graphics.drawRect(0, 0, 150, 300);
box.graphics.endFill();
}
-
Sélectionnez Contrôle > Tester l’animation pour exécuter l’application.
|
|
|