F > FScrollBar.setChangeHandler

 

FScrollBar.setChangeHandler

Disponibilité

Flash Player 6.

Usage

maBarreDeDéfilement.setChangeHandler(nomDeFonction, [emplacement])

Paramètres

nomDeFonction Une chaîne spécifiant le nom de la fonction de gestionnaire à exécuter lorsque l'utilisateur déplace la glissière de défilement. Si le paramètre emplacement n'est pas spécifié, cette fonction doit se trouver dans le même scénario que l'occurrence de composant.

emplacement Une référence de chemin à un objet de données, un clip ou scénario contenant la fonction spécifiée. Ce paramètre est facultatif et prend par défaut le scénario parent du composant.

Renvoie

Rien.

Description

Méthode ; spécifie un gestionnaire de changement à appeler lorsque l'utilisateur déplace l'élément de la barre de défilement. Vous pouvez spécifier la même fonction de gestionnaire de changement pour plusieurs composants, la fonction acceptant toujours l'occurrence du composant changé comme paramètre. L'appel de cette méthode annule la valeur du paramètre de gestionnaire de changement spécifiée au cours de la programmation.

Cette méthode est destinée aux programmeurs et utilisateurs expérimentés qui créent des applications et des composants personnalisés à l'aide du composant d'interface Flash ScrollBar et ne peut pas être utilisée lorsque des barres de défilement sont associées à des champs de texte.

Exemple

Le code suivant crée une boîte remplie sur la scène, puis applique une barre de défilement horizontale, définit les propriétés de défilement et spécifie la fonction mover en tant que gestionnaire de changement. Le gestionnaire de changement mover utilise la position de défilement de la barre de défilement pour changer la position _x du clip entre 50 et 250.

root.createEmptyMovieClip("carré", 1);
_root.carré._x = 50;
_root.carré._y = 50;
with (_root.carré) {
    moveTo(0, 0);
    beginFill(0x0066CC);
    lineTo(20, 0);
    lineTo(20, 20);
    lineTo(0, 20);
    lineTo(0, 0);
    endFill();
}
barreDeDéfilement._x = 50;
barreDeDéfilement.setHorizontal (true);
barreDeDéfilement.setScrollProperties (1, 50, 250);
barreDeDéfilement.setChangeHandler ("mover");
function mover () {
    _root.carré._x = barreDeDéfilement.getScrollPosition();
}

Le code suivant spécifie une fonction de gestionnaire de changement pour une occurrence du composant de barre de défilement associé à un composant de zone de liste personnalisé. Le gestionnaire de changement utilise défilement1 pour obtenir la position de défilement actuelle à l'aide de FScrollBar.getScrollPosition, puis listePersonnalisée utilise FScrollBar.setScrollPosition pour réinitialiser la position de défilement, afin d'afficher l'élément à la position de défilement actuelle en haut de la zone de liste personnalisée. Le paramètre composant est automatiquement rempli avec l'occurrence d'un composant (le composant qui a changé en résultat de la saisie utilisateur et qui spécifie monGestionnaire en tant que son gestionnaire de changement).

défilement1.setChangeHandler("monGestionnaire");
function monGestionnaire(composant)
{
  listePersonnalisée.setScrollPosition(composant.getScrollPosition());
}

Si, dans l'exemple précédent, monGestionnaire est une fonction située dans le scénario arrière-grand-parent du scénario du composant, la première ligne de code serait la suivante :

défilement1.setChangeHandler("monGestionnaire", _parent._parent._parent);

Le code suivant crée la fonction monGestionnaire dans une occurrence de monObjet (de classe Object), puis spécifie monGestionnaire comme fonction pour défilement1.

monObjet = new Object();
monObjet.monGestionnaire = function(composant){
listePersonnalisée.setScrollPosition(composant.getScrollPosition());
}
défilement1.setChangeHandler("monGestionnaire", monObjet);

Voir aussi

FScrollBar.getScrollPosition, FScrollBar.setScrollPosition, FScrollBar.setScrollProperties