Manuel du propriétaire | MACROMEDIA FLASH MX 2004-UTILISATION DES COMPOSANTS Manuel utilisateur

Ajouter à Mes manuels
708 Des pages
Manuel du propriétaire | MACROMEDIA FLASH MX 2004-UTILISATION DES COMPOSANTS Manuel utilisateur | Fixfr
Utilisation des composants
Marques
Add Life to the Web, Afterburner, Aftershock, Andromedia, Allaire, Animation PowerPack, Aria, Attain, Authorware,
Authorware Star, Backstage, Bright Tiger, Clustercats, ColdFusion, Contribute, Design In Motion, Director, Dream Templates,
Dreamweaver, Drumbeat 2000, EDJE, EJIPT, Extreme 3D, Fireworks, Flash, Fontographer, FreeHand, Generator, HomeSite,
JFusion, JRun, Kawa, Know Your Site, Knowledge Objects, Knowledge Stream, Knowledge Track, LikeMinds, Lingo, Live
Effects, MacRecorder Logo and Design, Macromedia, Macromedia Action!, Macromedia Flash, Macromedia M Logo and
Design, Macromedia Spectra, Macromedia xRes Logo and Design, MacroModel, Made with Macromedia, Made with
Macromedia Logo and Design, MAGIC Logo and Design, Mediamaker, Movie Critic, Open Sesame!, Roundtrip, Roundtrip
HTML, Shockwave, Sitespring, SoundEdit, Titlemaker, UltraDev, Web Design 101, what the web can be et Xtra sont des
marques déposées ou des marques commerciales de Macromedia, Inc. et peuvent être déposées aux Etats-Unis et dans certains
pays, états ou provinces. Les autres noms de produits, logos, graphiques, titres, mots ou phrases mentionnés dans cette
publication peuvent être des marques, des marques de service ou des noms de marque appartenant à Macromedia, Inc. ou à
d’autres entités et peuvent être déposés dans certains pays, états ou provinces.
Autres marques mentionnées
Ce guide contient des liens conduisant à des sites web qui ne sont pas sous le contrôle de Macromedia, qui n’est aucunement
responsable de leur contenu. L’accès à ces sites se fait sous votre seule responsabilité. Macromedia mentionne ces liens pour
référence, ce qui n’implique pas son soutien, accord ou responsabilité quant au contenu des sites.
Technologie de compression et décompression audio discours utilisée sous licence de Nellymoser, Inc. (www.nellymoser.com).
Technologie de compression et décompression vidéo Sorenson™ Spark™ utilisée sous licence de
Sorenson Media, Inc.
Navigateur Opera ® Copyright © 1995-2002 Opera Software ASA et ses fournisseurs. Tous droits réservés.
Limite de garantie et de responsabilité Apple
APPLE COMPUTER, INC. N’OFFRE AUCUNE GARANTIE, EXPRES OU IMPLICITE, CONCERNANT CE
LOGICIEL, SA CAPACITE A ETRE COMMERCIALISE OU A REPONDRE A UN BESOIN PARTICULIER.
L’EXCLUSION DES GARANTIES IMPLICITES EST INTERDITE PAR CERTAINS PAYS, ETATS OU PROVINCES.
L’EXCLUSION ENONCEE CI-DESSUS PEUT NE PAS S’APPLIQUER A VOTRE CAS PARTICULIER. CETTE
GARANTIE VOUS ASSURE DES DROITS SPECIFIQUES. D’AUTRES DROITS VARIANT D’UN PAYS A L’AUTRE
PEUVENT EGALEMENT VOUS ETRE ACCORDES.
Copyright © 2003 Macromedia, Inc. Tous droits réservés. La copie, photocopie, reproduction, traduction ou conversion
de ce manuel, sous quelque forme que ce soit, mécanique ou électronique, est interdite sans une autorisation préalable
obtenue par écrit auprès de Macromedia, Inc. Référence ZFL70M500F
Remerciements
Directeur : Erick Vera
Gestion de projet : Stephanie Gowin, Barbara Nelson
Rédaction : Jody Bleyle, Mary Burger, Kim Diezel, Stephanie Gowin, Dan Harris, Barbara Herbert, Barbara Nelson, Shirley
Ong, Tim Statler
Rédactrice en chef : Rosana Francescato
Révision : Mary Ferguson, Mary Kraemer, Noreen Maher, Antonio Padial, Lisa Stanziano, Anne Szabla
Gestion de la production : Patrice O’Neill
Conception du support et production : Adam Barnett, Christopher Basmajian, Aaron Begley, John Francis, Jeff Harmon
Localisation : Tim Hussey, Seungmin Lee, Masayo Noda, Simone Pux, Yuko Yagi, Florian de Joannès
Première édition : Octobre 2003
Macromedia, Inc.
600 Townsend St.
San Francisco, CA 94103
TABLE DES MATIERES
INTRODUCTION : Présentation des composants
......................... 7
Public visé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Configuration système requise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Installation des composants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
A propos de la documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Conventions typographiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Termes employés dans ce manuel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Ressources supplémentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
CHAPITRE 1 : A propos des composants
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Avantages des composants v2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Catégories de composants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Architecture des composants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Nouveautés des composants v2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
A propos des clips compilés et des fichiers SWC . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Accessibilité et composants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
CHAPITRE 2 : Utilisation des composants .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Panneau Composants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Composants dans le panneau Bibliothèque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Composants dans le panneau Inspecteur de composants et dans l’inspecteur
des propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Composants dans l’aperçu en direct. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Utilisation des fichiers SWC et des clips compilés . . . . . . . . . . . . . . . . . . . . . . . . . 20
Ajout de composants aux documents Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Définition des paramètres des composants. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Suppression de composants des documents Flash . . . . . . . . . . . . . . . . . . . . . . . . . 24
Utilisation des conseils de code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
A propos des événements de composant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Création de la navigation personnalisée du focus . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Gestion de la profondeur des composants dans un document . . . . . . . . . . . . . . . . 28
A propos de l’utilisation d’un preloader avec les composants . . . . . . . . . . . . . . . . . 28
Mise à niveau des composants de la version 1 vers l’architecture
de la version 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3
CHAPITRE 3 : Personnalisation des composants
. . . . . . . . . . . . . . . . . . . . . . . . 29
Utilisation des styles pour personnaliser la couleur et le texte des composants . . . . 29
A propos des thèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
A propos de l’application des enveloppes aux composants . . . . . . . . . . . . . . . . . . . 38
CHAPITRE 4 : Dictionnaire des composants
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Composants de l’interface utilisateur (IU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Composants de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Composants de support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Gestionnaires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Ecrans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Composant Accordion (Flash Professionnel uniquement) . . . . . . . . . . . . . . . . . . . 50
Composant Alert (Flash Professionnel uniquement) . . . . . . . . . . . . . . . . . . . . . . . 63
Composant Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
API CellRenderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Composant CheckBox. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Composant ComboBox. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Classes de liaison des données (Flash Professionnel uniquement). . . . . . . . . . . . . 128
Composant DataGrid (Flash Professionnel uniquement) . . . . . . . . . . . . . . . . . . . 162
Composant DataHolder (Flash Professionnel uniquement) . . . . . . . . . . . . . . . . . 194
API DataProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Composant DataSet (Flash Professionnel uniquement) . . . . . . . . . . . . . . . . . . . . 207
Composant DateChooser (Flash Professionnel uniquement) . . . . . . . . . . . . . . . . 252
Composant DateField (Flash Professionnel uniquement) . . . . . . . . . . . . . . . . . . 265
Classe DepthManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Classe FocusManager. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Classe Form (Flash Professionnel uniquement) . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Composant Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Composant List. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Composant Loader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Composants de support (Flash Professionnel uniquement) . . . . . . . . . . . . . . . . . 344
Composant Menu (Flash Professionnel uniquement) . . . . . . . . . . . . . . . . . . . . . 386
Composant MenuBar (Flash Professionnel uniquement) . . . . . . . . . . . . . . . . . . . 415
Composant NumericStepper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Classe PopUpManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Composant ProgressBar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Composant RadioButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Composant RDBMSResolver (Flash Professionnel uniquement) . . . . . . . . . . . . . 461
API du composant RPC (Remote Procedure Call) . . . . . . . . . . . . . . . . . . . . . . . 472
Classe Screen (Flash Professionnel uniquement) . . . . . . . . . . . . . . . . . . . . . . . . . 477
Composant ScrollPane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Classe Slide (Flash Professionnel uniquement). . . . . . . . . . . . . . . . . . . . . . . . . . . 506
Classe StyleManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
Composant TextArea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
Composant TextInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
Interface TransferObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
Composant Tree (Flash Professionnel uniquement) . . . . . . . . . . . . . . . . . . . . . . . 559
Interface TreeDataProvider (Flash Professionnel uniquement) . . . . . . . . . . . . . . . 577
UIComponent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
4
Table des matières
UIEventDispatcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
UIObject. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
Classes de service Web (Flash Professionnel uniquement) . . . . . . . . . . . . . . . . . . 611
WebServiceConnector (Flash Professionnel uniquement) . . . . . . . . . . . . . . . . . . 636
Composant Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
Composant XMLConnector (Flash Professionnel uniquement). . . . . . . . . . . . . . 657
Composant XUpdateResolver (Flash Professionnel uniquement). . . . . . . . . . . . . 665
CHAPITRE 5 : Création de composants
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
Nouveautés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
Travail dans l’environnement Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
Création de composants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676
Rédaction d’ActionScript pour un composant . . . . . . . . . . . . . . . . . . . . . . . . . . . 678
Importation de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680
Sélection d’une classe parent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680
Rédaction du constructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681
Versionnage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682
Noms de la classe, du symbole et du propriétaire . . . . . . . . . . . . . . . . . . . . . . . . . 682
Définition de lectures et de définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
Métadonnées de composant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
Définition des paramètres de composant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689
Mise en œuvre de méthodes de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
Gestion des événements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
Réhabillage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
Ajout de styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
Accessibilité des composants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
Exportation du composant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696
Simplification de l’utilisation du composant . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698
Recommandations en matière de conception d’un composant. . . . . . . . . . . . . . . 699
INDEX
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
Table des matières
5
6
Table des matières
INTRODUCTION
Présentation des composants
Macromedia Flash MX 2004 et Flash MX Professionnel 2004 sont les outils standard des
professionnels pour la création de contenu web percutant. La création de ces applications Internet
riches repose sur des unités élémentaires appelées composants. Un composant est un clip qui
contient des paramètres définis pendant la phase de programmation dans Macromedia Flash, ainsi
que des API ActionScript permettant de personnaliser le composant lors de l’exécution. Les
composants sont conçus pour permettre aux développeurs de réutiliser et de partager du code. Ils
permettent également d’encapsuler une fonctionnalité complexe que les concepteurs peuvent
utiliser et personnaliser sans avoir à se servir d’ActionScript.
Les composants sont basés sur la version 2 (v2) de l’architecture des composants Macromedia.
Celle-ci permet de créer facilement et rapidement des applications robustes à la présentation et au
comportement cohérents. Ce manuel explique comment créer des applications avec les
composants v2 et présente les API (interface de programmation) des composants. Il inclut des
scénarios d’utilisation et des exemples de procédures à suivre pour utiliser les composants v2 de
Flash MX 2004 ou Flash MX Professionnel 2004, par ordre alphabétique, ainsi qu’une
description des API des composants.
Vous pouvez utiliser les composants créés par Macromedia, télécharger des composants créés par
d’autres développeurs ou créer vos propres composants.
Public visé
Ce manuel est destiné aux développeurs qui créent des applications Flash MX 2004 ou
Flash MX Professionnel 2004 et qui souhaitent utiliser des composants pour accélérer le
développement. Vous devez déjà avoir des notions du développement des applications dans
Macromedia Flash, de la rédaction d’instructions ActionScript et de Macromedia Flash Player.
Ce manuel présume que vous avez déjà installé Flash MX 2004 ou Flash MX Professionnel 2004
et que vous savez comment l’utiliser. Avant d’utiliser les composants, nous vous conseillons
d’étudier la leçon « Créer une interface utilisateur avec des composants » (sélectionnez Aide >
Comment > Manuel de prise en main rapide > Créer une interface utilisateur avec des
composants).
Si vous souhaitez rédiger le moins d’instructions ActionScript possible, vous pouvez faire glisser
les composants dans un document, définir leurs paramètres dans l’inspecteur des propriétés ou
dans le panneau Inspecteur de composants et associer un gestionnaire on() directement au
composant dans le panneau Actions afin de gérer les événements de composants.
7
Si vous êtes programmeur et que vous souhaitez créer des applications plus robustes, vous pouvez
créer les composants dynamiquement, utiliser leurs API pour définir les propriétés et appeler les
méthodes à l’exécution. Vous pouvez également utiliser le modèle d’événement écouteur pour
gérer les événements.
Pour plus d’informations, consultez le Chapitre 2, Utilisation des composants, page 17.
Configuration système requise
Aucune configuration particulière n’est requise pour les composants Macromedia outre
Flash MX 2004 ou Flash MX Professionnel 2004.
Installation des composants
Un jeu de composants Macromedia est déjà installé lorsque vous lancez Flash MX 2004 ou
Flash MX Professionnel 2004 pour la première fois. Vous pouvez les visualiser dans le panneau
Composants.
Flash MX 2004 inclut les composants suivants :
•
•
•
•
•
•
•
•
•
•
•
•
•
Composant Button
Composant CheckBox
Composant ComboBox
Composant Label
Composant List
Composant Loader
Composant NumericStepper
Composant ProgressBar
Composant RadioButton
Composant ScrollPane
Composant TextArea
Composant TextInput
Composant Window
Flash MX Professionnel 2004 inclut les composants de Flash MX 2004, plus les classes et
composants suivants :
•
•
•
•
•
•
•
•
•
•
8
Composant Accordion (Flash Professionnel uniquement)
Composant Alert (Flash Professionnel uniquement)
Classes de liaison des données (Flash Professionnel uniquement)
Composant DateField (Flash Professionnel uniquement)
Composant DataGrid (Flash Professionnel uniquement)
Composant DataHolder (Flash Professionnel uniquement)
Composant DataSet (Flash Professionnel uniquement)
Composant DateChooser (Flash Professionnel uniquement)
Classe Form (Flash Professionnel uniquement)
Composants de support (Flash Professionnel uniquement)
Introduction : Présentation des composants
•
•
•
•
•
•
•
•
•
Composant Menu (Flash Professionnel uniquement)
Composant MenuBar (Flash Professionnel uniquement)
Composant RDBMSResolver (Flash Professionnel uniquement)
Classe Screen (Flash Professionnel uniquement)
Classe Slide (Flash Professionnel uniquement)
Composant Tree (Flash Professionnel uniquement)
Classe WebServiceConnector (Flash Professionnel uniquement)
Composant XMLConnector (Flash Professionnel uniquement)
Composant XUpdateResolver (Flash Professionnel uniquement)
Pour vérifier l’installation des composants Flash MX 2004 ou
Flash MX Professionnel 2004 :
1 Démarrez Flash.
2 Choisissez Fenêtre > Panneaux de développement > Composants pour ouvrir le panneau
Composants s’il n’est pas déjà ouvert.
3 Choisissez UI Components pour développer l’arborescence et afficher les composants installés.
Vous pouvez également télécharger des composants à partir de Macromedia Exchange. Pour
installer des composants téléchargés à partir d’Exchange, téléchargez et installez Macromedia
Extension Manager.
Tous les composants, qu’il s’agisse de fichiers SWC ou FLA (voir A propos des clips compilés et des
fichiers SWC, page 14), peuvent apparaître dans le panneau Composants de Flash. Suivez les
étapes suivantes pour installer les composants sur un ordinateur Windows ou Macintosh.
Pour installer des composants sur un ordinateur Windows ou Macintosh :
1 Quittez Flash.
2 Placez le fichier SWC ou FLA contenant le composant dans le dossier suivant, sur votre disque
dur :
■ \Program Files\Macromedia\Flash MX 2004\<language>\First Run\Components
(Windows)
■ DD/Applications/Macromedia Flash MX 2004/First Run/Components (Macintosh)
3 Ouvrez Flash.
4 Choisissez Fenêtre > Panneaux de développement > Composants pour visualiser le composant
dans le panneau Composants s’il n’est pas déjà ouvert.
A propos de la documentation
Ce document explique comment utiliser les composants pour développer des applications Flash.
Il présume que le lecteur connaît déjà Macromedia Flash et ActionScript. Une documentation
spécifique est disponible séparément sur Flash et les produits associés.
• Pour plus d’informations sur Macromedia Flash, consultez les guides Bien démarrer avec Flash
•
Utilisation de Flash, Guide de référence ActionScript et le Dictionnaire ActionScript
disponibles dans l’aide.
Pour plus d’informations sur l’accès aux services web avec des applications Flash, consultez
Using Flash Remoting.
A propos de la documentation
9
Conventions typographiques
Ce manuel utilise les conventions typographiques suivantes :
• La police en italique indique une valeur qui devrait être remplacée (par exemple, dans le chemin
d’un dossier).
• La police de code indique le code ActionScript.
• La police de code en italique identifie les paramètres ActionScript.
• La police en gras indique une entrée que vous devez saisir exactement à l’identique.
Remarque : La police en gras est différente de la police utilisée pour les en-têtes répétés. La
police utilisée pour les en-têtes répétés constitue une alternative aux puces.
Termes employés dans ce manuel
Ce manuel utilise les termes suivants :
à l’exécution
Lorsque le code est exécuté dans Flash Player.
pendant la programmation
Lors de l’utilisation de l’environnement auteur de Flash.
Ressources supplémentaires
Pour les informations les plus récentes sur Flash, ainsi que des conseils d’utilisateurs experts, des
rubriques avancées, des exemples, des conseils et autres mises à jour, consultez le site web de
Macromedia DevNet, régulièrement mis à jour. Consultez régulièrement ce site web pour vous
tenir au courant des nouveautés de Flash et tirer le meilleur parti de votre programme.
Pour des TechNotes, des mises à jour de la documentation et des liens vers des ressources
supplémentaires dans la communauté Flash, consultez le Centre de support Macromedia Flash à
l’adresse www.macromedia.com/go/flash_support_fr.
Pour plus d’informations sur les termes, la syntaxe ActionScript et son utilisation, consultez le
Guide de référence ActionScript de l’aide et le Dictionnaire ActionScript de l’aide.
Pour une introduction à l’utilisation des composants, consultez le séminaire On Demand de
Macromedia, Flash MX 2004 Family : Using UI Components à l’adresse :
www.macromedia.com/macromedia/events/online/ondemand/index.html.
10
Introduction : Présentation des composants
CHAPITRE 1
A propos des composants
Les composants sont des clips qui contiennent des paramètres permettant d’en modifier l’aspect et
le comportement. Un composant peut offrir n’importe quelle fonctionnalité imaginée par son
créateur. Il peut s’agir d’un simple contrôle d’interface utilisateur, comme un bouton radio ou une
case à cocher, ou d’un contenant, comme un panneau défilant. Un composant peut être invisible,
comme le gestionnaire de focus (FocusManager) qui permet de contrôler quels objets reçoivent du
focus dans une application.
Les composants permettent de créer des applications Macromedia Flash MX 2004 et
Macromedia Flash MX Professionnel 2004 complexes, même sans bien connaître ActionScript.
Plutôt que de créer des boutons personnalisés, des listes et listes déroulantes, vous pouvez faire
glisser ces composants à partir du panneau Composants pour ajouter des fonctionnalités à vos
applications. Vous pouvez également personnaliser facilement l’aspect des composants pour les
adapter à vos besoins.
Les composants sont basés sur la version 2 (v2) de l’architecture des composants Macromedia.
Celle-ci permet de créer facilement et rapidement des applications robustes à la présentation et au
comportement cohérents. L’architecture v2 inclut des classes sur lesquelles sont basés tous les
composants, des styles et des mécanismes d’enveloppe qui vous permettent de personnaliser
l’aspect des composants, un modèle d’événement diffuseur/écouteur, la gestion de la profondeur
et du focus, la mise en œuvre de l’accessibilité et bien d’autres choses encore.
Tous les composants contiennent des paramètres prédéfinis que vous pouvez configurer pendant
la programmation dans Flash. Chaque composant a également un jeu unique de méthodes, de
propriétés et d’événements ActionScript, également appelé API (interface de programmation), qui
permet de définir les paramètres et d’autres options à l’exécution.
Flash MX 2004 et Flash MX Professionnel 2004 incluent de nombreux composants Flash inédits
et plusieurs nouvelles versions de composants déjà inclus dans Flash MX. Pour une liste complète
des composants inclus dans Flash MX 2004 et Flash MX Professionnel 2004, consultez
Installation des composants, page 8. Vous pouvez également télécharger des composants développés
par des membres de la communauté Flash dans Macromedia Exchange.
11
Avantages des composants v2
Les composants permettent de séparer le code de la conception. Ils permettent également de
réutiliser du code, soit dans les composants que vous avez créés, soit en téléchargeant et en
installant des composants créés par d’autres développeurs.
Les composants permettent aux programmeurs de créer des fonctionnalités que les concepteurs
pourront utiliser dans les applications. Les développeurs peuvent encapsuler les fonctionnalités
fréquemment utilisées dans des composants. Les concepteurs peuvent, quant à eux, personnaliser
l’aspect et le comportement de ces composants en modifiant leurs paramètres dans l’inspecteur
des propriétés ou dans le panneau Inspecteur de composants.
Les membres de la communauté Flash peuvent utiliser le site Macromedia Exchange pour
échanger des composants. En utilisant des composants, vous n’avez plus besoin de concevoir
chaque élément depuis le début pour créer une application web complexe. Vous pouvez trouver
les composants requis et les placer dans un document Flash pour créer une nouvelle application.
Les composants basés sur l’architecture des composants v2 utilisent les mêmes fonctionnalités de
base : styles, traitement des événements, application d’enveloppes, gestion du focus et de la
profondeur. Lorsque vous ajoutez le premier composant v2 dans une application, environ 25 Ko
sont ajoutés dans le document qui fournit ces fonctionnalités de base. Lorsque vous ajoutez des
composants supplémentaires, ces mêmes 25 Ko sont réutilisés pour ces composants. La taille du
document augmente donc moins que vous avez pu l’imaginer. Pour plus d’informations sur la
mise à niveau des composants v1 en composants v2, consultez Mise à niveau des composants de la
version 1 vers l’architecture de la version 2, page 28.
Catégories de composants
Les composants inclus dans Flash MX 2004 et Flash MX Professionnel 2004 sont divisés en cinq
catégories : les composants de l’interface utilisateur, les composants de données, les composants de
support, les gestionnaires et les écrans. Les composants de l’interface utilisateur permettent
d’interagir avec une application : par exemple, les composants RadioButton, CheckBox et
TextInput sont des contrôles de l’interface utilisateur. Les composants de données permettent de
charger et de manipuler des informations provenant de sources de données ; les composants
WebServiceConnector et XMLConnector sont des composants de données. Les composants de
support permettent de lire et de contrôler le support en flux continu ; MediaController,
MediaPlayback et MediaDisplay sont les composants de support. Les gestionnaires sont des
composants invisibles qui permettent de gérer une fonction, telle que le focus ou la profondeur,
dans une application ; les composants FocusManager, DepthManager, PopUpManager et
StyleManager sont les composants gestionnaires inclus dans Flash MX 2004 et Flash MX
Professionnel 2004. La catégorie écrans inclut les classes ActionScript qui vous permettent de
contrôler les formulaires et les diapositives dans Flash MX Professionnel 2004. Pour obtenir une
liste complète de chaque catégorie, consultez le Chapitre 4, Dictionnaire des composants, page 47.
Architecture des composants
Vous pouvez utiliser l’inspecteur des propriétés ou le panneau Inspecteur de composants pour
modifier les paramètres des composants afin d’en utiliser la fonctionnalité de base. Cependant, si
vous voulez contrôler davantage la fonctionnalité des composants, vous devez utiliser leurs API et
comprendre la façon dont ils ont été créés.
12
Chapitre 1 : A propos des composants
Les composants Flash MX 2004 et Flash MX Professionnel 2004 sont basés sur la version 2 (v2)
de l’architecture des composants Macromedia. Les composants de la version 2 sont supportés par
Flash Player 6 et Flash Player 7. Ils ne sont pas toujours compatibles avec les composants basés sur
la version 1 (v1) de l’architecture (tous les composants antérieurs à Flash MX 2004). Les
composants v1 ne sont pas non plus supportés par Flash Player 7. Pour plus d’informations,
consultez Mise à niveau des composants de la version 1 vers l’architecture de la version 2, page 28.
Les composants v2 sont inclus dans le panneau Composants en tant que symboles Clip compilé
(SWC). Un clip compilé est un clip composant dont le code a été compilé. Les clips compilés
contiennent des aperçus en direct intégrés et ne peuvent pas être modifiés, mais comme pour les
autres composants, il est possible de changer leurs paramètres dans l’inspecteur des propriétés et
dans le panneau Inspecteur de composants. Pour plus d’informations, consultez A propos des clips
compilés et des fichiers SWC, page 14.
Les composants v2 sont rédigés dans ActionScript 2.0. Chaque composant est une classe, et
chaque classe est un paquet ActionScript. Par exemple, un composant de bouton radio est une
occurrence de la classe RadioButton dont le nom de paquet est mx.controls. Pour plus
d’informations sur les paquets, consultez « Utilisation de paquets », dans le Guide de référence
ActionScript de l’aide.
Tous les composants créés avec la version 2 de l’architecture des composants Macromedia sont des
sous-classes des classes UIObject et UIComponent et héritent de tous les événements, propriétés
et méthodes de ces classes. De nombreux composants sont également des sous-classes d’autres
composants. Le chemin de l’héritage de chaque composant est indiqué à l’entrée correspondante
du Chapitre 4, Dictionnaire des composants, page 47.
Tous les composants utilisent également le même modèle d’événement, les mêmes styles CSS et le
même mécanisme intégré d’application d’enveloppes. Pour plus d’informations sur les styles et
l’application des enveloppes, consultez le Chapitre 3, Personnalisation des composants, page 29.
Pour plus d’informations sur le traitement des événements, consultez le Chapitre 2, Utilisation des
composants, page 17.
Nouveautés des composants v2
permet de modifier les paramètres des composants
pendant la programmation dans Macromedia Flash et Macromedia Dreamweaver Pour plus
d’informations, consultez Composants dans le panneau Inspecteur de composants et dans l’inspecteur
des propriétés, page 18.
Le panneau Inspecteur de composants
permet aux objets d’écoute des fonctions de traiter les
événements. Pour plus d’informations, consultez A propos des événements de composant, page 24.
Le modèle d’événement écouteur
Les propriétés des enveloppes permettent de charger des états uniquement lorsque vous en avez
besoin. Pour plus d’informations, consultez A propos de l’application des enveloppes aux composants,
page 38.
permettent d’obtenir un aspect cohérent dans toutes les applications. Pour plus
d’informations, consultez Utilisation des styles pour personnaliser la couleur et le texte des composants,
page 29.
Les styles CSS
permettent d’appliquer un nouvel aspect à un jeu de composants. Pour plus
d’informations, consultez A propos des thèmes, page 37.
Les thèmes
Le thème Halo
fournit une interface utilisateur prête à l’emploi, flexible et précise pour les
applications.
Nouveautés des composants v2
13
Les classes Manager fournissent un moyen aisé de traiter le focus et le codage dans une
application. Pour plus d’informations, consultez Création de la navigation personnalisée du focus,
page 27 et Gestion de la profondeur des composants dans un document, page 28.
Les classes de base UIObject et UIComponent fournissent
les fonctionnalités élémentaires de
tous les composants. Pour plus d’informations, consultez UIComponent, page 583 et UIObject,
page 592.
Le format de fichier SWC permet une distribution aisée et l’utilisation d’un code dissimulable.
Consultez le Chapitre 5, Création de composants, page 673.
est disponible dans le panneau Inspecteur de
composants. Pour plus d’informations sur cette fonction, appuyez sur le bouton Mise à jour de
l’aide.
La fonction intégrée de liaison des données
avec ActionScript 2.0 permet de créer des
espaces de nom uniques, d’importer des classes si nécessaire et d’établir des sous-classes afin
d’étendre les composants. Consultez le Chapitre 5, Création de composants, page 673 et le Guide
de référence ActionScript de l’aide.
La hiérarchie des classes facilement extensible
A propos des clips compilés et des fichiers SWC
Les clips compilés sont utilisés pour effectuer la compilation préalable des symboles complexes
dans les documents Flash. Il est par exemple possible de transformer en clip compilé un clip
contenant un volume important de code ActionScript qui ne change pas souvent. Cela entraîne
un temps d’exécution inférieur pour les commandes Tester l’animation et Publier.
Le format de fichier SWC est utilisé pour enregistrer et distribuer les composants. Lorsque vous
placez un fichier SWC dans le dossier First Run/Components, le composant apparaît dans le
panneau Composants. Lorsque vous ajoutez un composant sur la scène à partir du panneau
Composants, le symbole d’un clip compilé est ajouté dans la bibliothèque.
Pour plus d’informations sur les fichiers SWC, consultez le Chapitre 5, Création de composants,
page 673.
Accessibilité et composants
Le contenu publié sur le web est accessible à partir des quatre coins de la planète – il devrait donc
l’être également pour les personnes souffrant de divers handicaps. Le contenu visuel des
animations Flash peut être rendu accessible aux personnes souffrant de handicaps visuels à l’aide
d’un logiciel adapté pour la lecture de description audio du contenu de l’écran.
Lors de la création des composants, l’auteur peut rédiger une instruction ActionScript destinée à
activer la communication entre les composants et un lecteur d’écran. Ensuite, lorsqu’un
développeur utilise ces composants pour créer une application dans Flash, il utilise le panneau
Accessibilité pour configurer toutes les occurrences des composants.
14
Chapitre 1 : A propos des composants
La plupart des composants créés par Macromedia sont conçus pour être accessibles. Pour savoir si
un composant est accessible, consultez son entrée dans le Chapitre 4, Dictionnaire des composants,
page 47. Lorsque vous créez une application dans Flash, vous devez ajouter une ligne de code
pour chaque composant
(mx.accessibility.ComponentNameAccImpl.enableAccessibility();) et définir ses
paramètres d’accessibilité dans le panneau Accessibilité. L’accessibilité fonctionne de la même
manière pour les composants que pour les autres clips Flash. Pour plus d’informations, consultez
« Création de contenu accessible », dans le guide Utilisation de Flash de l’aide.
Vous pouvez également utiliser le clavier pour accéder à la plupart des composants créés par
Macromedia. Les entrées respectives des composants du Chapitre 4, Dictionnaire des composants,
page 47 indiquent si vous pouvez ou non les contrôler à l’aide du clavier.
Accessibilité et composants
15
16
Chapitre 1 : A propos des composants
CHAPITRE 2
Utilisation des composants
Il existe plusieurs manières d’utiliser les composants dans Macromedia Flash MX 2004 et
Macromedia Flash MX Professionnel 2004. La visualisation des composants et leur ajout à un
document au cours de la programmation s’effectuent dans le panneau Composants. Une fois
qu’un composant a été ajouté à un document, vous pouvez visualiser ses propriétés dans
l’inspecteur des propriétés ou dans le panneau Inspecteur de composants. Pour faire
communiquer les composants entre eux, vous devez écouter leurs événements et les traiter avec
ActionScript. Vous pouvez également gérer la profondeur du composant dans un document et
contrôler le moment où il reçoit du focus.
Panneau Composants
Tous les composants sont stockés dans le panneau Composants. Lorsque vous installez
Flash MX 2004 ou Flash MX Professionnel 2004 et que vous le lancez pour la première fois, les
composants figurant dans le dossier Macromedia\ Flash 2004\en\First Run\Components
(Windows) ou Macromedia Flash 2004/en/First Run/Components (Macintosh) s’affichent dans
le panneau Composants.
Pour afficher le panneau Composants :
• Choisissez Fenêtre > Panneaux de développement > Composants.
17
Composants dans le panneau Bibliothèque
Lorsque vous ajoutez un composant à un document, il apparaît sous la forme d’un symbole de
clip compilé (fichier SWC) dans le panneau Bibliothèque.
Composant ComboBox dans le panneau Bibliothèque.
Vous pouvez ajouter plusieurs occurrences d’un composant en faisant glisser son icône de la
bibliothèque sur la scène.
Pour plus d’informations sur les clips compilés, consultez Utilisation des fichiers SWC et des clips
compilés, page 20.
Composants dans le panneau Inspecteur de composants et dans
l’inspecteur des propriétés
Après avoir ajouté une occurrence d’un composant dans un document Flash, utilisez l’inspecteur
des propriétés pour définir et consulter des informations à son sujet. Les occurrences d’un
composant sont créées par glisser-déposer sur la scène à partir du panneau Composants, puis en
nommant l’occurrence dans l’inspecteur des propriétés et en définissant ses paramètres au moyen
des champs de l’onglet Paramètres. Vous pouvez également définir les paramètres d’une
occurrence de composant à l’aide du panneau Inspecteur de composants. Le panneau utilisé pour
définir les paramètres importe peu ; c’est une question de préférence personnelle. Pour plus
d’informations sur la définition des paramètres, consultez Définition des paramètres des composants,
page 23.
Pour consulter des informations au sujet d’une occurrence de composant dans l’inspecteur
des propriétés :
1 Choisissez Fenêtre > Propriétés.
2 Sélectionnez une occurrence de composant sur la scène.
18
Chapitre 2 : Utilisation des composants
3 Pour consulter les paramètres, cliquez sur l’onglet Paramètres.
Pour consulter les paramètres d’une occurrence de composant dans le panneau Inspecteur
de composants :
1 Sélectionnez Fenêtre > Panneaux de développement > Inspecteur de composants.
2 Sélectionnez une occurrence de composant sur la scène.
3 Pour consulter les paramètres, cliquez sur l’onglet Paramètres.
Composants dans l’aperçu en direct
La fonction Aperçu en direct, activée par défaut, permet de visualiser les composants sur la scène
tels qu’ils apparaîtront dans le contenu Flash publié et de connaître leur taille approximative.
L’aperçu en direct reflète différents paramètres de différents composants. Pour plus d’informations
sur les paramètres de composant qui apparaissent dans l’aperçu en direct, consultez les entrées des
composants dans le Chapitre 4, Dictionnaire des composants, page 47. Les composants de l’aperçu
en direct ne fonctionnent pas. Pour tester la fonctionnalité d’un composant, vous pouvez utiliser
la commande Contrôle > Tester l’animation.
Composant Button avec Aperçu en direct activé
Composant Button avec Aperçu en direct désactivé
Composants dans l’aperçu en direct
19
Pour activer ou désactiver l’aperçu en direct :
• Choisissez Contrôle > Activer l’aperçu en direct. Une coche en regard de l’option indique
qu’elle est activée.
Pour plus d’informations, consultez le Chapitre 5, Création de composants, page 673.
Utilisation des fichiers SWC et des clips compilés
Les composants inclus dans Flash MX 2004 ou Flash MX Professionnel 2004 ne sont pas des
fichiers FLA ; ce sont des fichiers SWC. SWC est le format de fichier que Macromedia utilise
pour les composants. Lorsque vous ajoutez un composant sur la scène à partir du panneau
Composants, le symbole d’un clip compilé est ajouté dans la bibliothèque. Les fichiers SWC sont
des clips compilés qui ont été exportés en vue d’être distribués.
Un clip peut également être « compilé » dans Flash et converti en symbole « Clip compilé ». Le
symbole du clip compilé se comporte exactement comme le symbole du clip à partir duquel il a
été compilé, mais les clips compilés sont affichés et publiés beaucoup plus vite que les symboles de
clips normaux. Les clips compilés ne peuvent pas être modifiés, mais leurs propriétés apparaissent
dans l’inspecteur des propriétés et dans le panneau Inspecteur de composants, et ils incluent un
aperçu en direct.
Les composants inclus dans Flash MX 2004 ou Flash MX Professionnel 2004 ont déjà été
transformés en clips compilés. Si vous créez un composant, vous pouvez choisir de l’exporter en
tant que fichier SWC pour le distribuer. Pour plus d’informations, consultez
le Chapitre 5, Création de composants, page 673.
Pour compiler un symbole de clip :
• Choisissez le clip dans la bibliothèque et cliquez avec le bouton droit (Windows) ou maintenez
la touche Contrôle enfoncée (Macintosh) tout en sélectionnant Convertir en clip compilé.
Pour exporter un fichier SWC :
• Choisissez le clip dans la bibliothèque et cliquez avec le bouton droit (Windows) ou maintenez
la touche Contrôle enfoncée (Macintosh) tout en sélectionnant Exporter le fichier SWC.
Remarque : Flash MX 2004 et Flash MX Professionnel 2004 continuent de supporter les
composants FLA.
Ajout de composants aux documents Flash
Lorsque vous faites glisser un composant pour le déplacer du panneau Composants vers la scène,
un symbole de clip compilé est ajouté dans le panneau Bibliothèque. Une fois que le symbole de
clip compilé se trouve dans la bibliothèque, vous pouvez également ajouter ce composant au
document en cours d’exécution en utilisant la méthode UIObject.createClassObject()
d’ActionScript.
• Les utilisateurs novices de Flash peuvent utiliser le panneau Composants pour ajouter des
composants à un document Flash, définir des paramètres de base au moyen de l’inspecteur des
propriétés ou via l’onglet Paramètres du panneau Inspecteur de composants, puis utiliser le
gestionnaire d’événements on() pour contrôler les composants.
20
Chapitre 2 : Utilisation des composants
• Les utilisateurs intermédiaires de Flash peuvent utiliser le panneau Composants pour ajouter
•
des composants à un document Flash, puis utiliser l’inspecteur des propriétés, les méthodes
ActionScript ou une combinaison des deux pour définir les paramètres. Ils peuvent utiliser le
gestionnaire d’événements on() ou des écouteurs d’événements pour traiter les événements de
composants.
Les programmeurs expérimentés peuvent utiliser une combinaison du panneau Composants et
d’ActionScript pour ajouter des composants et définir des propriétés ou décider d’utiliser
uniquement ActionScript pour définir les occurrences de composants en cours d’exécution. Ils
peuvent utiliser les écouteurs d’événements pour contrôler les composants.
Si vous modifiez les enveloppes d’un composant, puis que vous ajoutez une autre version de celuici ou d’un composant qui partage ces enveloppes, vous pouvez choisir d’utiliser les enveloppes
modifiées ou de les remplacer par un nouveau jeu d’enveloppes par défaut. Si vous remplacez les
enveloppes modifiées, tous les composants qui les utilisent sont mis à jour afin d’utiliser leurs
versions par défaut. Pour plus d’informations sur la manipulation des enveloppes, consultez
le Chapitre 3, Personnalisation des composants, page 29.
Ajout de composants à l’aide du panneau Composants
Après avoir ajouté un composant à un document au moyen du panneau Composants, vous
pouvez ajouter d’autres occurrences de ce composant au document en les faisant glisser du
panneau Bibliothèque sur la scène. Vous pouvez définir les propriétés des occurrences
supplémentaires dans l’onglet Paramètres de l’inspecteur des propriétés ou dans l’onglet
Paramètres du panneau Inspecteur de composants.
Pour ajouter un composant à un document Flash avec le panneau Composants :
1 Choisissez Fenêtre > Panneaux de développement > Composants.
2 Effectuez l’une des opérations suivantes :
Faites glisser un composant du panneau Composants jusqu’à la scène.
■ Double-cliquez sur un composant du panneau Composants.
Si le composant est un fichier FLA (tous les composants v2 installés sont des fichiers SWC) et
si vous avez modifié des enveloppes pour une autre occurrence du même composant ou d’un
composant qui partage des enveloppes avec celui que vous ajoutez, effectuez l’une des opérations
suivantes :
■ Choisissez Ne pas remplacer les éléments existants pour conserver les enveloppes modifiées
et les appliquer au nouveau composant.
■ Choisissez Remplacer les éléments existants pour remplacer toutes les enveloppes par les
enveloppes par défaut. Le nouveau composant et toutes ses versions précédentes ou les
versions précédentes des composants qui partagent ses enveloppes utiliseront les enveloppes
par défaut.
Sélectionnez le composant sur la scène.
Choisissez Fenêtre > Propriétés.
Dans l’inspecteur des propriétés, entrez un nom pour l’occurrence de composant.
Cliquez sur l’onglet Paramètres et définissez les paramètres de l’occurrence.
Pour plus d’informations, consultez Définition des paramètres des composants, page 23.
■
3
4
5
6
7
Ajout de composants aux documents Flash
21
8 Modifiez la taille du composant.
Pour plus d’informations sur le dimensionnement des types spécifiques de composants,
consultez les entrées des composants dans le Chapitre 4, Dictionnaire des composants, page 47.
9 Modifiez éventuellement la couleur et la mise en forme du texte du composant, en effectuant
une ou plusieurs des opérations suivantes :
■ Définissez ou modifiez la valeur d’une propriété de style spécifique pour une occurrence de
composant au moyen de la méthode setStyle() disponible pour tous les composants. Pour
plus d’informations, consultez UIObject.setStyle().
■ Modifiez les propriétés souhaitées sur la déclaration de style _global affectée à tous les
composants v2.
■ Si nécessaire, créez une déclaration de style personnalisée pour des occurrences de
composant spécifiques.
Pour plus d’informations, consultez Utilisation des styles pour personnaliser la couleur et le
texte des composants, page 29.
10 Personnalisez éventuellement l’apparence du composant en effectuant l’une des opérations
suivantes :
■ Appliquer un thème (voir A propos des thèmes, page 37).
■ Modifier les enveloppes d’un composant (voir A propos de l’application des enveloppes aux
composants, page 38).
Ajout de composants à l’aide d’ActionScript
Pour ajouter un composant à un document à l’aide d’ActionScript, vous devez d’abord l’ajouter à
la bibliothèque.
Vous pouvez utiliser les méthodes ActionScript afin de définir des paramètres supplémentaires
pour les composants ajoutés dynamiquement. Pour plus d’informations, consultez
le Chapitre 4, Dictionnaire des composants, page 47.
Remarque : Les instructions figurant dans cette section supposent que vous possédez une
connaissance intermédiaire ou avancée d’ActionScript.
Pour ajouter un composant à votre document Flash avec ActionScript :
1 Faites glisser un composant du panneau Composants vers la scène et supprimez-le.
Cette action permet d’ajouter le composant à la bibliothèque.
2 Sélectionnez l’image, dans le scénario, où vous souhaitez placer le composant.
3 Ouvrez le panneau Actions s’il n’est pas déjà ouvert.
4 Appelez la méthode createClassObject() pour créer l’occurrence du composant au moment
de l’exécution.
Cette méthode peut être appelée seule ou à partir de n’importe quelle occurrence de
composant. Elle prend pour paramètres un nom de classe de composant, un nom d’occurrence
pour la nouvelle occurrence, une profondeur et un objet d’initialisation facultatif. Vous pouvez
spécifier le paquet de classes dans le paramètre className de la manière suivante :
createClassObject(mx.controls.CheckBox, "cb", 5, {label:"A cocher"});
Vous pouvez importer le paquet de classes de la manière suivante :
import mx.controls.CheckBox;
createClassObject(CheckBox, "cb", 5, {label:"A cocher"});
22
Chapitre 2 : Utilisation des composants
Pour plus d’informations, consultez UIObject.createClassObject().
5 Utilisez les méthodes ActionScript et les propriétés du composant pour définir d’autres options
ou remplacer les paramètres définis pendant sa création.
Pour des informations détaillées sur les méthodes ActionScript et les propriétés disponibles
pour chaque composant, consultez leurs entrées respectives dans le Chapitre 4, Dictionnaire des
composants, page 47.
A propos de la taille des étiquettes, de la largeur et de la hauteur des
composants
Si une occurrence de composant ajoutée à un document n’est pas assez grande pour que l’étiquette
soit affichée, le texte de l’étiquette est coupé. Si l’occurrence d’un composant est plus grande que
le texte, la zone de cible dépassera les limites de l’étiquette.
Utilisez l’outil Transformation libre ou la méthode setSize() pour redimensionner les
occurrences du composant. Vous pouvez appeler la méthode setSize() à partir de n’importe
quelle occurrence de composant (voir UIObject.setSize()). Si vous utilisez les propriétés
ActionScript _width et _height pour régler la largeur et la hauteur d’un composant, le
redimensionnement est effectué mais la disposition du contenu reste la même. Le composant
risque alors d’être déformé pendant la lecture de l’animation. Pour plus d’informations sur le
dimensionnement des composants, consultez leurs entrées respectives dans le
Chapitre 4, Dictionnaire des composants, page 47.
Définition des paramètres des composants
Chaque composant a des paramètres que vous pouvez définir afin de modifier son aspect et son
comportement. Un paramètre est une propriété ou une méthode qui apparaît dans l’inspecteur
des propriétés et dans le panneau Inspecteur de composants. Les propriétés et méthodes les plus
couramment utilisées apparaissent sous la forme de paramètres de création ; les autres doivent être
définies à l’aide d’ActionScript. Tous les paramètres pouvant être définis en cours de
programmation peuvent également être définis avec ActionScript. La définition d’un paramètre
avec ActionScript remplace toutes les valeurs définies en cours de programmation.
Tous les composants v2 héritent des propriétés et des méthodes de la classe UIObject et de la
classe UIComponent ; il s’agit des propriétés et des méthodes utilisées par tous les composants,
telles que UIObject.setSize(), UIObject.setStyle(), UIObject.x et UIObject.y. Chaque
composant a aussi des propriétés et des méthodes uniques, certaines d’entre elles étant disponibles
en tant que paramètres de création. Par exemple, le composant ProgressBar a une propriété
percentComplete (ProgressBar.percentComplete) et le composant NumericStepper a des
propriétés nextValue et previousValue (NumericStepper.nextValue,
NumericStepper.previousValue).
Définition des paramètres des composants
23
Suppression de composants des documents Flash
Pour supprimer les occurrences d’un composant dans un document Flash, vous devez supprimer
le composant de la bibliothèque en effaçant l’icône du clip compilé.
Pour supprimer un composant d’un document :
1 Dans le panneau Bibliothèque, choisissez le symbole du clip compilé (SWC).
2 Cliquez sur le bouton Supprimer en bas du panneau Bibliothèque ou choisissez Supprimer dans
le menu des options de la bibliothèque.
3 Dans la boîte de dialogue Supprimer, cliquez sur Supprimer pour confirmer la suppression.
Utilisation des conseils de code
Lorsque vous utilisez ActionScript 2, vous pouvez uniquement taper une variable basée sur une
classe intégrée, une classe de composant par exemple. Dans ce cas, l’éditeur ActionScript affiche
des conseils de code pour la variable. Par exemple, supposons que vous tapez ce qui suit :
import mx.controls.CheckBox;
var maCaseAcocher:CheckBox;
maCaseAcocher.
Dès que vous saisissez le point, Flash affiche une liste des méthodes et des propriétés disponibles
pour les composants CheckBox, puisque vous avez saisi la variable comme étant de type Case à
cocher. Pour plus d’informations sur la saisie des données, consultez « Typage strict des données »,
dans le Guide de référence ActionScript de l’aide. Pour plus d’informations sur l’utilisation des
conseils de code lors de leur apparition, consultez « Utilisation des conseils de code », dans le
Guide de référence ActionScript de l’aide.
A propos des événements de composant
Tous les composants contiennent des événements qui sont diffusés lorsque l’utilisateur établit une
interaction avec le composant ou s’il arrive quelque chose de significatif au composant. Pour
traiter un événement, vous devez rédiger le code ActionScript exécuté lorsque l’événement est
déclenché.
Vous pouvez traiter les événements de composant en appliquant les méthodes suivantes :
• Utilisez le gestionnaire d’événements de composant on().
• Utilisez des écouteurs d’événements.
Utilisation du gestionnaire d’événements on()
L’utilisation du gestionnaire d’événements de composant on() est le moyen le plus facile de traiter
les événements de composant. Vous pouvez affecter le gestionnaire d’événements on() à une
occurrence de composant, de la même manière que vous affectez un gestionnaire à un bouton ou
à un clip.
Lorsque vous utilisez un gestionnaire d’événements on(), un objet événement, ObjEvt, est
automatiquement généré lorsque l’événement est déclenché puis transmis au gestionnaire. L’objet
événement a des propriétés qui contiennent des informations sur l’événement. L’objet événement
transmis au gestionnaire on() est systématiquement ObjEvt. Pour plus d’informations, consultez
UIEventDispatcher, page 590.
24
Chapitre 2 : Utilisation des composants
Le mot-clé this, utilisé dans un gestionnaire on() lié à un composant, correspond à l’occurrence
de comportement. Par exemple, le code suivant, joint à l’occurrence de composant Button
monComposantBouton, envoie « _level0.monComposantBouton » au panneau de sortie :
on(click){
trace(this);
}
Pour utiliser le gestionnaire d’événements on() :
1 Faites glisser un composant CheckBox vers la scène à partir du panneau Composants.
2 Sélectionnez le composant et choisissez Fenêtre > Actions.
3 Dans le panneau Actions, saisissez le code suivant :
on(click){
trace("l’événement " + objEvt.type + " a été diffusé");
}
Vous pouvez saisir le code de votre choix entre les accolades ({}).
4 Choisissez Contrôle > Tester l’animation et cliquez sur la case pour visualiser le tracé dans le
panneau de sortie.
Pour plus d’informations, consultez les entrées respectives des événements dans
le Chapitre 4, Dictionnaire des composants, page 47.
Utilisation des écouteurs d’événements de composant
L’utilisation des écouteurs est la manière la plus puissante de traiter les événements de composant.
Les événements sont diffusés par les composants et tous les objets enregistrés sur le diffuseur
(occurrence de composant) en tant qu’écouteurs peuvent être prévenus de l’événement. Une
fonction traitant l’événement est affectée à l’écouteur. Vous pouvez enregistrer plusieurs écouteurs
sur une occurrence de composant. Vous pouvez également enregistrer un écouteur sur plusieurs
occurrences de composant.
Pour utiliser le modèle d’écouteur d’événements, vous devez créer un objet d’écoute avec une
propriété correspondant au nom de l’événement. La propriété est affectée à une fonction de
rappel. Vous appelez ensuite la méthode UIEventDispatcher.addEventListener() sur
l’occurrence de composant qui diffuse l’événement et vous lui passez le nom de l’événement et le
nom de l’objet d’écoute. On appelle l’appel de la méthode
UIEventDispatcher.addEventListener() « enregistrement » ou « souscription » d’un
écouteur, comme dans l’exemple qui suit :
objetDécoute.eventName = function(objEvt){
// votre code ici
};
occurrenceDeComposant.addEventListener("eventName", objetDécoute);
Dans le code ci-dessus, le mot-clé this, s’il est utilisé dans la fonction de rappel, a un domaine
limité à objetDécoute.
Le paramètre objEvt est un objet événement automatiquement généré lorsqu’un événement est
déclenché et passé à la fonction de rappel de l’objet d’écoute. L’objet événement a des propriétés
qui contiennent des informations sur l’événement. Pour plus d’informations, consultez
UIEventDispatcher, page 590.
Pour plus d’informations sur les événements diffusés par un composant, consultez les entrées
respectives des composants dans le Chapitre 4, Dictionnaire des composants, page 47.
A propos des événements de composant
25
Pour enregistrer un écouteur d’événements, procédez comme suit :
1 Faites glisser un composant Button vers la scène à partir du panneau Composants.
2 Dans l’inspecteur des propriétés, saisissez le nom d’occurrence button.
3 Faites glisser un composant TextInput vers la scène à partir du panneau Composants.
4 Dans l’inspecteur des propriétés, saisissez le nom d’occurrence monTexte.
5 Sélectionnez l’image 1 dans le scénario.
6 Choisissez Fenêtre > Actions.
7 Dans le panneau Actions, saisissez le code suivant :
form = new Object();
form.click = function(evt){
monTexte.text = evt.target;
}
button.addEventListener("click", form);
La propriété cible de l’objet événement est une référence à l’occurrence diffusant l’événement.
Ce code affiche la valeur de la propriété cible dans le champ d’entrée du texte.
Syntaxe d’événement supplémentaire
Hormis un objet d’écoute, vous pouvez utiliser une fonction en tant qu’écouteur. Un écouteur est
une fonction si elle n’appartient pas à un objet. Par exemple, le code suivant crée la fonction
écouteur monGestionnaire et l’enregistre sur occurrenceDeBouton :
function monGestionnaire(objEvt){
if (objEvt.type == "click"){
// votre code ici
}
}
occurrenceDeBouton.addEventListener("click", monGestionnaire);
Remarque : Dans l’écouteur d’une fonction, le mot-clé this est occurrenceDeBouton et non le
scénario sur lequel la fonction est définie.
Vous pouvez également utiliser des objets d’écoute supportant une méthode handleEvent. Quel
que soit le nom de l’événement, la méthode handleEvent de l’objet d’écoute est appelée. Vous
devez utiliser une instruction if else ou switch pour traiter plusieurs événements, ce qui rend
cette syntaxe maladroite. Par exemple, le code suivant utilise une instruction if else pour traiter
les événements click et enter :
monObjet.handleEvent = function(o){
if (o.type == "click"){
// votre code ici
} else if (o.type == "enter"){
// votre code ici
}
}
target.addEventListener("click", monObjet);
target2.addEventListener("enter", monObjet);
Il existe un autre style de syntaxe d’événement, lequel doit être utilisé uniquement lorsque vous
créez un composant et que vous savez qu’un objet donné est le seul écouteur d’un événement.
Dans ce cas, vous pouvez tirer profit du fait que le modèle d’événement v2 appelle toujours une
méthode sur l’occurrence de composant qui correspond au nom d’événement plus
« Gestionnaire ». Par exemple, si vous voulez traiter l’événement click, vous devez écrire le code
suivant :
26
Chapitre 2 : Utilisation des composants
occurrenceDeComposant.clickHandler = function(o){
// insérez votre code ici
}
Dans le code ci-dessus, le mot-clé this, s’il est utilisé dans la fonction de rappel, a un domaine
limité à occurrenceDeComposant.
Pour plus d’informations, consultez le Chapitre 5, Création de composants, page 673.
Création de la navigation personnalisée du focus
Lorsqu’un utilisateur appuie sur la touche de tabulation pour naviguer dans une application Flash
ou qu’il clique dans une application, la Classe FocusManager détermine le composant qui reçoit du
focus. Vous n’avez pas besoin d’ajouter une occurrence FocusManager à une application ou de
rédiger du code pour activer FocusManager.
Si un objet RadioButton reçoit du focus, FocusManager examine cet objet et tous les objets ayant
la même valeur groupName. FocusManager définit alors le focus sur l’objet dont la propriété
selected est définie sur true.
Chaque composant Window modal contient une occurrence de FocusManager pour que les
commandes de la fenêtre définissent eux-mêmes la tabulation afin d’empêcher l’utilisateur d’aller
dans les composants des autres fenêtres avec la touche de tabulation.
Pour créer une navigation de focus dans une application, définissez la propriété tabIndex sur tous
les composants (y compris les boutons) qui doivent recevoir du focus. Lorsqu’un utilisateur
appuie sur la touche de tabulation, la Classe FocusManager cherche un objet activé dont une
propriété tabIndex est supérieure à la valeur actuelle de tabIndex. Une fois que la Classe
FocusManager a trouvé la propriété tabIndex la plus élevée, il retombe à zéro. Dans l’exemple
suivant, l’objet comment (probablement un composant TextArea) reçoit le focus le premier, puis
c’est au tour de l’objet okButton :
comment.tabIndex = 1;
okButton.tabIndex = 2;
Vous pouvez également utiliser le panneau Accessibilité pour affecter une valeur d’indexation.
Si aucune valeur d’indexation n’est définie sur la scène, FocusManager utilise l’ordre z. L’ordre z
est principalement défini par l’ordre dans lequel les composants sont placés sur la scène. Vous
pouvez néanmoins utiliser les commandes Modifier/Réorganiser/Mettre au premier plan/Mettre à
l’arrière-plan pour déterminer l’ordre z final.
Pour donner le focus à un composant dans une application, appelez FocusManager.setFocus().
Pour créer un bouton qui reçoive le focus lorsqu’un utilisateur appuie sur Entrée (Windows) ou
sur Retour (Macintosh), définissez la propriété FocusManager.defaultPushButton sur le nom
d’occurrence du bouton désiré, comme dans l’exemple suivant :
FocusManager.defaultPushButton = okButton;
La Classe FocusManager remplace le rectangle de focus par défaut de Flash Player et trace un
rectangle de focus personnalisé avec des bords arrondis.
Création de la navigation personnalisée du focus
27
Gestion de la profondeur des composants dans un document
Si vous voulez positionner un composant au-dessus ou au-dessous d’un autre objet dans une
application, vous devez utiliser Classe DepthManager. L’API DepthManager vous permet de placer
les composants de l’interface utilisateur dans un ordre z approprié (par exemple, une liste
déroulante se déroule au-dessus d’autres composants, des curseurs apparaissent devant tous les
objets, des fenêtres de boîte de dialogue flottent au-dessus du contenu, etc.).
DepthManager a deux objectifs principaux : gérer les affectations de profondeur relatives dans un
document et gérer les profondeurs réservées sur le scénario racine pour les services système tels que
le curseur et les info-bulles.
Pour utiliser DepthManager, appelez ses méthodes (voir Classe DepthManager, page 282).
Le code suivant place l’occurrence de composant loader sous le composant Button :
loader.setDepthBelow(button);
A propos de l’utilisation d’un preloader avec les composants
Les composants sont définis sur Exporter dans la première image par défaut. Cela signifie que les
composants sont chargés avant que la première image d’une application ne soit rendue. Si vous
voulez créer un preloader pour une application, vous devez désélectionner Exporter dans la
première image pour tous les symboles de clips compilés dans votre bibliothèque.
Remarque : Si vous utilisez le composant ProgressBar pour afficher la progression du chargement,
laissez l’option Exporter dans la première image sélectionnée pour ProgressBar.
Mise à niveau des composants de la version 1 vers l’architecture
de la version 2
Les composants v2 ont été rédigés pour être conformes à plusieurs normes du web (en matière
d’événements, de styles, d’instructions de lecture/définitions, etc.) et sont très différents des
composants v1 de Macromedia Flash MX et des DRK antérieurs à Macromedia Flash MX 2004.
Les composants v2 ont des API différentes et ont été rédigés dans ActionScript 2. L’utilisation de
composants v1 et v2 dans une même application peut donc entraîner un comportement
imprévisible. Pour plus d’informations sur la mise à niveau des composants v1 afin d’utiliser le
traitement d’événements, les styles de la version 2 et l’accès de lecture/définitions aux propriétés
au lieu des méthodes, consultez le Chapitre 5, Création de composants, page 673.
Les applications Flash contenant des composants v1 fonctionnent correctement dans Flash
Player 6 et Flash Player 7, lorsqu’elles sont publiées pour Flash Player 6 ou 6r65. Si vous souhaitez
mettre vos applications à jour afin de pouvoir travailler avec des publications pour Flash Player 7,
vous devez convertir votre code afin d’utiliser la saisie stricte des données. Pour plus
d’informations, consultez « Création des classes avec ActionScript 2.0 » dans le Guide de
référence ActionScript de l’aide.
28
Chapitre 2 : Utilisation des composants
CHAPITRE 3
Personnalisation des composants
Si vous utilisez les mêmes composants dans des applications différentes, il est possible que vous
souhaitiez modifier leur aspect. Il existe trois manières de le faire dans
Macromedia Flash MX 2004 et Macromedia Flash MX Professionnel 2004 :
• utiliser l’API des styles ;
• appliquer un thème ;
• modifier ou remplacer les enveloppes d’un composant.
L’API (interface de programmation) des styles contient des méthodes et des propriétés qui
permettent de modifier la couleur et la mise en forme du texte du composant.
Un thème correspond à l’ensemble des styles et des enveloppes qui constituent l’aspect d’un
composant.
Les enveloppes sont des symboles utilisés pour afficher les composants. L’application d’une
enveloppe est le processus mis en œuvre pour changer l’aspect d’un composant en modifiant ou en
remplaçant ses graphiques sources. Une enveloppe peut correspondre à un petit objet, comme
l’extrémité d’une bordure ou un coin, ou à un objet composite comme l’image complète d’un
bouton dans son état relevé (qui indique que personne n’a appuyé dessus). Une enveloppe peut
également être un symbole sans graphique, qui contient un code traçant un objet du composant.
Utilisation des styles pour personnaliser la couleur et le texte des
composants
Toutes les occurrences d’un composant ont des propriétés de style et des méthodes setStyle() et
getStyle() (voir UIObject.setStyle() et UIObject.getStyle()) que vous pouvez utiliser
pour accéder aux propriétés de style et les modifier. Vous pouvez utiliser des styles pour
personnaliser un composant de plusieurs manières :
• Définir des styles sur une occurrence de composant.
•
Vous pouvez modifier les propriétés de couleur et de texte d’une seule occurrence de
composant. Cette méthode est efficace dans certaines situations, mais elle peut prendre du
temps si vous devez définir des propriétés individuelles pour tous les composants d’un
document.
Utiliser la déclaration de style _global qui définit les styles de tous les composants d’un
document.
29
•
•
Si vous voulez appliquer le même aspect à l’ensemble du document, vous pouvez créer des
styles sur la déclaration de style _global.
Créer des déclarations de style personnalisées et les appliquer à des occurrences de composant
spécifiques.
Vous pouvez également faire en sorte que des groupes de composants partagent un même style
dans un document. Pour ce faire, vous pouvez créer des déclarations de style personnalisées à
appliquer à des composants spécifiques.
Créer des déclarations de style de classe par défaut.
Vous pouvez également définir une déclaration de style de classe par défaut de sorte que toutes
les occurrences d’une classe partagent un aspect par défaut.
Les modifications apportées aux propriétés de style ne sont pas affichées lors de la visualisation des
composants sur la scène au moyen de la fonction d’aperçu en direct. Pour plus d’informations,
consultez Composants dans l’aperçu en direct, page 19.
Définition de styles pour l’occurrence d’un composant
Vous pouvez rédiger un code ActionScript pour définir et appliquer des propriétés de style à
n’importe quelle occurrence d’un composant. Les méthodes UIObject.setStyle() et
UIObject.getStyle() peuvent être appelées directement à partir de n’importe quel composant.
Par exemple, le code suivant définit la couleur du texte d’une occurrence Button appelée
monBouton :
monBouton.setStyle("color", "0xFF00FF");
Bien qu’il soit possible d’accéder aux styles en tant que propriétés (par exemple,
monBouton.color = 0xFF00FF), il est préférable d’utiliser les méthodes setStyle() et
getStyle() pour assurer le bon fonctionnement des styles. Pour plus d’informations, consultez
Définition des valeurs des propriétés de style, page 34.
Remarque : Vous ne devez pas appeler la méthode UIObject.setStyle() plusieurs fois pour définir
plusieurs propriétés. Si vous voulez modifier plusieurs propriétés ou modifier les propriétés de
plusieurs occurrences d’un composant, créez un format de style personnalisé. Pour plus
d’informations, consultez Définition des styles pour des composants spécifiques, page 31.
Pour définir ou changer une propriété pour une occurrence de composant :
1 Sélectionnez l’occurrence de composant sur la scène.
2 Dans l’inspecteur des propriétés, donnez-lui le nom d’occurrence monComp.
3 Ouvrez le panneau Actions et choisissez Scène 1, puis Calque 1 : Image 1.
4 Saisissez le code suivant pour appliquer la couleur bleue à l’occurrence :
monComp.setStyle("themeColor", "haloBlue");
La syntaxe suivante définit une propriété et une valeur pour l’occurrence d’un composant :
nomDoccurrence.setStyle("propriété", value);
5 Choisissez Contrôle > Tester l’animation pour visualiser les modifications.
Pour obtenir la liste des styles supportés, consultez Styles supportés, page 35.
30
Chapitre 3 : Personnalisation des composants
Définition des styles globaux
La déclaration de style _global est affectée à tous les composants de l’interface utilisateur Flash
avec la version 2 de l’architecture des composants Macromedia (composants v2). L’objet _global a
une propriété intitulée style (_global.style). Il s’agit d’une occurrence de
CSSStyleDeclaration. Cette propriété style agit comme la déclaration de style _global. Si vous
modifiez la valeur d’une propriété sur la déclaration de style _global, la modification s’applique à
tous les composants de votre document Flash.
Certains styles sont définis sur l’objet CSSStyleDeclaration d’une classe de composants (par
exemple, le style backgroundColor des composants TextArea et TextInput). La déclaration de
style de classe étant prioritaire par rapport à la déclaration de style _global lors de la détermination
des valeurs de style, la définition du style backgroundColor sur la déclaration de style _global n’a
aucun effet sur TextArea et TextInput. Pour plus d’informations, consultez Utilisation des styles
globaux, personnalisés et de classe dans le même document, page 33.
Pour modifier une ou plusieurs propriétés de la déclaration de style global :
1 Assurez-vous que le document contient au moins une occurrence de composant.
Pour plus d’informations, consultez Ajout de composants aux documents Flash, page 20.
2 Créez et nommez un calque dans le scénario.
3 Choisissez une image dans laquelle le composant apparaît (ou avant qu’il n’apparaisse), dans le
nouveau calque.
4 Ouvrez le panneau Actions.
5 Utilisez la syntaxe suivante pour modifier les propriétés sur la déclaration de style _global. Vous
devez uniquement répertorier les propriétés dont vous voulez modifier les valeurs, comme dans
l’exemple suivant :
_global.style.setStyle("color", 0xCC6699);
_global.style.setStyle("themeColor", "haloBlue")
_global.style.setStyle("fontSize",16);
_global.style.setStyle("fontFamily" , "_serif");
Pour une liste des styles, consultez Styles supportés, page 35.
6 Choisissez Contrôle > Tester l’animation pour visualiser les modifications.
Définition des styles pour des composants spécifiques
Vous pouvez créer des déclarations de style personnalisées pour définir un jeu unique de
propriétés pour des composants spécifiques de votre document Flash. Créez une occurrence de
l’objet CSSStyleDeclaration, créez un nom de style personnalisé et placez-le sur la liste
_global.styles (_global.styles.newStyle). Indiquez les propriétés et valeurs de ce style et
affectez le style à une occurrence. L’objet CSSStyleDeclaration est accessible si vous avez placé au
moins une occurrence de composant sur la scène.
Pour apporter des modifications à un format de style personnalisé, procédez de la même manière
que pour modifier les propriétés de la déclaration de style _global. Au lieu du nom de la
déclaration de style _global, utilisez l’occurrence CSSStyleDeclaration. Pour plus d’informations
sur la déclaration de style _global, consultez Définition des styles globaux, page 31.
Pour plus d’informations sur les propriétés de l’objet CSSStyleDeclaration, consultez Styles
supportés, page 35. Pour une liste des styles supportés par chacun des composants, consultez leurs
entrées respectives dans le Chapitre 4, Dictionnaire des composants, page 47.
Utilisation des styles pour personnaliser la couleur et le texte des composants
31
Pour créer une déclaration de style personnalisée pour des composants spécifiques :
1 Assurez-vous que le document contient au moins une occurrence de composant.
2
3
4
5
Pour plus d’informations, consultez Ajout de composants aux documents Flash, page 20.
Cet exemple utilise trois composants button avec les noms d’occurrence a, b et c. Si vous
utilisez des composants différents, donnez-leur des noms d’occurrence dans l’inspecteur des
propriétés et utilisez ces noms à l’étape 9.
Créez et nommez un calque dans le scénario.
Choisissez une image dans laquelle le composant apparaît (ou avant qu’il n’apparaisse), dans le
nouveau calque.
Ouvrez le panneau Actions en mode Expert.
Utilisez la syntaxe suivante pour créer une occurrence de l’objet CSSStyleDeclaration et définir
le nouveau format de style personnalisé :
var styleObj = new mx.styles.CSSStyleDeclaration;
6 Définissez la propriété styleName de la déclaration de style pour donner un nom au style :
styleObj.styleName = "newStyle";
7 Placez le style sur la liste des styles globaux :
_global.styles.newStyle = styleObj;
Remarque : Vous pouvez également créer un objet CSSStyleDeclaration et l’affecter à une
nouvelle déclaration de style en utilisant la syntaxe suivante :
var styleObj = _global.styles.newStyle = new
mx.styles.CSSStyleDeclaration();
8 Utilisez la syntaxe suivante pour spécifier les propriétés à définir pour la déclaration de style
monStyle
:
styleObj.fontFamily = "_sans";
styleObj.fontSize = 14;
styleObj.fontWeight = "bold";
styleObj.textDecoration = "underline";
styleObj.color = 0x336699;
styleObj.setStyle("themeColor", "haloBlue");
9 Dans la même fenêtre de script, utilisez la syntaxe suivante pour définir la propriété styleName
des deux composants spécifiques sur la déclaration de style personnalisée :
a.setStyle("styleName", "newStyle");
b.setStyle("styleName", "newStyle");
Vous pouvez également accéder aux styles d’une déclaration de style personnalisée en utilisant les
méthodes setStyle() et getStyle(). Le code suivant définit le style backgroundColor sur la
déclaration de style newStyle :
_global.styles.newStyle.setStyle("backgroundColor", "0xFFCCFF");
Définition des styles pour une classe de composants
Vous pouvez définir une déclaration de style de classe pour n’importe quelle classe de composants
(Button, CheckBox, etc.) qui définit des styles par défaut pour toutes les occurrences de cette
classe. Vous devez créer la déclaration de style avant de créer les occurrences. Certains composants,
tels que TextArea et TextInput, ont des déclarations de style de classe prédéfinies par défaut, car
leurs propriétés borderStyle et backgroundColor doivent être personnalisées.
32
Chapitre 3 : Personnalisation des composants
Le code suivant crée une déclaration de style de classe pour CheckBox et applique la couleur bleue
à la case à cocher :
var o = _global.styles.CheckBox = new mx.styles.CSSStyleDeclaration();
o.color = 0x0000FF;
Vous pouvez également accéder aux styles d’une déclaration de style personnalisée en utilisant les
méthodes setStyle() et getStyle(). Le code suivant définit le style de couleur sur la
déclaration de style RadioButton :
_global.styles.RadioButton.setStyle("color", "blue");
Pour plus d’informations sur les styles supportés, consultez Styles supportés, page 35.
Utilisation des styles globaux, personnalisés et de classe dans le même
document
Si vous définissez un style à un seul emplacement du document, Flash se sert de cette définition
pour connaître la valeur d’une propriété. Cependant, il arrive qu’un document Flash ait une
déclaration de style _global, des déclarations de style personnalisées, des propriétés de style
définies directement sur les occurrences de composant et des déclarations de style de classe par
défaut. Dans ce cas, Flash détermine la valeur d’une propriété en recherchant sa définition à tous
les emplacements du document, en suivant un ordre spécifique.
Flash commence par chercher une propriété de style sur l’occurrence du composant. Si le style
n’est pas défini directement sur l’occurrence, Flash examine la propriété styleName de
l’occurrence pour voir si une déclaration de style lui a été affectée.
Si la propriété styleName n’a pas été affectée à une déclaration de style, Flash recherche la
propriété sur une déclaration de style de classe par défaut. S’il n’y a pas de déclaration de style de
classe et que la propriété n’hérite pas de sa valeur, la déclaration de style _global est cochée. Si la
propriété n’est pas définie sur la déclaration de style _global, elle est undefined.
S’il n’y a pas de déclaration de style de classe et que la propriété n’hérite pas de sa valeur, Flash
recherche la propriété sur le parent de l’occurrence. Si la propriété n’est pas définie sur le parent,
Flash vérifie la propriété styleName du parent ; si elle n’est pas définie, Flash continue de
parcourir les occurrences de parent jusqu’au niveau _global. Si la propriété n’est pas définie sur la
déclaration de style _global, elle est undefined.
StyleManager informe Flash si un style hérite de sa valeur ou non. Pour plus d’informations,
consultez Classe StyleManager, page 531.
Remarque : La valeur CSS inherit n’est pas supportée.
A propos des propriétés de style de couleur
Les propriétés de style de couleur sont différentes de celles des autres styles. Toutes les propriétés
de couleur ont un nom se terminant par « Color », par exemple backgroundColor,
disabledColor et color. Une fois les propriétés de style de couleur modifiées, la couleur change
instantanément dans l’occurrence et dans toutes les occurrences enfants appropriées. Toutes les
autres modifications des propriétés de style ne font que marquer l’objet pour indiquer qu’il doit
être retracé et que les modifications ne seront appliquées qu’à l’image suivante.
La valeur d’une propriété de style de couleur peut être un chiffre, une chaîne ou un objet. S’il
s’agit d’un chiffre, il représente la valeur RVB de la couleur en tant que nombre hexadécimal
(0xRRGGBB). Si la valeur est une chaîne, il doit s’agir d’un nom de couleur.
Utilisation des styles pour personnaliser la couleur et le texte des composants
33
Ces noms sont des chaînes qui correspondent aux couleurs couramment utilisées. De nouveaux
noms de couleur peuvent être ajoutés à l’aide de StyleManager (voir Classe StyleManager,
page 531). Le tableau suivant répertorie les noms de couleur par défaut :
Nom de couleur
Valeur
black
0x000000
white
0xFFFFFF
red
0xFF0000
green
0x00FF00
blue
0x0000FF
magenta
0xFF00FF
yellow
0xFFFF00
cyan
0x00FFFF
Remarque : Si le nom de couleur n’est pas défini, le composant risque de ne pas être correctement
tracé.
Vous pouvez utiliser n’importe quel identificateur ActionScript légal pour créer vos propres noms
de couleur (par exemple "WindowText" ou "ButtonText"). Utilisez StyleManager pour définir
de nouvelles couleurs, comme dans l’exemple suivant :
mx.styles.StyleManager.registerColorName("special_blue", 0x0066ff);
La plupart des composants ne peuvent pas traiter un objet en tant que valeur de propriété de style
de couleur. Cependant, certains d’entre eux peuvent traiter des objets de couleur qui représentent
des dégradés ou autres combinaisons. Pour plus d’informations, consultez la section « Utilisation
des styles » des entrées de composant respectives dans le Chapitre 4, Dictionnaire des composants,
page 47.
Vous pouvez utiliser des déclarations de style de classe et des noms de couleur pour contrôler
facilement les couleurs du texte et des symboles à l’écran. Par exemple, si vous voulez un écran de
configuration de l’affichage qui ressemble à Microsoft Windows, vous devez définir des noms de
couleur tels que ButtonText et WindowText et des déclarations de style de classe telles que
Button, CheckBox et Window. En définissant sur ButtonText et WindowText les propriétés de
style de couleur sur les déclarations de style et en fournissant une interface utilisateur permettant
de modifier les valeurs de ButtonText et WindowText, vous pouvez fournir les mêmes modèles de
couleurs que Microsoft Windows, le système d’exploitation Macintosh ou tout autre système
d’exploitation.
Définition des valeurs des propriétés de style
Utilisez la méthode UIObject.setStyle() pour définir une propriété de style sur l’occurrence
d’un composant, la déclaration de style global, une déclaration de style personnalisée ou une
déclaration de style de classe. Le code suivant définit la couleur rouge pour le style color d’une
occurrence de bouton radio :
monBoutonRadio.setStyle("color", "red");
Le code suivant définit le style color de la déclaration de style personnalisée CheckBox :
_global.styles.CheckBox.setStyle("color", "white");
34
Chapitre 3 : Personnalisation des composants
La méthode UIObject.setStyle() détermine si un style est hérité et notifie les enfants de cette
occurrence si leur style change. Elle notifie également l’occurrence à retracer pour refléter le
nouveau style. Vous devez donc utiliser setStyle() pour définir ou modifier les styles.
Cependant, pour optimiser la création de déclarations de style, vous pouvez définir directement
les propriétés sur un objet. Pour plus d’informations, consultez Définition des styles globaux,
page 31, Définition des styles pour une classe de composants, page 32 et Définition des styles pour des
composants spécifiques, page 31.
Utilisez la méthode UIObject.getStyle() pour définir une propriété de style sur l’occurrence
d’un composant, la déclaration de style global, une déclaration de style personnalisée ou une
déclaration de style de classe. Le code suivant obtient la valeur de la propriété de couleur et
l’affecte à la variable o :
var o = monBoutonRadio.getStyle("color");
Le code suivant obtient la valeur d’une propriété de style définie sur la déclaration de style
_global :
var r = _global.style.getValue("marginRight");
Si le style n’est pas défini, getStyle() peut renvoyer la valeur undefined. Cependant,
getStyle() comprend le fonctionnement de l’héritage des propriétés de style. Cela signifie que
même si les styles sont des propriétés, vous devez utiliser UIObject.getStyle() pour y accéder
et ne pas avoir besoin de savoir si le style est hérité ou non.
Pour plus d’informations, consultez UIObject.getStyle() et UIObject.setStyle().
Styles supportés
Flash MX 2004 et Flash MX Professionnel 2004 ont deux thèmes : Halo (HaloTheme.fla) et
Echantillon (SampleTheme.fla). Ces thèmes supportent un ensemble de styles différent. Le thème
Echantillon utilise tous les styles du mécanisme de styles v2. Il vous permet de visualiser un
échantillon des styles contenus dans un document. Le thème Halo supporte un sous-ensemble des
styles du thème Echantillon.
Les propriétés de style suivantes sont supportées par la plupart des composants v2 dans le style
Echantillon. Pour plus d’informations sur les styles Halo supportés par les différents composants,
consultez le Chapitre 4, Dictionnaire des composants, page 47.
Si des valeurs non autorisées sont saisies, la valeur par défaut est utilisée. Ce facteur est important
si vous réutilisez des déclarations de style CSS qui utilisent des valeurs externes au sous-ensemble
de valeurs Macromedia.
Les composants peuvent supporter les styles suivants :
Style
Description
backgroundColor
Arrière-plan d’un composant. Il s’agit du seul style de couleur qui
n’hérite pas de sa valeur. La valeur par défaut est la
transparence.
borderColor
Section noire d’une bordure à trois dimensions ou section de
couleur d’une bordure à deux dimensions. La valeur par défaut
est 0x000000 (noir).
borderStyle
Bordure du composant : "none", "inset", "outset" ou "solid". Ce
style n’hérite pas de sa valeur. La valeur par défaut est "solid".
Utilisation des styles pour personnaliser la couleur et le texte des composants
35
Style
Description
buttonColor
Surface d’un bouton et section d’une bordure à trois
dimensions. La valeur par défaut est 0xEFEEEF (gris clair).
color
Texte d’une étiquette de composant. La valeur par défaut est
0x000000 (noir).
disabledColor
Couleur désactivée pour du texte. La couleur par défaut est
0x848384 (gris foncé).
fontFamily
Nom de police pour du texte. La valeur par défaut est _sans.
fontSize
Taille en points pour la police. La valeur par défaut est 10.
fontStyle
Style de police : "normal" ou "italic". La valeur par défaut est
"normal".
fontWeight
Epaisseur de la police : "normal" ou "bold". La valeur par défaut
est "normal".
highlightColor
Section de la bordure à trois dimensions. La valeur par défaut
est 0xFFFFFF (blanc).
marginLeft
Nombre indiquant la marge gauche pour le texte. La valeur par
défaut est 0.
marginRight
Nombre indiquant la marge droite pour le texte. La valeur par
défaut est 0.
scrollTrackColor
Piste de défilement pour une barre de défilement. La valeur par
défaut est 0xEFEEEF (gris clair).
shadowColor
Section de la bordure à trois dimensions. La valeur par défaut
est 0x848384 (gris foncé).
symbolBackgroundColor
Couleur d’arrière-plan des cases à cocher et des boutons radio.
La valeur par défaut est 0xFFFFFF (blanc).
symbolBackgroundDisabledColor Couleur d’arrière-plan des cases à cocher et des boutons radio
désactivés. La valeur par défaut est 0xEFEEEF (gris clair).
symbolBackgroundPressedColor Couleur d’arrière-plan des cases à cocher et des boutons radio
enfoncés. La valeur par défaut est 0xFFFFFF (blanc).
36
symbolColor
Coche de la case à cocher ou point du bouton radio. La valeur
par défaut est 0x000000 (noir).
symbolDisabledColor
Couleur de la coche ou du point de bouton radio désactivés. La
valeur par défaut est 0x848384 (gris foncé).
textAlign
Alignement du texte : "left", "right" ou "center". La valeur par
défaut est "left".
textDecoration
Décoration du texte : "none" ou "underline" (souligné). La valeur
par défaut est "none".
textIndent
Nombre indiquant le retrait du texte. La valeur par défaut est 0.
Chapitre 3 : Personnalisation des composants
A propos des thèmes
Les thèmes sont des collections de styles et d’enveloppes. Le thème par défaut pour Flash MX
2004 et Flash MX Professionnel 2004 est Halo (HaloTheme.fla). Le thème Halo a été développé
pour garantir à vos utilisateurs une utilisation précise et fiable de vos applications. Flash MX 2004
et Flash MX Professionnel 2004 incluent un thème supplémentaire intitulé Echantillon
(SampleTheme.fla). Le thème Echantillon vous permet d’essayer le jeu complet des styles
disponibles pour les composants v2 (le thème Halo utilise uniquement un sous-ensemble des
styles disponibles). Les fichiers de thème sont situés dans les dossiers suivants :
• First Run\ComponentFLA (Windows)
• First Run/ComponentFLA (Macintosh)
Vous pouvez créer de nouveaux thèmes et les utiliser dans une application pour modifier l’aspect
de tous les composants. Vous pouvez par exemple créer un thème à deux dimensions et un thème
à trois dimensions.
Les composants v2 utilisent des enveloppes (symboles graphiques ou de clip) pour afficher leurs
apparences visuelles. Le fichier .as associé à chaque composant contient un code qui charge des
enveloppes spécifiques pour le composant. Vous pouvez facilement créer un thème en effectuant
une copie du thème Halo ou Echantillon et en modifiant les graphiques dans les enveloppes.
Un thème peut également contenir un nouveau jeu de styles. Vous devez rédiger le code
ActionScript pour créer une déclaration de style global et des déclarations de style
supplémentaires. Pour plus d’informations, consultez Utilisation des styles pour personnaliser la
couleur et le texte des composants, page 29.
Application d’un thème à un document
Pour appliquer un nouveau thème à un document, ouvrez un fichier FLA de thème en tant que
bibliothèque externe et faites glisser le dossier Thème de la bibliothèque externe sur la scène. Les
étapes suivantes expliquent le processus en détail.
Pour appliquer un thème à un document :
1 Choisissez Fichier > Ouvrir et ouvrez le document qui utilise des composants v2 dans Flash ou
choisissez Fichier > Nouveau et créez un document qui utilise des composants v2.
2 Sélectionnez Fichier > Enregistrer et choisissez un nom unique, tel que ThemeApply.fla.
3 Choisissez Fichier > Importer > Ouvrir une bibliothèque externe et sélectionnez le fichier FLA
du thème à appliquer à votre document.
Si vous n’avez pas créé de thème, vous pouvez utiliser le thème Echantillon, situé dans le dossier
Flash 2004/en/Configuration/SampleFLA.
4 Dans le panneau Bibliothèque du thème, choisissez Flash UI Components 2 > Themes >
MMDefault et faites glisser le dossier Assets de tous les composants de votre document vers la
bibliothèque ThemeApply.fla.
Si vous ne savez pas exactement quels composants sont contenus dans les documents, vous
pouvez faire glisser l’ensemble du dossier Thèmes vers la scène. Les enveloppes situées dans le
dossier Thèmes de la bibliothèque sont automatiquement affectées aux composants du
document.
Remarque : L’aperçu en direct des composants sur la scène ne reflète pas le nouveau thème.
A propos des thèmes
37
5 Choisissez Contrôle > Tester l’animation pour visualiser le document sur lequel est appliqué le
nouveau thème.
Création d’un thème
Si vous ne voulez pas utiliser le thème Halo ou le thème Echantillon, vous pouvez les modifier
pour créer un nouveau thème.
Certaines enveloppes ont une taille prédéfinie dans les thèmes. Vous pouvez en augmenter ou en
réduire la taille. Les composants sont alors automatiquement redimensionnés à leur nouvelle
taille. Les autres enveloppes sont composées de plusieurs éléments, certains statiques et d’autres
extensibles.
Certaines enveloppes (par exemple, RectBorder et ButtonSkin) utilisent l’API ActionScript
Drawing pour tracer leurs graphiques, car elle est beaucoup plus efficace en termes de taille et de
performances. Vous pouvez vous servir du code ActionScript comme modèle dans ces enveloppes
afin de les adapter à vos besoins.
Pour créer un thème :
1 Sélectionnez le fichier FLA correspondant au thème à utiliser comme modèle et faites-en une
2
3
4
5
6
7
8
copie.
Donnez un nom unique à la copie, tel que « MonThème.fla ».
Choisissez Fichier > Ouvrir MonTheme.fla dans Flash.
Choisissez Fenêtre > Bibliothèque pour ouvrir la bibliothèque si ce n’est pas déjà fait.
Double-cliquez sur le symbole d’une enveloppe que vous souhaitez modifier pour l’ouvrir en
mode de modification de symbole.
Les enveloppes sont situées dans le dossier Themes > MMDefault > Composant Assets (dans cet
exemple, Themes > MMDefault > RadioButton Assets).
Modifiez le symbole ou supprimez les graphiques et créez-en de nouveaux.
Vous pouvez choisir Affichage > Zoom avant pour augmenter le zoom. Lors de la modification
d’une enveloppe, vous devez conserver le point d’alignement pour qu’elle s’affiche
correctement. Le coin supérieur gauche de tous les symboles modifiés doit se trouver à (0,0).
Une fois que vous avez terminé de modifier le symbole de l’enveloppe, cliquez sur le bouton de
retour, figurant dans la partie gauche de la barre d’informations au sommet de la scène, pour
revenir en mode d’édition de document.
Répétez les étapes 4 à 6 jusqu’à ce que vous ayez modifié toutes les enveloppes voulues.
Appliquez MonTheme.fla à un document en suivant les étapes de la section précédente,
Application d’un thème à un document, page 37.
A propos de l’application des enveloppes aux composants
Les enveloppes sont des symboles utilisés par les composants pour afficher leur aspect. Il s’agit de
symboles graphiques ou de clip. La plupart des enveloppes contiennent des formes représentant
l’aspect du composant. Certaines enveloppes contiennent uniquement le code ActionScript qui
trace le composant dans le document.
38
Chapitre 3 : Personnalisation des composants
Les composants v2 de Macromedia sont des clips compilés, ce qui signifie que vous ne pourrez pas
visualiser leurs actifs dans la bibliothèque. Cependant, les fichiers FLA sont installés avec Flash et
contiennent toutes les enveloppes des composants. Ces fichiers FLA sont appelés des thèmes. Tous
les thèmes ont des aspects et des comportements différents, mais ils contiennent tous des
enveloppes ayant les mêmes noms de symbole et les mêmes identificateurs de liaison. Cela permet
de faire glisser un thème vers la scène du document pour en modifier l’aspect. Pour plus
d’informations sur les thèmes, consultez A propos des thèmes, page 37. Les fichiers FLA de thème
sont également utilisés pour modifier les enveloppes des composants. Les enveloppes sont situées
dans le dossier Thèmes, dans le panneau Bibliothèque de tous les fichiers FLA de thème.
Chaque composant comporte de nombreuses enveloppes. Par exemple, la flèche vers le bas du
sous-composant ScrollBar se compose de trois enveloppes : ScrollDownArrowDisabled,
ScrollDownArrowUp et ScrollDownArrowDown. Certains composants partagent des enveloppes.
Les composants qui utilisent des barres de défilement (comme ComboBox, List et ScrollPane)
partagent les enveloppes du dossier ScrollBar Skins. Vous pouvez modifier les enveloppes
existantes et en créer de nouvelles pour changer l’aspect des composants.
Le fichier .as qui définit chaque classe de composant contient un code qui charge des enveloppes
spécifiques destinées au composant. Chaque enveloppe de composant a une propriété
d’enveloppe affectée à l’identificateur de liaison du symbole d’une enveloppe. Par exemple, l’état
enfoncé (bas) de la flèche bas de ScrollBar porte le nom de propriété d’enveloppe
downArrowDownName. La valeur par défaut de la propriété downArrowDownName est
"DownArrowDown", ce qui correspond à l’identificateur de liaison du symbole de l’enveloppe.
Vous pouvez modifier les enveloppes et les appliquer à un composant en utilisant ces propriétés
d’enveloppe. Il n’est pas nécessaire de modifier le fichier .as du composant pour changer les
propriétés de son enveloppe ; vous pouvez passer les valeurs des propriétés de l’enveloppe à la
fonction de constructeur du composant lors de la création d’un composant dans votre document.
Choisissez l’une des manières suivantes d’envelopper un composant en fonction de ce que vous
souhaitez faire :
• Pour remplacer toutes les enveloppes dans un document par un nouveau jeu (avec tous les
types de composant partageant le même aspect), appliquez un thème (voir A propos des thèmes,
page 37).
Remarque : Cette méthode d’enveloppe est conseillée aux débutants car elle ne nécessite pas la
rédaction d’un script.
• Pour utiliser différentes enveloppes pour plusieurs occurrences d’un même composant,
•
•
modifiez les enveloppes existantes et définissez leurs propriétés (consultez la section suivante,
Modification des enveloppes des composants, page 40, et Application d’une enveloppe modifiée à un
composant, page 40).
Pour modifier les enveloppes dans un sous-composant (tel qu’une barre de défilement ou dans
un composant List), sous-classez le composant (voir Application d’une enveloppe modifiée à un
sous-composant, page 41).
Pour modifier les enveloppes d’un sous-composant qui ne sont pas directement accessibles à
partir du composant principal (par ex. un composant List dans un composant ComboBox),
remplacez les propriétés des enveloppes dans le prototype (voir Modification des propriétés
d’enveloppe dans le prototype, page 44).
Remarque : Les méthodes ci-dessus sont répertoriées dans l’ordre de leur facilité d’utilisation.
A propos de l’application des enveloppes aux composants
39
Modification des enveloppes des composants
Si vous voulez utiliser une enveloppe particulière pour l’occurrence d’un composant et une autre
enveloppe pour une autre occurrence du composant, vous devez ouvrir un fichier FLA de thème
et créer un nouveau symbole d’enveloppe. Les composants sont conçus de manière à faciliter
l’utilisation des différentes enveloppes pour les différentes occurrences.
Pour modifier une enveloppe, procédez comme suit :
1 Choisissez Fichier > Ouvrir et ouvrez le fichier FLA de thème à utiliser comme modèle.
2 Choisissez Fichier > Enregistrer sous et sélectionnez un nom unique tel que MonTheme.fla.
3 Choisissez la ou les enveloppes à modifier (dans cet exemple, RadioTrueUp).
4
5
6
7
8
9
Les enveloppes sont situées dans le dossier Themes > MMDefault > Composant Assets (dans cet
exemple, Themes > MMDefault > RadioButton Assets > States).
Choisissez Dupliquer dans le menu des options de la bibliothèque (ou en cliquant avec le
bouton droit sur le symbole) et donnez un nom unique au symbole, tel que
monBoutonRadioRelevé.
Choisissez le bouton Avancé dans la boîte de dialogue Propriétés du symbole et cochez Exporter
pour ActionScript.
Un identificateur de liaison correspondant au nom du symbole est saisi automatiquement.
Double-cliquez sur la nouvelle enveloppe dans la bibliothèque pour l’ouvrir en mode de
modification de symbole.
Modifiez le clip ou supprimez-le avant d’en créer un nouveau.
Vous pouvez choisir Affichage > Zoom avant pour augmenter le zoom. Lors de la modification
d’une enveloppe, vous devez conserver le point d’alignement pour qu’elle s’affiche
correctement. Le coin supérieur gauche de tous les symboles modifiés doit se trouver à (0,0).
Une fois que vous avez terminé de modifier le symbole de l’enveloppe, cliquez sur le bouton de
retour, figurant dans la partie gauche de la barre d’informations au sommet de la scène, pour
revenir en mode d’édition de document.
Choisissez Fichier > Enregistrer, mais ne fermez pas le fichier MonTheme.fla. Vous devez
maintenant créer un document dans lequel l’enveloppe modifiée sera appliquée à un
composant.
Pour plus d’informations, consultez la section suivante, Application d’une enveloppe modifiée à
un composant, page 40, Application d’une enveloppe modifiée à un sous-composant, page 41 ou
Modification des propriétés d’enveloppe dans le prototype, page 44. Pour plus d’informations sur la
manière d’appliquer une nouvelle enveloppe, consultez A propos de l’application des enveloppes
aux composants, page 38.
Remarque : Les modifications apportées aux enveloppes des composants ne sont pas affichées lors
de la visualisation en aperçu direct des composants sur la scène.
Application d’une enveloppe modifiée à un composant
Une fois que vous avez modifié une enveloppe, vous devez l’appliquer au composant d’un
document. Vous pouvez utiliser la méthode createClassObject() pour créer dynamiquement
les occurrences d’un composant ou les placer manuellement sur la scène. Il existe deux moyens
d’appliquer des enveloppes aux occurrences de composant, en fonction de la manière dont vous
ajoutez les composants à un document.
40
Chapitre 3 : Personnalisation des composants
Pour créer dynamiquement un composant et lui appliquer une enveloppe modifiée,
procédez comme suit :
1 Choisissez Fichier > Nouveau pour créer un document Flash.
2 Choisissez Fichier > Enregistrer et donnez-lui un nom unique tel que HabillageDynamique.fla.
3 Faites glisser les composants du panneau Composants vers la scène, y compris le composant
dont vous avez modifié l’enveloppe (dans cet exemple, RadioButton) et supprimez-les.
Cette action permet d’ajouter les symboles dans la bibliothèque, mais elle ne permet pas de les
rendre visibles dans le document.
4 Faites glisser monBoutonRadioRelevé et tous les autres symboles personnalisés du fichier
MonTheme.fla vers la scène de HabillageDynamique.fla et supprimez-les.
Cette action permet d’ajouter les symboles dans la bibliothèque, mais elle ne permet pas de les
rendre visibles dans le document.
5 Ouvrez le panneau Actions et saisissez ce qui suit sur l’image 1 :
import mx.controls.RadioButton
createClassObject(RadioButton, "monBoutonRadio", 0,
{trueUpIcon:"monBoutonRadioRelevé", label: "Mon Bouton Radio"});
6 Choisissez Contrôle > Tester l’animation.
Pour ajouter manuellement un composant sur la scène et lui appliquer une enveloppe
modifiée, procédez comme suit :
1 Choisissez Fichier > Nouveau pour créer un document Flash.
2 Choisissez Fichier > Enregistrer et donnez-lui un nom unique tel que HabillageManuel.fla.
3 Faites glisser les composants du panneau Composants vers la scène, y compris le composant
dont vous avez modifié l’enveloppe (dans cet exemple, RadioButton).
4 Faites glisser monBoutonRadioRelevé et tous les autres symboles personnalisés du fichier
MonTheme.fla vers la scène de HabillageManuel.fla et supprimez-les.
Cette action permet d’ajouter les symboles dans la bibliothèque, mais elle ne permet pas de les
rendre visibles dans le document.
5 Sélectionnez le composant RadioButton sur la scène et ouvrez le panneau Actions.
6 Joignez le code suivant à l’occurrence RadioButton :
onClipEvent(initialize){
trueUpIcon = "monBoutonRadioRelevé";
}
7 Choisissez Contrôle > Tester l’animation.
Application d’une enveloppe modifiée à un sous-composant
Dans certaines situations, il est possible que vous souhaitiez modifier les enveloppes d’un souscomposant dans un composant, mais que les propriétés des enveloppes ne soient pas directement
disponibles (par exemple s’il n’y a pas de moyen direct de modifier les enveloppes de la barre de
défilement dans un composant List). Le code suivant vous permet d’accéder aux enveloppes des
barres de défilement. Toutes les barres de défilement créées après l’exécution de ce code auront
aussi de nouvelles enveloppes.
Si un composant est constitué de sous-composants, ceux-ci sont identifiés dans l’entrée du
composant, dans le Chapitre 4, Dictionnaire des composants, page 47.
A propos de l’application des enveloppes aux composants
41
Pour appliquer une nouvelle enveloppe à un sous-composant, procédez comme suit :
1 Suivez les étapes de Modification des enveloppes des composants, page 40 mais en modifiant cette
2
3
4
5
6
fois l’enveloppe d’une barre de défilement. Pour cet exemple, modifiez l’enveloppe
ScrollDownArrowDown et donnez-lui le nouveau nom maFlècheDéfilBasEnfoncée.
Choisissez Fichier > Nouveau pour créer un document Flash.
Choisissez Fichier > Enregistrer et donnez-lui un nom unique tel que
ProjetSousComposant.fla.
Double-cliquez sur le composant List dans le panneau Composants pour l’ajouter sur la scène
et appuyez sur la touche Retour arrière pour le supprimer de la scène.
Cette action permet d’ajouter le composant dans le panneau Bibliothèque, mais elle ne permet
pas de le rendre visible dans le document.
Faites glisser maFlècheDéfilBasEnfoncée et tous les autres symboles personnalisés du fichier
MonTheme.fla vers la scène de ProjetSousComposant.fla et supprimez-les.
Cette action permet d’ajouter le composant dans le panneau Bibliothèque, mais elle ne permet
pas de le rendre visible dans le document.
Effectuez l’une des opérations suivantes :
■ Si vous voulez modifier toutes les barres de défilement dans un document, saisissez le code
suivant dans le panneau Actions, sur l’image 1 du scénario :
import mx.controls.List
import mx.controls.scrollClasses.ScrollBar
ScrollBar.prototype.downArrowDownName = "maFlècheDéfilBasEnfoncée";
Vous pouvez saisir le code suivant sur l’image 1 pour créer une liste de manière dynamique :
createClassObject(List, "maZoneDeListe", 0, {dataProvider:
["AL","AR","AZ", "CA","HI","ID", "KA","LA","MA"]});
■
Vous pouvez également faire glisser un composant List de la bibliothèque vers la scène.
Si vous voulez modifier une barre de défilement spécifique dans un document, saisissez le
code suivant dans le panneau Actions, sur l’image 1 du scénario :
import mx.controls.List
import mx.controls.scrollClasses.ScrollBar
var oldName = ScrollBar.prototype.downArrowDownName;
ScrollBar.prototype.downArrowDownName = "maFlècheDéfilBasEnfoncée";
createClassObject(List, "maListe1", 0, {dataProvider: ["AL","AR","AZ",
"CA","HI","ID", "KA","LA","MA"]});
maListe1.redraw(true);
ScrollBar.prototype.downArrowDownName = oldName;
Remarque : Vous devez définir suffisamment de données pour que les barres de défilement
apparaissent ou bien définir la propriété vScrollPolicy sur true.
7 Choisissez Contrôle > Tester l’animation.
Vous pouvez également définir les enveloppes des sous-composants pour tous les composants d’un
document en définissant la propriété de l’enveloppe sur l’objet prototype du composant, dans la
section #initclip d’un symbole d’enveloppe. Pour plus d’informations sur l’objet prototype,
consultez Function.prototype dans le Dictionnaire ActionScript de l’aide.
42
Chapitre 3 : Personnalisation des composants
Pour utiliser #initclip afin d’appliquer une enveloppe modifiée à tous les composants d’un
document, procédez comme suit :
1 Suivez les étapes de Modification des enveloppes des composants, page 40 mais en modifiant cette
2
3
4
5
6
7
fois l’enveloppe d’une barre de défilement. Pour cet exemple, modifiez l’enveloppe
ScrollDownArrowDown et donnez-lui le nouveau nom maFlècheDéfilBasEnfoncée.
Choisissez Fichier > Nouveau pour créer un document Flash. Enregistrez-le sous un nom
unique tel que SkinsInitExample.fla.
Choisissez le symbole maFlècheDéfilBasEnfoncée dans la bibliothèque de l’exemple de
bibliothèque de thème modifié, faites-le glisser vers la scène de SkinsInitExample.fla et
supprimez-le.
Cette action permet d’ajouter le symbole à la bibliothèque, mais pas de le rendre visible sur la
scène.
Choisissez maFlècheDéfilBasEnfoncée dans la bibliothèque SkinsInitExample.fla et
sélectionnez Liaison dans le menu d’options.
Cochez la case Exporter pour ActionScript. Cliquez sur OK.
L’option Exporter dans la première image est automatiquement sélectionnée.
Double-cliquez sur maFlècheDéfilBasEnfoncée dans la bibliothèque pour l’ouvrir en mode de
modification de symbole.
Saisissez le code suivant sur l’image 1 du symbole maFlècheDéfilBasEnfoncée :
#initclip 10
import mx.controls.scrollClasses.ScrollBar;
ScrollBar.prototype.downArrowDownName = "maFlècheDéfilBasEnfoncée";
#endinitclip
8 Effectuez l’une des opérations suivantes pour ajouter un composant List au document :
■
■
Faites glisser un composant List du panneau Composants jusqu’à la scène. Saisissez
suffisamment de paramètres Label pour que la barre de défilement verticale apparaisse.
Faites glisser un composant List du panneau Composants vers la scène et supprimez-le.
Saisissez le code suivant sur l’image 1 du scénario principal de SkinsInitExample.fla :
createClassObject(mx.controls.List, "maListe1", 0, {dataProvider:
["AL","AR","AZ", "CA","HI","ID", "KA","LA","MA"]});
Remarque : Ajoutez suffisamment de données pour que la barre de défilement verticale
apparaisse ou bien définissez vScrollPolicy sur true.
L’exemple suivant explique comment envelopper un élément déjà sur la scène. Cet exemple
enveloppe uniquement les composants List ; les barres de défilement TextArea ou ScrollPane ne
seraient pas enveloppés.
Pour utiliser #initclip afin d’appliquer une enveloppe modifiée à des composants spécifiques
dans un document, procédez comme suit :
1 Suivez les étapes de Modification des enveloppes des composants, page 40 mais en modifiant cette
2
3
4
5
fois l’enveloppe d’une barre de défilement. Pour cet exemple, modifiez l’enveloppe
ScrollDownArrowDown et donnez-lui le nouveau nom maFlècheDéfilBasEnfoncée.
Choisissez Fichier > Nouveau pour créer un document Flash.
Choisissez Fichier > Enregistrer et donnez-lui un nom unique tel que TestMaBarreDéfilV.fla.
Faites glisser maFlècheDéfilBasEnfoncée de la bibliothèque de thème vers la bibliothèque
TestMaBarreDéfilV.fla.
Choisissez Insérer > Nouveau symbole et donnez-lui un nom unique tel que maBarreDéfilV.
A propos de l’application des enveloppes aux composants
43
6 Cochez la case Exporter pour ActionScript. Cliquez sur OK.
L’option Exporter dans la première image est automatiquement sélectionnée.
7 Saisissez le code suivant sur l’image 1 du symbole maBarreDéfilV :
#initclip 10
import maBarreDéfilV
Object.registerClass("VScrollBar", maBarreDéfilV);
#endinitclip
8 Faites glisser un composant List du panneau Composants jusqu’à la scène.
9 Dans l’inspecteur des propriétés, saisissez le nombre de paramètres Label nécessaires pour faire
apparaître la barre de défilement verticale.
10 Choisissez Fichier > Enregistrer.
11 Choisissez Fichier > Nouveau et créez un fichier ActionScript.
12 Saisissez le code suivant :
import mx.controls.VScrollBar
import mx.controls.List
class maBarreDéfilV extends VScrollBar{
function init():Void{
if (_parent instanceof List){
downArrowDownName = "maFlècheDéfilBasEnfoncée";
}
super.init();
}
}
13 Choisissez Fichier > Enregistrer et enregistrez le fichier sous maBarreDéfilV.as.
14 Cliquez sur un espace vide de la scène et, dans l’inspecteur des propriétés, choisissez le bouton
Paramètres de publication.
15 Sélectionnez le bouton Paramètres de la version ActionScript.
16 Cliquez sur le bouton Plus (+) pour ajouter un nouveau chemin de classe et sélectionnez le
bouton Cible pour rechercher l’emplacement du fichier MaListeDéroulante.as sur votre disque
dur.
17 Choisissez Contrôle > Tester l’animation.
Modification des propriétés d’enveloppe dans le prototype
Si un composant ne supporte pas directement les variables d’enveloppe, vous pouvez le sousclasser et remplacer ses enveloppes. Par exemple, le composant ComboBox ne supporte pas
directement l’application d’enveloppes à son menu déroulant car ComboBox utilise un
composant List comme menu déroulant.
Si un composant est constitué de sous-composants, ceux-ci sont identifiés dans l’entrée du
composant, dans le Chapitre 4, Dictionnaire des composants, page 47.
Pour appliquer une enveloppe à un sous-composant, procédez comme suit :
1 Suivez les étapes de Modification des enveloppes des composants, page 40 mais en modifiant cette
fois l’enveloppe d’une barre de défilement. Pour cet exemple, modifiez l’enveloppe
ScrollDownArrowDown et donnez-lui le nouveau nom maFlècheDéfilBasEnfoncée.
2 Choisissez Fichier > Nouveau pour créer un document Flash.
3 Choisissez Fichier > Enregistrer et donnez-lui un nom unique tel que monTestListe.fla.
44
Chapitre 3 : Personnalisation des composants
4 Faites glisser maFlècheDéfilBasEnfoncée de la bibliothèque de thème sur la scène de
monTestListe.fla et supprimez-le.
Cette action permet d’ajouter le symbole à la bibliothèque, mais pas de le rendre visible sur la
scène.
5 Choisissez Insertion > Nouveau symbole et donnez-lui un nom unique, tel que
MaListeDéroulante.
6 Sélectionnez la case Exporter pour ActionScript et cliquez sur OK.
L’option Exporter dans la première image est automatiquement sélectionnée.
7 Saisissez le code suivant dans le panneau Actions, sur les actions de l’image 1 de MaListe :
#initclip 10
import MaListe
Object.registerClass("ComboBox", MaListe);
#endinitclip
8 Faites glisser un composant ComboBox vers la scène.
9 Dans l’inspecteur des propriétés, saisissez le nombre de paramètres Label nécessaires pour faire
apparaître la barre de défilement verticale.
10 Choisissez Fichier > Enregistrer.
11 Choisissez Fichier > Nouveau et créez un fichier ActionScript (Flash Professionnel
uniquement).
12 Saisissez le code suivant :
import mx.controls.ComboBox
import mx.controls.scrollClasses.ScrollBar
class MaListe extends ComboBox{
function getDropdown():Object{
var oldName = ScrollBar.prototype.downArrowDownName;
ScrollBar.prototype.downArrowDownName = "maFlècheDéfilBasEnfoncée";
var r = super.getDropdown();
ScrollBar.prototype.downArrowDownName = oldName;
return r;
}
}
13 Choisissez Fichier > Enregistrer et enregistrez le fichier sous MaListe.as.
14 Cliquez sur un espace vide de la scène et, dans l’inspecteur des propriétés, choisissez le bouton
Paramètres de publication.
15 Sélectionnez le bouton Paramètres de la version ActionScript.
16 Cliquez sur le bouton Plus (+) pour ajouter un nouveau chemin de classe et sélectionnez le
bouton Cible pour rechercher l’emplacement du fichier MaListeDéroulante.as sur votre disque
dur.
17 Choisissez Contrôle > Tester l’animation.
A propos de l’application des enveloppes aux composants
45
46
Chapitre 3 : Personnalisation des composants
CHAPITRE 4
Dictionnaire des composants
Ce chapitre de référence décrit tous les composants, ainsi que l’interface de programmation (API)
de chacun d’entre eux.
Chaque description contient les informations suivantes :
•
•
•
•
•
•
•
Interaction clavier
Aperçu en direct
Accessibilité
Définition des paramètres des composants
Utilisation des composants dans une application
Personnalisation des composants avec des styles et des enveloppes
Méthodes ActionScript, propriétés et événements
Les composants sont présentés par ordre alphabétique. Vous les trouverez également classés par
catégorie dans les tableaux suivants :
Composants de l’interface utilisateur (IU)
Composant
Description
Composant Accordion (Flash
Professionnel uniquement)
Jeu d’affichages verticaux se chevauchant, dont les boutons
supérieurs permettent aux utilisateurs de passer d’un affichage à
l’autre.
Composant Alert (Flash
Professionnel uniquement)
Fenêtre contenant une question et des boutons pour la saisie de la
réponse par l’utilisateur.
Composant Button
Bouton pouvant être redimensionné et personnalisé à l’aide d’une
icône.
Composant CheckBox
Permet aux utilisateurs de faire un choix booléen (true ou false).
Composant ComboBox
Permet aux utilisateurs de choisir une option dans une liste
déroulante. Ce composant peut contenir un champ de texte
susceptible d’être sélectionné au sommet de la liste, qui permet
aux utilisateurs d’effectuer une recherche dans la liste.
Composant DateChooser (Flash Permet aux utilisateurs de sélectionner une ou plusieurs dates dans
Professionnel uniquement)
un calendrier.
47
Composant
Description
Composant DateField (Flash
Professionnel uniquement)
Champ de texte qui ne peut pas être sélectionné avec une icône de
calendrier. Lorsqu’un utilisateur clique n’importe où dans le cadre
de délimitation du composant, un composant DateChooser
apparaît.
Composant DataGrid (Flash
Professionnel uniquement)
Permet aux utilisateurs d’afficher et de manipuler plusieurs
colonnes de données.
Composant Label
Champ de texte d’une ligne non modifiable.
Composant List
Permet aux utilisateurs de choisir une ou plusieurs options dans
une liste déroulante.
Composant Loader
Conteneur contenant un fichier SWF ou JPEG chargé.
Composant Menu (Flash
Professionnel uniquement)
Permet aux utilisateurs de choisir une commande dans une liste ;
menu d’application de bureau standard.
Composant MenuBar (Flash
Professionnel uniquement)
Barre de menus horizontale.
Composant NumericStepper
Flèches sur lesquelles vous devez cliquer pour augmenter ou
réduire la valeur d’un nombre.
Composant ProgressBar
Affiche la progression d’un processus, généralement le
chargement.
Composant RadioButton
Permet aux utilisateurs d’effectuer une sélection parmi des options
qui s’excluent réciproquement.
Composant ScrollPane
Affiche des animations, des bitmaps et des fichiers SWF dans une
zone délimitée à l’aide de barres de défilement automatiques.
Composant TextArea
Champ de texte à plusieurs lignes modifiable.
Composant TextInput
Champ d’entrée de texte à une ligne modifiable.
Composant Tree (Flash
Professionnel uniquement)
Permet à un utilisateur de manipuler des informations
hiérarchiques.
Composant Window
Fenêtre contenant une barre de titre, une légende, une bordure, un
bouton Fermer et présentant du contenu à l’utilisateur.
Composants de données
48
Composant
Description
Classes de liaison des données
(Flash Professionnel
uniquement)
Ces classes implémentent la fonctionnalité de liaison des données
Flash lors de l’exécution.
Composant DataHolder (Flash
Professionnel uniquement)
Contient des données et peut être utilisé en tant que connecteur
entre composants.
API DataProvider
Ce composant est le modèle des listes de données à accès
linéaire. Ce modèle offre des capacités de manipulation simple de
tableaux qui diffusent leurs modifications.
Chapitre 4 : Dictionnaire des composants
Composant
Description
Composant DataSet (Flash
Professionnel uniquement)
Bloc de construction pour la création d’applications de données.
Composant RDBMSResolver
(Flash Professionnel
uniquement)
Permet d’enregistrer les données sur n’importe quelle source de
données supportée. Ce composant Resolver traduit le format XML
qui peut être reçu et analysé par un service web, JavaBean, servlet
ou une page ASP.
Classes de service Web (Flash
Professionnel uniquement)
Ces classes permettent d’accéder à des services Web qui utilisent
le protocole SOAP (Simple Object Access Protocol) situé dans le
paquet mx.services.
Classe WebServiceConnector
(Flash Professionnel
uniquement)
Fournit un accès sans script aux appels de méthode de service
web.
Composant XMLConnector
(Flash Professionnel
uniquement)
Lit et rédige des documents XML à l’aide des méthodes HTTP
GET et POST.
Composant XUpdateResolver
(Flash Professionnel
uniquement)
Permet d’enregistrer les données sur n’importe quelle source de
données supportée. Ce composant Resolver traduit le paquet
Delta au format XUpdate.
Composants de support
Composant
Description
Composant MediaController
Contrôle la lecture de support en flux continu dans une application.
Composant MediaDisplay
Affiche le support en flux continu dans une application.
Composant MediaPlayback
Combinaison des composants MediaDisplay et MediaController.
Pour plus d’informations sur ces composants, consultez Composants de support (Flash Professionnel
uniquement), page 344.
Gestionnaires
Composant
Description
Classe DepthManager
Gère la profondeur des objets dans les piles.
Classe FocusManager
Gère la navigation entre les composants à l’écran à l’aide de la
touche de tabulation. Gère également les changements de focus
lorsque les utilisateurs cliquent dans l’application.
Classe PopUpManager
Permet de créer et de supprimer des fenêtres contextuelles.
Classe StyleManager
Vous permet d’enregistrer les styles et de gérer les styles hérités.
Gestionnaires
49
Ecrans
Composant
Description
Classe Form (Flash
Professionnel uniquement)
Permet de manipuler les écrans d’applications de formulaires lors
de l’exécution.
Classe Screen (Flash
Professionnel uniquement)
Classe de base des classes Slide et Form.
Classe Slide (Flash
Professionnel uniquement)
Permet de manipuler les écrans de présentation de diapositives
lors de l’exécution.
Composant Accordion (Flash Professionnel uniquement)
Le composant Accordion est un navigateur contenant une séquence d’enfants qui s’affichent un
par un. Les enfants doivent être une sous-classe de la classe UIObject (qui inclut tous les
composants et les écrans créés avec la version 2 de l’architecture des composants Macromedia).
Cependant, le plus souvent, les enfants sont une sous-classe de la classe View. Il s’agit notamment
de clips affectés à la classe mx.core.View. Pour conserver l’ordre de tabulation dans les enfants
d’un accordéon, les enfants doivent également être des occurrences de la classe View.
Un accordéon crée et gère les boutons d’en-tête sur lesquels un utilisateur peut appuyer pour
passer d’un enfant de l’accordéon à un autre. La disposition d’un accordéon est verticale, et
l’accordéon est doté de boutons d’en-tête qui couvrent toute la largeur du composant. Un en-tête
est associé à chaque enfant, et chaque en-tête appartient à l’accordéon (et non à l’enfant).
Lorsqu’un utilisateur clique sur un en-tête, l’enfant associé s’affiche sous cet en-tête. La transition
au nouvel enfant utilise une animation de transition.
Un accordéon doté d’enfants accepte le focus et modifie l’apparence de ses en-têtes afin d’afficher
le focus. Lorsqu’un utilisateur utilise la tabulation dans un accordéon, l’en-tête sélectionné affiche
l’indicateur de focus. Un accordéon sans enfants n’accepte pas le focus. Lorsque vous cliquez sur
des composants qui peuvent prendre le focus dans l’enfant sélectionné, ils reçoivent le focus.
Lorsqu’une occurrence d’un accordéon a le focus, vous pouvez utiliser les touches suivantes pour
le contrôler :
50
Touche
Description
Flèche vers le bas,
Flèche vers la droite
Place le focus sur l’en-tête de l’enfant suivant. Le focus englobe le
premier en-tête jusqu’au dernier, sans modification de l’enfant
sélectionné.
Flèche vers le haut,
Flèche vers la gauche
Place le focus sur l’en-tête de l’enfant précédent. Le focus englobe le
premier en-tête jusqu’au dernier, sans modification de l’enfant
sélectionné.
Fin
Sélectionne le dernier enfant.
Entrée/Espace
Sélectionne l’enfant associé à l’en-tête qui a le focus.
Origine
Sélectionne le premier enfant.
Pg. Suiv.
Sélectionne l’enfant suivant. La sélection englobe le dernier enfant
jusqu’au premier enfant.
Pg. Préc.
Sélectionne l’enfant précédent. La sélection englobe le premier enfant
jusqu’au dernier enfant.
Chapitre 4 : Dictionnaire des composants
Touche
Description
Maj +Tab
Place le focus sur le composant précédent. Ce composant peut être situé
dans l’enfant sélectionné ou hors de l’accordéon ; il ne peut en aucun cas
être un autre en-tête dans le même accordéon.
Tab
Place le focus sur le composant suivant. Ce composant peut être situé
dans l’enfant sélectionné ou hors de l’accordéon ; il ne peut en aucun cas
être un autre en-tête dans le même accordéon.
Les lecteurs d’écran ne peuvent pas accéder au composant Accordion.
Utilisation du composant Accordion (Flash Professionnel uniquement)
Le composant Accordion peut être utilisé pour présenter des formulaires comportant plusieurs
parties. Par exemple, un accordéon incluant trois enfants peut présenter des formulaires dans
lesquels l’utilisateur indique son adresse de livraison, son adresse de facturation, ainsi que les
données de paiement correspondant à une transaction de commerce électronique. L’utilisation
d’un accordéon à la place de plusieurs pages Web minimise le trafic sur le serveur et permet à
l’utilisateur de bénéficier d’un meilleur sens de la progression et du contexte dans une application.
Paramètres du composant Accordion
Vous pouvez définir les paramètres de programmation suivants pour chaque occurrence de
composant Accordion dans l’inspecteur des propriétés ou le panneau Inspecteur de composants :
childSymbols Tableau spécifiant les identificateurs de liaison des symboles de bibliothèque à
utiliser pour créer les enfants de l’accordéon. La valeur par défaut est [] (tableau vide).
childNames Tableau spécifiant les noms d’occurrence des enfants de l’accordéon. La valeur par
défaut est [] (tableau vide).
Tableau spécifiant les étiquettes de texte à utiliser sur les en-têtes de l’accordéon. La
valeur par défaut est [] (tableau vide).
childLabels
Tableau spécifiant les identificateurs de liaison des symboles de bibliothèque à
utiliser comme icônes sur les en-têtes de l’accordéon. La valeur par défaut est [] (tableau vide).
childIcons
Vous pouvez rédiger du code ActionScript pour contrôler ces paramètres et d’autres options du
composant Accordion en utilisant les propriétés, méthodes et événements ActionScript. Pour plus
d’informations, consultez Classe Accordion (Flash Professionnel uniquement), page 55.
Création d’une application avec le composant Accordion
Dans cet exemple, un développeur d’applications conçoit la section de paiement d’un magasin en
ligne. La conception appelle un accordéon avec trois formulaires, dans lesquels les utilisateurs
entrent leur adresse de livraison, leur adresse de facturation et les données de paiement. Les
formulaires d’adresse de livraison et d’adresse de facturation sont identiques.
Pour utiliser des écrans afin d’ajouter un composant Accordion à une application :
1 Dans Flash, sélectionnez Fichier > Nouveau, puis sélectionnez Application du formulaire Flash.
2 Double-cliquez sur le texte formulaire1, puis entrez le nom formulaireAdresse.
Composant Accordion (Flash Professionnel uniquement)
51
3
4
5
6
7
8
Bien que l’écran formulaireAdresse n’apparaisse pas dans la bibliothèque, il est un symbole de la
classe Screen (laquelle est une sous-classe de la classe View), qu’un accordéon peut utiliser en
tant qu’enfant.
Le formulaire étant sélectionné, dans l’inspecteur des propriétés, définissez sa propriété visible
sur false.
Cette opération masque le contenu du formulaire dans l’application ; le formulaire apparaît
uniquement dans le composant Accordion.
Faites glisser des composants tels que Label et TextInput du panneau Composants sur le
formulaire, afin de créer un formulaire d’adresse factice ; organisez-les et définissez leurs
propriétés dans le panneau Paramètres du panneau Inspecteur de composants.
Positionnez les éléments du formulaire dans le coin supérieur gauche du formulaire. Le coin
supérieur gauche du formulaire est placé dans le coin supérieur gauche du composant
Accordion.
Répétez les étapes 2 à 4 pour créer un écran appelé formulairePaiement.
Créez un nouveau formulaire appelé formulaireAccordéon.
Faites glisser un composant Accordion du panneau Composants vers le formulaire
formulaireAccordéon et nommez-le monAccordéon.
Le formulaire monAccordéon étant sélectionné, dans l’inspecteur des propriétés, procédez
comme suit :
■ Pour la propriété childSymbols, entrez formulaireAdresse, formulaireAdresse et
formulairePaiement.
Ces chaînes spécifient le nom des écrans utilisés pour créer les enfants de l’accordéon.
Remarque : Les deux premiers enfants sont des occurrences du même écran, car le formulaire
d’adresse de livraison et le formulaire d’adresse de facturation ont des composants identiques.
Pour la propriété childNames, entrez adresseLivraison, adresseFacturation et paiement.
Ces chaînes sont les noms ActionScript des enfants de l’accordéon.
■ Pour la propriété childLabels, entrez Adresse de livraison, Adresse de facturation et
Paiement.
Ces chaînes sont les étiquettes de texte des en-têtes de l’accordéon.
9 Choisissez Contrôle > Tester l’animation.
■
Pour ajouter un composant Accordion à une application, procédez comme suit :
1 Choisissez Fichier > Nouveau pour créer un document Flash.
2 Sélectionnez Insertion > Nouveau symbole et appelez-le formulaireAdresse.
3 Dans la boîte de dialogue Créer un symbole, cliquez sur le bouton Avancé et sélectionnez
Exporter pour ActionScript. Dans le champ Classe AS 2.0, entrez mx.core.View.
Pour pouvoir conserver l’ordre de tabulation dans les enfants d’un accordéon, les enfants
doivent également être des occurrences de la classe View.
4 Faites glisser des composants tels que Label et TextInput du panneau Composants sur la scène
afin de créer un formulaire d’adresse factice ; organisez-les et définissez leurs propriétés dans le
panneau Paramètres du panneau Inspecteur de composants.
Positionnez les éléments du formulaire par rapport à 0, 0 (le milieu) sur la scène. La
coordonnée 0, 0 du clip est placée dans le coin supérieur gauche du composant Accordion.
5 Choisissez Edition > Modifier le document pour revenir au scénario principal.
52
Chapitre 4 : Dictionnaire des composants
6 Répétez les étapes 2 à 5 pour créer un clip appelé formulairePaiement.
7 Faites glisser un composant Accordion à partir du panneau Composants pour l’ajouter dans la
scène sur le scénario principal.
8 Dans l’inspecteur des propriétés, procédez comme suit :
■ Entrez le nom d’occurrence monAccordéon.
■ Pour la propriété childSymbols, entrez formulaireAdresse, formulaireAdresse et
formulairePaiement.
Ces chaînes spécifient le nom des clips utilisés pour créer les enfants de l’accordéon.
Remarque : Les deux premiers enfants sont des occurrences du même clip, car le formulaire
d’adresse de livraison et le formulaire d’adresse de facturation sont identiques.
Pour la propriété childNames, entrez adresseLivraison, adresseFacturation et paiement.
Ces chaînes sont les noms ActionScript des enfants de l’accordéon.
■ Pour la propriété childLabels, entrez Adresse de livraison, Adresse de facturation et
Paiement.
Ces chaînes sont les étiquettes de texte des en-têtes de l’accordéon.
■ Pour la propriété childIcons, entrez IcôneAdresse, IcôneAdresse et IcônePaiement.
Ces chaînes spécifient les identificateurs de liaison des symboles de clip qui sont utilisés
comme icônes dans les en-têtes de l’accordéon. Vous devez créer ces symboles de clip si vous
souhaitez que les en-têtes incluent des icônes.
9 Choisissez Contrôle > Tester l’animation.
■
Pour utiliser ActionScript afin d’ajouter des enfants à un composant Accordion, procédez
comme suit :
1 Choisissez Fichier > Nouveau pour créer un document Flash.
2 Faites glisser un composant Accordion du panneau Composants jusqu’à la scène.
3 Dans l’inspecteur des propriétés, entrez monAccordéon comme nom d’occurrence.
4 Faites glisser un composant TextInput vers la scène et supprimez-le.
Cette opération l’ajoute à la bibliothèque afin que vous puissiez l’instancier dynamiquement à
l’étape 6.
5 Dans le panneau Actions, dans l’image 1 du scénario, entrez le code suivant :
monAccordéon.createChild("Affichage", "adresse de livraison", { label:
"Adresse de livraison" });
monAccordéon.createChild("Affichage", "Adresse de facturation", { label:
"Adresse de facturation" });
monAccordéon.createChild("Affichage", "paiement", { label: "Paiement" });
Ce code appelle la méthode createChild() pour créer ses affichages enfants.
Composant Accordion (Flash Professionnel uniquement)
53
6 Dans le panneau Actions, dans l’image 1, sous le code que vous avez entré à l’étape 4, entrez le
code suivant :
var o = monAccordéon.adresseLivraison.createChild("TextInput", "FirstName");
o.move(20, 38);
o.setSize(116, 20);
o = monAccordéon.adresseLivraison.createChild("TextInput", "lastName");
o.move(175, 38);
o.setSize(145, 20);
Ce code ajoute des occurrences de composant (deux composants TextInput) aux enfants de
l’accordéon.
Personnalisation du composant Accordion (Flash Professionnel uniquement)
Vous pouvez transformer un composant Accordion horizontalement et verticalement au cours de
la programmation et lors de l’exécution. Lors de la programmation, choisissez le composant sur la
scène et utilisez l’outil Transformer librement ou une commande de modification >
transformation. A l’exécution, utilisez la méthode setSize() (consultez UIObject.setSize()).
La méthode setSize() et l’outil de transformation modifient uniquement la largeur des en-têtes
de l’accordéon ainsi que la largeur et la hauteur de sa zone de contenu. La hauteur des en-têtes
ainsi que la largeur et la hauteur des enfants ne sont pas affectées. L’appel de la méthode
setSize() est le seul moyen de modifier le cadre de délimitation d’un accordéon.
Si les en-têtes sont trop petits pour contenir leur texte d’étiquette, les étiquettes sont rognées. Si la
zone de contenu d’un accordéon est plus petite qu’un enfant, l’enfant est rogné.
Utilisation de styles avec le composant Accordion
Vous pouvez définir les propriétés des styles afin de modifier l’aspect de la bordure et de l’arrièreplan d’un composant Accordion.
Si le nom d’une propriété de style se termine par « Color », il s’agit d’une propriété de style de
couleur qui se comporte différemment des autres propriétés de style. Pour plus d’informations,
consultez Utilisation des styles pour personnaliser la couleur et le texte des composants, page 29.
Un composant Accordion gère les styles de halo suivants :
54
Style
Description
themeColor
Arrière-plan d’un composant. Il s’agit du seul style de couleur qui n’hérite pas
de sa valeur. "haloGreen", "haloBlue" et "haloOrange" sont des valeurs
possibles.
backgroundColor
Couleur d’arrière-plan.
borderColor
Couleur de bordure.
borderStyle
Style de bordure ; les valeurs possibles sont "none", "solid", "inset", "outset",
"default", "alert". La valeur "default" correspond à l’apparence de la bordure du
composant Window, et la valeur "alert" correspond à l’apparence de la
bordure du composant Alert.
headerHeight
Hauteur des boutons d’en-tête en pixels.
color
Couleur du texte d’en-tête.
disabledColor
Couleur d’un accordéon désactivé.
Chapitre 4 : Dictionnaire des composants
Style
Description
fontFamily
Nom de police des étiquettes d’en-tête.
fontSize
Taille en points de la police des étiquettes d’en-tête.
fontStyle
Style de police des étiquettes d’en-tête ; soit "normal", soit "italic".
fontWeight
Epaisseur de la police des étiquettes d’en-tête ; soit "normal", soit "bold".
textDecoration
Décoration du texte : "none" ou "underline".
openDuration
Durée, en millisecondes, de l’animation de transition.
openEasing
Fonction d’interpolation utilisée par l’animation.
Utilisation d’enveloppes avec le composant Accordion
Le composant Accordion utilise des enveloppes pour représenter les états visuels de ses boutons
d’en-tête. Pour envelopper les boutons et la barre de titre lors de la programmation, modifiez les
symboles d’enveloppes dans le dossier Flash UI Components 2/Themes/MMDefault/Accordion
Assets skins states, dans la bibliothèque de l’un des fichiers FLA de thèmes. Pour plus
d’informations, consultez A propos de l’application des enveloppes aux composants, page 38.
Un composant Accordion est constitué de sa bordure et de l’arrière-plan, de ses boutons d’en-tête
et de ses enfants. Un style peut être appliqué à la bordure et à l’arrière-plan, mais aucune
enveloppe ne peut être appliquée. Si aucun style ne peut être appliqué, une enveloppe peut être
appliquée aux en-têtes à l’aide du sous-ensemble d’enveloppes hérité du bouton répertorié cidessous. Un composant Accordion utilise les propriétés d’enveloppe suivantes pour appliquer une
enveloppe dynamiquement aux boutons d’en-tête :
Propriété
Description
Valeur par défaut
falseUpSkin
Etat Relevé.
accordionHeaderSkin
falseDownSkin
Etat Enfoncé.
accordionHeaderSkin
falseOverSkin
Etat Survolé.
accordionHeaderSkin
trueUpSkin
Etat Basculé.
accordionHeaderSkin
Classe Accordion (Flash Professionnel uniquement)
Héritage
UIObject > UIComponent > View > Accordion
Nom de classe ActionScript
mx.containers.Accordion
Un accordéon est un composant contenant des enfants qui s’affichent un par un. A chaque enfant
est associé un bouton d’en-tête correspondant qui est créé lors de la création de l’enfant. Un
enfant doit être une occurrence de UIObject.
Un symbole de clip devient automatiquement une occurrence de la classe UIObject lorsqu’il
devient un enfant d’un accordéon. Cependant, pour conserver l’ordre de tabulation dans les
enfants d’un accordéon, les enfants doivent être aussi des occurrences de la classe View. Si vous
utilisez un symbole de clip comme enfant, définissez son champ Classe AS 2.0 sur mx.core.View
afin qu’il hérite de la classe View.
Composant Accordion (Flash Professionnel uniquement)
55
La définition d’une propriété de la classe Accordion avec ActionScript annule le paramètre du
même nom défini dans le panneau de l’inspecteur des propriétés ou des composants.
Toutes les classes de composants ont une propriété version qui correspond à une propriété de
classe. Les propriétés de classe sont uniquement disponibles sur la classe elle-même. La propriété
version renvoie une chaîne qui indique la version du composant. Pour accéder à la propriété
version, utilisez le code suivant :
trace(mx.controls.Accordion.version);
Remarque : Le code suivant renvoie la valeur undefined :
trace(occurrenceMonAccordéon.version);.
Méthodes de la classe Accordion
Méthode
Description
Accordion.createChild()
Crée un enfant pour une occurrence d’un accordéon.
Accordion.createSegment()
Crée un enfant pour une occurrence d’un accordéon. Les
paramètres de cette méthode sont différents de ceux de la méthode
createChild().
Accordion.destroyChildAt()
Détruit un enfant à la position d’index spécifiée.
Accordion.getChildAt()
Obtient une référence à un enfant à une position d’index spécifiée.
Hérite de toutes les méthodes des classes UIObject, UIComponent et mx.core.View.
Propriétés de la classe Accordion
Propriété
Description
Accordion.numChildren
Nombre d’enfants d’une occurrence d’un accordéon.
Accordion.selectedChild
Référence à l’enfant sélectionné.
Accordion.selectedIndex
Position d’index de l’enfant sélectionné.
Hérite de toutes les propriétés des classes UIObject, UIComponent et mx.core.View.
Evénements de la classe Accordion
Evénement
Description
Accordion.change
Diffusé à l’ensemble des écouteurs enregistrés lorsque les
propriétés selectedIndex et selectedChild d’un accordéon
changent suite à un clic de la souris ou à une pression sur une touche
émanant de l’utilisateur.
Hérite de tous les événements des classes UIObject, UIComponent et mx.core.View.
56
Chapitre 4 : Dictionnaire des composants
Accordion.change
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.change = function(objetEvt){
// insérez votre code ici
}
occurrenceMonAccordéon.addEventListener("change", objetDécoute)
Description
Evénement : diffusé à l’ensemble des écouteurs enregistrés lorsque les propriétés selectedIndex
et selectedChild d’un accordéon changent. Cet événement est diffusé uniquement lorsqu’un
clic de la souris ou une pression sur une touche modifie la valeur selectedChild ou
selectedIndex (et non lorsque la valeur est modifiée avec ActionScript). Cet événement est
diffusé avant l’animation de transition.
Les composants V2 utilisent un modèle d’événement dispatcher/écouteur. Le composant
Accordion distribue un événement change en cas de pression sur l’un de ses boutons et
l’événement est géré par une fonction (également appelée gestionnaire) sur un objet d’écoute
(objetDécoute) que vous créez. Vous appelez la méthode addEventListener() et lui
transmettez une référence au gestionnaire en tant que paramètre.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. Pour plus d’informations sur les objets événement, consultez Objets
événement, page 592.
Exemple
Dans l’exemple suivant, un gestionnaire appelé écouteurMonAccordéon est défini et transmis à la
méthode monAccordéon.addEventListener() comme second paramètre. L’objet événement est
capturé par le gestionnaire change dans le paramètre objetEvt. Lorsque l’événement change est
diffusé, une instruction trace est envoyée au panneau Sortie, comme suit :
écouteurMonAccordéon = new Object();
écouteurMonAccordéon.change = function(){
trace("remplacé par un affichage différent");
}
monAccordéon.addEventListener("change", écouteurMonAccordéon);
Composant Accordion (Flash Professionnel uniquement)
57
Accordion.createChild()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monAccordéon.createChild(nomClasseOuSymbole, nomOccurrence[,
propriétésInitiales])
Paramètres
nomClasseOuSymbole Ce paramètre peut être la fonction constructeur de la classe de UIObject
à instancier, ou le nom de liaison, référence au symbole à instancier. La classe doit être UIObject
ou une sous-classe de UIObject, mais le plus souvent, il s’agit de View ou d’une sous-classe de
View.
nomOccurrence
Nom d’occurrence de la nouvelle occurrence.
Paramètre facultatif qui indique les propriétés initiales de la nouvelle
occurrence. Vous pouvez utiliser les propriétés suivantes :
propriétésInitiales
•
•
label Cette chaîne spécifie l’étiquette de texte que la nouvelle occurrence de l’enfant utilise
sur son en-tête.
icon Cette chaîne spécifie l’identificateur de liaison du symbole de bibliothèque que l’enfant
utilise pour l’icône sur son en-tête.
Renvoie
Une référence à une occurrence de la classe UIObject qui est l’enfant venant d’être créé.
Description
La méthode (héritée de View) crée un enfant pour le composant Accordion. L’enfant qui vient
d’être créé est ajouté à la fin de la liste des enfants que possède le composant Accordion. Utilisez
cette méthode pour placer des affichages dans l’accordéon. L’enfant créé est une occurrence du
symbole de clip ou de classe spécifié dans le paramètre nomClasseOuSymbole. Vous pouvez
utiliser les propriétés label et icon pour spécifier une étiquette de texte ainsi qu’une icône pour
l’en-tête d’accordéon associé pour chaque enfant dans le paramètre propriétésInitiales.
Lors de sa création, chaque enfant se voit attribuer un numéro d’index dans l’ordre de création, et
la propriété numChildren est augmentée de 1.
Exemple
Le code suivant crée une occurrence du symbole de clip formulairePaiement nommé paiement en
tant que dernier enfant de monAccordéon :
var enfant = monAccordéon.createChild("formulairePaiement", "paiement", {
label: "Paiement", Icon: "icônePaiement" });
child.cardType.text = "Visa";
child.cardNumber.text = "1234567887654321";
Le code suivant crée un enfant qui est une occurrence de la classe View :
58
Chapitre 4 : Dictionnaire des composants
var enfant = monAccordéon.createChild(mx.core.View, "paiement", { label:
"Paiement", Icon: "icônePaiement" });
child.cardType.text = "Visa";
child.cardNumber.text = "1234567887654321";
Le code suivant crée également un enfant qui est une occurrence de la classe View, mais il utilise
import pour référencer le constructeur de la classe View :
import mx.core.View
var enfant = monAccordéon.createChild(View, "paiement", { label: "Paiement",
Icon: "icônePaiement" });
child.cardType.text = "Visa";
child.cardNumber.text = "1234567887654321";
Accordion.createSegment()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
monAccordéon.createSegment(nomClasseOuSymbole, nomOccurrence[, label[, icon]])
Paramètres
nomClasseOuSymbole Ce paramètre peut être soit une référence à la fonction de constructeur
de la classe de l’occurrence UIObject à instancier, soit le nom de liaison du symbole à instancier.
La classe doit être UIObject ou une sous-classe de UIObject, mais le plus souvent, il s’agit de
View ou d’une sous-classe de View.
nomOccurrence
Nom d’occurrence de la nouvelle occurrence.
label Cette chaîne spécifie l’étiquette de texte que la nouvelle occurrence de l’enfant utilise sur
son en-tête. Ce paramètre est facultatif.
Cette chaîne est une référence à l’identificateur de liaison du symbole de bibliothèque que
l’enfant utilise pour l’icône sur son en-tête. Ce paramètre est facultatif.
icon
Renvoie
Référence à la nouvelle occurrence UIObject.
Description
Méthode : crée un enfant pour l’accordéon. L’enfant qui vient d’être créé est ajouté à la fin de la
liste des enfants que possède le composant Accordion. Utilisez cette méthode pour placer des
affichages dans l’accordéon. L’enfant créé est une occurrence du symbole de clip ou de classe
spécifié dans le paramètre nomClasseOuSymbole. Vous pouvez utiliser les paramètres label et
icon pour spécifier une étiquette de texte ainsi qu’une icône pour l’en-tête de l’accordéon associé
à chaque enfant.
La méthode createSegment() diffère de la méthode createChild() dans la mesure où label et
sont transmis directement en tant que paramètres, et non en tant que propriétés d’un
paramètre propriétésInitiales.
icon
Lors de sa création, chaque enfant se voit attribuer un numéro d’index dans l’ordre de création, et
la propriété numChildren est augmentée de 1.
Composant Accordion (Flash Professionnel uniquement)
59
Exemple
L’exemple suivant crée une occurrence du symbole de clip formulairePaiement nommé
paiement en tant que dernier enfant de monAccordéon :
var enfant = monAccordéon.createSegment("FormulairePaiement", "paiement",
"Paiement", "icônePaiement");
child.cardType.text = "Visa";
child.cardNumber.text = "1234567887654321";
Le code suivant crée un enfant qui est une occurrence de la classe View :
var enfant = monAccordéon.createSegment(mx.core.View, "paiement", { label:
"Paiement", Icon: "icônePaiement" });
child.cardType.text = "Visa";
child.cardNumber.text = "1234567887654321";
Le code suivant crée également un enfant qui est une occurrence de la classe View, mais il utilise
import pour référencer le constructeur de la classe View :
import mx.core.View
var enfant = monAccordéon.createSegment(View, "paiement", { label: "Paiement",
Icon: "icônePaiement" });
child.cardType.text = "Visa";
child.cardNumber.text = "1234567887654321";
Accordion.destroyChildAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monAccordéon.destroyChildAt(index)
Paramètres
index Numéro d’index de l’enfant de l’accordéon à détruire. Un numéro d’index basé sur zéro
est affecté à chaque enfant d’un accordéon en fonction de l’ordre de création.
Renvoie
Rien.
Description
La méthode (héritée de View) détruit l’un des enfants de l’accordéon. L’enfant à détruire est
spécifié par son index, lequel est transmis à la méthode dans le paramètre index. L’appel de cette
méthode détruit également l’en-tête correspondant.
Si l’enfant détruit est sélectionné, un nouvel enfant sélectionné est choisi. S’il existe un enfant
suivant, il est sélectionné. S’il n’existe aucun enfant suivant, l’enfant précédent est sélectionné. S’il
n’existe aucun enfant précédent, la sélection est undefined.
Remarque : L’appel de la méthode destroyChildAt() diminue la propriété numChildren de 1.
60
Chapitre 4 : Dictionnaire des composants
Exemple
Le code suivant détruit le dernier enfant de monAccordéon :
monAccordéon.destroyChildAt(monAccordéon.numChildren - 1);
Voir aussi
Accordion.createChild()
Accordion.getChildAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monAccordéon.getChildAt(index)
Paramètres
index Numéro d’index d’un enfant d’accordéon. Un numéro d’index basé sur zéro est affecté à
chaque enfant d’un accordéon en fonction de l’ordre de création.
Renvoie
Référence à l’occurrence UIObject à l’emplacement d’index spécifié.
Description
Méthode : renvoie une référence à l’enfant à l’emplacement d’index spécifié. Un numéro d’index
est attribué à chaque enfant de l’accordéon pour son emplacement. Ce numéro d’index est basé
sur zéro : le premier enfant est 0, le second enfant est 1, et ainsi de suite.
Exemple
Le code suivant obtient une référence au dernier enfant de monAccordéon :
var dernierEnfant:UIObject = monAccordéon.getChildAt(monAccordéon.numChildren
- 1);
Accordion.numChildren
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monAccordéon.numChildren
Composant Accordion (Flash Professionnel uniquement)
61
Description
La propriété (héritée de View) indique le nombre d’enfants (UIObject enfants) dans une
occurrence d’accordéon. Les en-têtes ne sont pas comptés comme enfants.
Un numéro d’index est attribué à chaque enfant de l’accordéon pour son emplacement. Ce
numéro d’index est basé sur zéro : le premier enfant est 0, le second enfant est 1, et ainsi de suite.
Le code monAccordéon.numChild - 1 fait toujours référence au dernier enfant ajouté à un
accordéon. Par exemple, s’il existe 7 enfants dans un accordéon, le dernier enfant a l’index 6. La
propriété numChildren n’est pas basée sur zéro, aussi la valeur de monAccordéon.numChildren
est 7. Le résultat de 7 - 1 est 6, le numéro d’index du dernier enfant.
Exemple
L’exemple suivant sélectionne le dernier enfant :
monAccordéon.selectedIndex = monAccordéon.numChildren - 1;
Accordion.selectedChild
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monAccordéon.selectedChild
Description
Propriété : enfant sélectionné s’il existe un ou plusieurs enfants ; undefined s’il n’existe aucun
enfant. Cette propriété est soit de type UIObject, soit undefined.
Si l’accordéon a des enfants, le code monAccordéon.selectedChild est équivalent au code
monAccordéon.getChildAt(monAccordéon.selectedIndex).
Lorsque vous définissez cette propriété pour un enfant, l’accordéon commence l’animation de
transition pour afficher l’enfant sélectionné.
La modification de la valeur de selectedChild modifie également la valeur de selectedIndex.
La valeur par défaut est monAccordéon.getChildAt(0) si l’accordéon a des enfants. Si
l’accordéon n’a pas d’enfants, la valeur par défaut est undefined.
Exemple
L’exemple suivant obtient l’étiquette de l’affichage enfant sélectionné :
var étiquetteSélectionnée = monAccordéon.selectedChild.label;
L’exemple suivant obtient le formulaire de paiement qui doit être l’affichage enfant sélectionné :
monAccordéon.selectedChild = monAccordéon.payment;
Voir aussi
Accordion.selectedIndex
62
Chapitre 4 : Dictionnaire des composants
Accordion.selectedIndex
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monAccordéon.selectedIndex
Description
Propriété : index basé sur zéro de l’enfant sélectionné dans un accordéon comportant un ou
plusieurs enfants. Dans le cas d’un accordéon n’ayant aucun affichage enfant, la seule valeur valide
est undefined.
Un numéro d’index est attribué à chaque enfant de l’accordéon pour son emplacement. Ce
numéro d’index est basé sur zéro : le premier enfant est 0, le second enfant est 1, et ainsi de suite.
Les valeurs valides de selectedIndex sont 0, 1, 2, ... , n - 1, où n est le nombre d’enfants.
Lorsque vous définissez cette propriété pour un enfant, l’accordéon commence l’animation de
transition pour afficher l’enfant sélectionné.
La modification de la valeur de selectedIndex modifie également la valeur de selectedChild.
Exemple
L’exemple suivant mémorise l’index de l’enfant sélectionné :
var indexPrécSélectionné = monAccordéon.selectedIndex;
L’exemple suivant sélectionne le dernier enfant :
monAccordéon.selectedIndex = monAccordéon.numChildren - 1;
Voir aussi
Accordion.selectedChild, Accordion.numChildren
Composant Alert (Flash Professionnel uniquement)
Le composant Alert vous permet de faire apparaître une fenêtre qui présente à l’utilisateur un
message et des boutons de réponse. La fenêtre Alert comprend une barre de titre dans laquelle
vous pouvez insérer du texte, un message que vous pouvez personnaliser et des boutons dont les
étiquettes peuvent être modifiées. Une fenêtre Alert peut inclure les boutons suivants : Oui, Non,
OK et Annuler. Vous pouvez modifier les étiquettes de texte des boutons en utilisant les propriétés
suivantes : Alert.yesLabel, Alert.noLabel, Alert.okLabel et Alert.cancelLabel. Vous ne
pouvez pas modifier l’ordre des boutons dans une fenêtre Alert ; l’ordre des boutons est toujours
OK, Oui, Non, Annuler.
Pour faire apparaître une fenêtre Alert, vous devez appeler la méthode Alert.show(). Pour que la
méthode puisse être appelée, le composant Alert doit figurer dans la bibliothèque. Vous devez
faire glisser le composant Alert du panneau Composants sur la scène, puis supprimer le
composant Alert de la scène. Cette opération permet d’ajouter le composant à la bibliothèque,
mais elle ne permet pas de le rendre visible dans le document.
Composant Alert (Flash Professionnel uniquement)
63
L’aperçu en direct du composant Alert est une fenêtre vide.
Les lecteurs d’écran peuvent accéder au texte et aux boutons d’une fenêtre Alert. Lorsque vous
ajoutez un composant Alert à une application, vous pouvez utiliser le panneau Accessibilité pour
le rendre accessible aux lecteurs d’écran. Vous devez d’abord ajouter la ligne de code suivante pour
activer l’accessibilité :
mx.accessibility.AlertAccImpl.enableAccessibility();
Vous n’activez l’accessibilité d’un composant qu’une fois, quel que soit son nombre d’occurrences.
Pour plus d’informations, consultez « Création de contenu accessible », dans le guide Utilisation
de Flash de l’aide.
Utilisation du composant Alert (Flash Professionnel uniquement)
Le composant Alert peut être utilisé chaque fois que vous voulez annoncer quelque chose à un
utilisateur. Par exemple, vous pouvez faire apparaître une alerte lorsqu’un utilisateur ne remplit
pas un formulaire correctement, ou lorsqu’une action atteint un certain prix, ou lorsqu’un
utilisateur quitte une application sans enregistrer sa session.
Paramètres du composant Alert
Il n’existe pas de paramètres de programmation pour le composant Alert. Vous devez appeler la
méthode Alert.show() d’ActionScript pour faire apparaître une fenêtre Alert. Vous pouvez
utiliser d’autres propriétés ActionScript pour modifier la fenêtre Alert dans une application. Pour
plus d’informations, consultez Classe Alert (Flash Professionnel uniquement), page 66.
Création d’une application avec le composant Alert
La procédure suivante explique comment ajouter un composant Alert à une application lors de la
programmation. Dans cet exemple, le composant Alert apparaît lorsqu’une action atteint un
certain prix.
Pour créer une application avec le composant Alert, effectuez les opérations suivantes :
1 Double-cliquez sur le composant Alert dans le panneau Composants pour l’ajouter sur la scène.
2 Appuyez sur la touche Retour arrière (Windows) ou Supprimer (Macintosh) pour supprimer le
composant de la scène.
Cette opération permet d’ajouter le composant à la bibliothèque, mais elle ne permet pas de le
rendre visible dans l’application.
3 Dans le panneau Actions, entrez le code suivant dans l’image 1 du scénario pour définir un
gestionnaire d’événements pour l’événement click :
import mx.controls.Alert
monGestionnaireClic = function (evt){
if (evt.detail == Alert.OK){
trace("lancer l’application boursière");
// lancerApplicationBoursière();
}
}
Alert.show("Lancer l’application boursière ?", "Alerte de prix d’action",
Alert.OK | Alert.CANCEL, this, monGestionnaireClic, "icôneAction",
Alert.OK);
64
Chapitre 4 : Dictionnaire des composants
Ce code crée une fenêtre Alert incluant les boutons OK et Annuler. En cas de pression sur l’un
de ces boutons, la fonction monGestionnaireClic est appelée. Cependant, en cas de pression
sur le bouton OK, la méthode lancerApplicationBoursière() est appelée.
4 Choisissez Contrôle > Tester l’animation.
Personnalisation du composant Alert (Flash Professionnel uniquement)
L’alerte se positionne elle-même au centre du composant qui a été transmis comme paramètre
parent. Le parent doit être un composant UIComponent. S’il s’agit d’un clip, vous pouvez
l’enregistrer sous mx.core.View afin qu’il hérite de UIComponent.
La fenêtre Alert s’étend horizontalement pour pouvoir contenir le texte du message ou les boutons
qui s’affichent. Si vous voulez afficher une quantité importante de texte, incluez des sauts de ligne
dans le texte.
L’alerte ne répond pas à la méthode setSize().
Utilisation de styles avec le composant Alert
Vous pouvez définir des propriétés de style afin de modifier l’aspect d’un composant Alert. Si le
nom d’une propriété de style se termine par « Color », il s’agit d’une propriété de style de couleur
qui se comporte différemment des autres propriétés de style. Pour plus d’informations, consultez
Utilisation des styles pour personnaliser la couleur et le texte des composants, page 29.
Un composant Alert gère les styles de halo suivants :
Style
Description
themeColor
Arrière-plan d’un composant. Il s’agit du seul style de couleur qui n’hérite
pas de sa valeur. "haloGreen", "haloBlue" et "haloOrange" sont des
valeurs possibles.
color
Texte d’une étiquette de composant.
disabledColor
Couleur désactivée pour du texte.
fontFamily
Nom de police pour du texte.
fontSize
Taille en points pour la police.
fontStyle
Style de la police : "normal" ou "italic".
fontWeight
Epaisseur de la police : "normal" ou "bold".
textDecoration
Décoration du texte : "none" ou "underline".
buttonStyleDeclaration
Classe (statique) CSSStyleDeclaration des styles de texte du bouton.
messageStyleDeclaration
Classe (statique) CSSStyleDeclaration des styles d’arrière-plan, de la
bordure et du texte du message.
titleStyleDeclaration
Classe (statique) CSSStyleDeclaration des styles du texte du titre.
Composant Alert (Flash Professionnel uniquement)
65
Utilisation d’enveloppes avec le composant Alert
Le composant Alert utilise des enveloppes pour représenter les états visuels de ses boutons et de sa
barre de titre. Pour envelopper les boutons et la barre de titre lors de la programmation, modifiez
les symboles d’enveloppes dans le dossier Flash UI Components 2/Themes/MMDefault/Window
Assets skins states dans la bibliothèque de l’un des fichiers FLA de thèmes. Pour plus
d’informations, consultez A propos de l’application des enveloppes aux composants, page 38.
Il existe du code ActionScript dans la classe RectBorder.as que le composant Alert utilise pour
tracer ses bordures. Vous pouvez utiliser les styles RectBorder pour modifier un composant Alert
comme suit :
var monAlerte = Alert.show("Ceci est un test d’erreurs", "Erreur", Alert.OK |
Alert.CANCEL, this);
monAlerte.setStyle("Style de bordure", "incrusté");
Pour plus d’informations sur les styles RectBorder, consultez Utilisation des enveloppes avec le
composant List, page 309.
Un composant Alert utilise les propriétés d’enveloppe suivantes pour appliquer une enveloppe
dynamiquement aux boutons et à la barre de titre :
Propriété
Description
Valeur par défaut
buttonUp
Etat Relevé du bouton.
ButtonSkin
buttonDown
Etat enfoncé du bouton.
ButtonSkin
buttonOver
Etat survolé du bouton.
ButtonSkin
titleBackground
Barre de titre de la fenêtre.
TitleBackground
Classe Alert (Flash Professionnel uniquement)
Héritage
UIObject > UIComponent > View > ScrollView > Window > Alert
Nom de classe ActionScript
mx.controls.Alert
Pour utiliser le composant Alert, vous devez faire glisser un composant Alert sur la scène puis le
supprimer afin que le composant soit dans la bibliothèque de documents sans toutefois être visible
dans l’application. Vous devez ensuite appeler Alert.show() pour faire apparaître une fenêtre
Alert. Vous pouvez transmettre des paramètres à Alert.show() qui ajoutent un message, une
barre de titre et des boutons dans la fenêtre Alert.
Dans la mesure où ActionScript est asynchrone, le composant Alert n’effectue pas de blocage, ce
qui signifie que les lignes de code ActionScript après l’appel de Alert.show() sont
immédiatement exécutées. Vous devez ajouter des écouteurs pour gérer les événements click qui
sont diffusés lorsqu’un utilisateur appuie sur un bouton, puis continuer votre code après la
diffusion de l’événement.
Remarque : Dans les environnements d’exploitation qui opèrent un blocage (par exemple,
Microsoft Windows), un appel de Alert.show() ne renvoie rien tant que l’utilisateur n’a pas effectué
une action, telle qu’une pression sur un bouton.
66
Chapitre 4 : Dictionnaire des composants
Méthodes de la classe Alert
Méthode
Description
Alert.show()
Crée une fenêtre Alert avec des paramètres facultatifs.
Hérite de toutes les méthodes des classes UIObject et UIComponent.
Propriétés de la classe Alert
Propriété
Description
Alert.buttonHeight
Hauteur de chaque bouton en pixels. La valeur par défaut
est 22.
Alert.buttonWidth
Largeur de chaque bouton en pixels. La valeur par défaut
est 100.
Alert.cancelLabel
Texte d’étiquette du bouton Annuler.
Alert.noLabel
Texte d’étiquette du bouton Non.
Alert.okLabel
Texte d’étiquette du bouton OK.
Alert.yesLabel
Texte d’étiquette du bouton Oui.
Hérite de toutes les propriétés des classes UIObject et UIComponent.
Evénements de la classe Alert
Evénement
Description
Alert.click
Diffusé lorsqu’une pression sur un bouton est effectuée
dans une fenêtre Alert.
Hérite de tous les événements des classes UIObject et UIComponent.
Alert.buttonHeight
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Alert.buttonHeight
Description
Propriété (classe) : propriété de classe (statique) qui modifie la hauteur des boutons.
Voir aussi
Alert.buttonWidth
Composant Alert (Flash Professionnel uniquement)
67
Alert.buttonWidth
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Alert.buttonWidth
Description
Propriété (classe) : propriété de classe (statique) qui modifie la largeur des boutons.
Voir aussi
Alert.buttonHeight
Alert.click
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
clickHandler = function(objetEvt){
// insérez le code ici
}
Alert.show(message[, title[, flags[, parent[, clickHandler[, icon[,
defaultButton]]]]]])
Description
Evénement : diffusé à l’écouteur enregistré lorsque l’utilisateur clique sur le bouton OK, Oui,
Non ou Annuler.
Les composants V2 utilisent un modèle d’événement dispatcher/écouteur. Le composant Alert
distribue un événement click en cas de pression sur l’un de ses boutons et l’événement est géré
par une fonction, (également appelée gestionnaire), sur un objet d’écoute (objetDécoute) que
vous créez. Vous appelez la méthode Alert.show() et lui transmettez le nom du gestionnaire en
tant que paramètre. Lorsqu’une pression sur un bouton est effectuée dans la fenêtre Alert,
l’écouteur est appelé.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. L’objet événement de l’événement Alert.click a une propriété detail
supplémentaire dont la valeur est l’une des suivantes, en fonction du bouton sur lequel
l’utilisateur a cliqué : Alert.OK, Alert.CANCEL, Alert.YES, Alert.NO. Pour plus d’informations
sur les objets événement, consultez Objets événement, page 592.
68
Chapitre 4 : Dictionnaire des composants
Exemple
Dans l’exemple suivant, un gestionnaire appelé monGestionnaireClic est défini et transmis à la
méthode Alert.show() comme cinquième paramètre. L’objet événement est capturé par le
gestionnaire monGestionnaireClic dans le paramètre evt. La propriété detail de l’objet
événement est ensuite utilisée dans une instruction trace pour envoyer le nom du bouton sur
lequel l’utilisateur a appuyé (Alert.OK ou Alert.CANCEL) au panneau Sortie, comme suit :
monGestionnaireClic = function(evt){
if(evt.detail == Alert.OK){
trace(Alert.okLabel);
}else if (evt.detail == Alert.CANCEL){
trace(Alert.cancelLabel);
}
}
Alert.show("Il s’agit d’un test d’erreurs", "Erreur", Alert.OK | Alert.CANCEL,
this, monGestionnaireClic);
Alert.cancelLabel
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Alert.cancelLabel
Description
Propriété (classe) : propriété de classe (statique) qui indique l’étiquette de texte du bouton
Annuler.
Exemple
L’exemple suivant définit l’étiquette du bouton Annuler sur “annulation” :
Alert.cancelLabel = "annulation";
Alert.noLabel
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Alert.noLabel
Description
Propriété (classe) : propriété de classe (statique) qui indique l’étiquette de texte du bouton Non.
Composant Alert (Flash Professionnel uniquement)
69
Exemple
L’exemple suivant définit l’étiquette du bouton Non sur “nyet” :
Alert.noLabel = "nyet";
Alert.okLabel
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Alert.okLabel
Description
Propriété (classe) : propriété de classe (statique) qui indique l’étiquette de texte du bouton OK.
Exemple
L’exemple suivant définit l’étiquette du bouton OK sur “okay” :
Alert.okLabel = "okay";
Alert.show()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Alert.show(message[, titre[, indicateurs[, parent[, gestionnaireClic[, icône[,
boutonParDéfaut]]]]]])
Paramètres
message
titre
titre
Message à afficher.
Texte de la barre de titre de la fenêtre Alert. Ce paramètre est facultatif. Si le paramètre
n’est pas spécifié, la barre de titre est vide.
Paramètre facultatif qui indique les boutons devant s’afficher dans la fenêtre
Alert. La valeur par défaut est Alert.OK, ce qui permet d’afficher un bouton “OK”. Lorsque vous
utilisez plusieurs valeurs, insérez un caractère | entre chaque valeur. Il peut s’agir d’une valeur, ou
de plusieurs, parmi les suivantes :
indicateurs
•
•
•
•
70
Alert.OK
Alert.CANCEL
Alert.YES
Alert.NO
Chapitre 4 : Dictionnaire des composants
Vous pouvez également utiliser Alert.NONMODAL pour indiquer que la fenêtre Alert n’est pas une
fenêtre modale. Une fenêtre non modale permet à un utilisateur d’interagir avec d’autres fenêtres
dans l’application.
parent Fenêtre parent du composant Alert. La fenêtre Alert se centre elle-même dans la fenêtre
parent. Utilisez la valeur null ou undefined pour spécifier le scénario _root. La fenêtre parent doit
hériter de la classe UIComponent. Vous pouvez enregistrer la fenêtre parent avec mx.core.View
pour qu’elle hérite de la classe UIComponent. Ce paramètre est facultatif.
gestionnaireClic Gestionnaire des événements click diffusés lorsque l’utilisateur appuie sur
les boutons. Outre les propriétés d’objet d’événement click standard, il existe une propriété
detail, laquelle contient la valeur de l’indicateur du bouton sur lequel l’utilisateur a appuyé
(Alert.OK, Alert.CANCEL, Alert.YES, Alert.NO). Ce gestionnaire peut être une fonction ou
un objet. Pour plus d’informations, consultez le Chapitre 2, Utilisation des écouteurs d’événements
de composant, page 25.
icône Chaîne correspondant à l’identificateur de liaison d’un symbole dans la bibliothèque, à
utiliser comme icône s’affichant à gauche du texte. Ce paramètre est facultatif.
Indique le bouton qui est enfoncé lorsqu’un utilisateur appuie sur Entrée
(Windows) ou Retour (Macintosh). Ce paramètre peut prendre l’une des valeurs suivantes :
boutonParDéfaut
•
•
•
•
Alert.OK
Alert.CANCEL
Alert.YES
Alert.NO
Renvoie
L’occurrence de la classe Alert qui est créée.
Description
Méthode (classe) : méthode (statique) de classe qui affiche une fenêtre Alert contenant un
message, un titre facultatif, des boutons facultatifs et une icône facultative. Le titre de la fenêtre
Alert apparaît au sommet de la fenêtre et il est aligné sur la gauche. L’icône apparaît à gauche du
texte du message. Les boutons apparaissent centrés sous le texte du message et l’icône.
Exemple
Le code suivant est un exemple simple d’une fenêtre Alert modale contenant un bouton OK :
Alert.show("Bonjour à tous !");
Le code suivant définit un gestionnaire click qui envoie un message au panneau Sortie indiquant
les boutons qui ont été enfoncés :
monGestionnaireClic = function(evt){
trace (evt.detail + "a été enfoncé");
}
Alert.show("Il s’agit d’un test d’erreurs", "Erreur", Alert.OK | Alert.CANCEL,
this, monGestionnaireClic);
Remarque : La propriété detail de l’objet événement renvoie un nombre permettant de représenter
chaque bouton. Le bouton OK est 4, le bouton Annuler est 8, le bouton Oui est 1 et le bouton Non
est 2.
Composant Alert (Flash Professionnel uniquement)
71
Alert.yesLabel
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Alert.yesLabel
Description
Propriété (classe) : propriété de classe (statique) qui indique l’étiquette de texte du bouton Oui.
Exemple
L’exemple suivant définit l’étiquette du bouton OK sur "da" :
Alert.yesLabel = "da";
Composant Button
Le composant Button est un bouton rectangulaire de l’interface utilisateur dont les dimensions
peuvent être modifiées. Vous pouvez ajouter une icône personnalisée à un bouton. Vous pouvez
également modifier son comportement pour le faire passer de la pression au basculement. Un
bouton à basculement reste enfoncé une fois que vous avez cliqué dessus et retourne à son état
Relevé lorsque vous cliquez de nouveau dessus.
Un bouton peut être activé ou désactivé dans une application. En état désactivé, un bouton ne
réagit pas aux commandes de la souris ou du clavier. Un bouton activé reçoit le focus si vous
cliquez dessus ou si vous appuyez sur la touche de tabulation pour l’atteindre. Lorsque
l’occurrence d’un bouton a le focus, vous pouvez la contrôler à l’aide des touches suivantes :
Touche
Description
Maj +Tab
Place le focus sur l’objet précédent.
Espace
Active ou Désactive le composant et déclenche l’événement click.
Tab
Place le focus sur l’objet suivant.
Pour plus d’informations sur le contrôle du focus, consultez Création de la navigation personnalisée
du focus, page 27 ou Classe FocusManager, page 287.
Un aperçu direct des occurrences de bouton reflète les modifications apportées aux paramètres
dans l’inspecteur des propriétés ou le panneau Inspecteur de composants pendant la
programmation. Cependant, dans l’aperçu en direct, une icône personnalisée est représentée sur la
scène par un carré gris.
Lorsque vous ajoutez le composant Button à une application, vous pouvez utiliser le panneau
Accessibilité le rendre accessible aux lecteurs de l’écran. Vous devez d’abord ajouter la ligne
suivante de code pour activer l’accessibilité pour le composant Button :
mx.accessibility.ButtonAccImpl.enableAccessibility();
72
Chapitre 4 : Dictionnaire des composants
Vous n’activez l’accessibilité d’un composant qu’une fois, quel que soit son nombre d’occurrences.
Pour plus d’informations, consultez « Création de contenu accessible », dans le guide Utilisation
de Flash de l’aide.
Utilisation du composant Button
Les boutons constituent des éléments fondamentaux de toutes les formes d’application web. Vous
pouvez utiliser des boutons partout où vous souhaitez que les utilisateurs lancent un événement.
Par exemple, la plupart des formulaires comportent un bouton « Envoyer ». Vous pouvez
également ajouter des boutons « Précédent » et « Suivant » à une présentation.
Pour ajouter une icône à un bouton, vous devez sélectionner ou créer un clip ou un symbole
graphique que vous utiliserez comme icône. Le symbole doit être enregistré sous 0, 0, pour une
mise en forme appropriée sur le bouton. Choisissez le symbole de l’icône dans le panneau
Bibliothèque, ouvrez la boîte de dialogue Liaison dans le menu d’options et saisissez un
identificateur de liaison. Il s’agit de la valeur à entrer pour le paramètre de l’icône dans l’inspecteur
des propriétés ou le panneau Inspecteur de composants. Vous pouvez également entrer cette
valeur pour la propriété Button.icon d’ActionScript.
Remarque : Si la taille d’une icône est supérieure au bouton, elle s’étend au-delà des bordures du
bouton.
Paramètres du bouton
Voici les paramètres de création à définir pour chaque occurrence du composant Button dans
l’inspecteur des propriétés ou dans le panneau Inspecteur de composants :
label
définit la valeur du texte inscrit sur le bouton ; la valeur par défaut est Button.
icon ajoute une icône personnalisée au bouton. La valeur est l’identificateur de liaison d’un clip
ou d’un symbole graphique dans la bibliothèque ; il n’existe pas de valeur par défaut.
transforme le bouton en bouton à basculement. Si la valeur est true, le bouton reste dans
l’état enfoncé lorsque l’on appuie dessus et retourne à l’état relevé lorsque l’on appuie de nouveau
dessus. Si la valeur est false, le bouton se comporte comme un bouton-poussoir normal ; la valeur
par défaut est false.
toggle
selected si le paramètre de basculement est true, ce paramètre spécifie si le bouton est enfoncé
(true) ou relâché (false). La valeur par défaut est false.
labelPlacement oriente le texte de l’étiquette sur le bouton par rapport à l’icône. Ce paramètre
peut avoir l’un des quatre paramètres suivants : left, right, top ou bottom ; la valeur par défaut est
right. Pour plus d’informations, consultez Button.labelPlacement.
Vous pouvez rédiger des instructions ActionScript pour contrôler ces paramètres ainsi que d’autres
options pour les composants Button en vous servant de leurs propriétés, de leurs méthodes et de
leurs événements. Pour plus d’informations, consultez Classe Button.
Composant Button
73
Création d’une application avec le composant Button
La procédure suivante explique comment ajouter un composant Button à une application en
mode de programmation. Dans cet exemple, le bouton est un bouton Aide doté d’une icône
personnalisée qui permet d’accéder à un système d’aide lorsque l’utilisateur appuie dessus.
Pour créer une application avec le composant Button, procédez comme suit :
1 Faites glisser un composant Button du panneau Composants vers la scène.
2 Dans l’inspecteur des propriétés, entrez BtnAide comme nom d’occurrence.
3 Dans l’inspecteur des propriétés, procédez comme suit :
Entrez Help comme paramètre de l’étiquette (label).
Entrez HelpIcon comme paramètre de l’icône (icon).
Pour utiliser une icône, un clip ou un symbole graphique doit être stocké dans la
bibliothèque avec un identificateur de liaison, à utiliser comme paramètre de l’icône. Dans
cet exemple, l’identificateur de liaison est HelpIcon.
■ Définissez la propriété toggle sur true.
4 Choisissez l’image 1 dans le scénario, ouvrez le panneau Actions et saisissez le code suivant :
■
■
clippyListener = new Object();
clippyListener.click = function (evt){
clippyHelper.enabled = evt.target.selected;
}
BtnAide.addEventListener("click", clippyListener);
La dernière ligne de code ajoute un gestionnaire d’événements click à l’occurrence BtnAide.
Le gestionnaire active et désactive l’occurrence clippyHelper susceptible de servir de panneau
Aide.
Personnalisation du composant Button
Vous pouvez orienter un composant Button dans le sens horizontal et vertical pendant la création
et l’exécution. Lors de la programmation, choisissez le composant sur la scène et utilisez l’outil
Transformer librement ou une commande de modification > transformation. Lors de l’exécution,
utilisez la méthode setSize() (voir UIObject.setSize()) ou des propriétés et méthodes
applicables de la classe Button (voir Classe Button). Le redimensionnement du bouton n’affecte
pas la taille de l’icône ou de l’étiquette.
Le cadre de délimitation d’une occurrence de bouton est invisible et désigne également la zone
active de l’occurrence. Si vous augmentez la taille de l’occurrence, vous augmentez également la
taille de la zone active. Si le cadre de délimitation est trop petit pour contenir l’étiquette,
l’étiquette est coupée à la bonne taille.
Si la taille d’une icône est supérieure au bouton, elle s’étend au-delà des bordures du bouton.
Utilisation de styles avec le composant Button
Vous pouvez définir des propriétés de style afin de modifier l’aspect de l’occurrence d’un bouton.
Si le nom d’une propriété de style se termine par « Color », il s’agit d’une propriété de style de
couleur qui se comporte différemment des autres propriétés de style. Pour plus d’informations,
consultez Utilisation des styles pour personnaliser la couleur et le texte des composants, page 29.
74
Chapitre 4 : Dictionnaire des composants
Les composants Button supportent les styles de halo suivants :
Style
Description
themeColor
Arrière-plan d’un composant. Il s’agit du seul style de couleur qui n’hérite pas de
sa valeur. "haloGreen", "haloBlue" et "haloOrange" sont des valeurs possibles.
color
Texte d’une étiquette de composant.
disabledColor
Couleur désactivée pour du texte.
fontFamily
Nom de police pour du texte.
fontSize
Taille en points pour la police.
fontStyle
Style de police : "normal" ou "italic".
fontWeight
Epaisseur de la police : "normal" ou "bold".
Utilisation des enveloppes avec le composant Button
Le composant Button utilise l’API de dessin ActionScript pour dessiner les états des boutons.
Pour envelopper un composant Button au cours de la programmation, modifiez le code
ActionScript qui se trouve dans le fichier ButtonSkin.as situé dans le dossier First
Run\Classes\mx\skins\halo.
Si vous utilisez la méthode UIObject.createClassObject() pour créer dynamiquement une
occurrence de composant Button (pendant l’exécution), vous pouvez lui appliquer une enveloppe
dynamiquement. Pour appliquer un composant lors de l’exécution, définissez les propriétés
d’enveloppe du paramètre initObject qui est passé à la méthode createClassObject(). Ces
propriétés d’enveloppe définissent les noms des symboles à utiliser en tant qu’états du bouton,
avec et sans icône.
Si vous définissez le paramètre de l’icône au moment de la programmation ou la propriété icon
d’ActionScript à l’exécution, le même identificateur de liaison est affecté aux trois états de l’icône :
falseUpIcon, falseDownIcon et trueUpIcon. Pour désigner une icône unique pour les huit
états d’icône (si par exemple vous voulez qu’une icône différente apparaisse lorsqu’un utilisateur
appuie sur un bouton), vous devez définir les propriétés du paramètre initObject utilisé dans la
méthode createClassObject().
Le code suivant crée un objet intitulé initObject, à utiliser en tant que paramètre initObject
et définit les propriétés de l’enveloppe sur les nouveaux identificateurs de liaison du symbole. La
dernière ligne de code appelle la méthode createClassObject() pour créer une nouvelle
occurrence de la classe Button avec les propriétés du paramètre initObject, comme suit :
var initObject = new Object();
initObject.falseUpIcon = "MyFalseUpIcon";
initObject.falseDownIcon = "MyFalseDownIcon";
initObject.trueUpIcon = "MytrueUpIcon";
createClassObject(mx.controls.Button, "ButtonInstance", 0, initObject);
Pour plus d’informations, consultez A propos de l’application des enveloppes aux composants,
page 38 et UIObject.createClassObject().
Composant Button
75
Si un bouton est activé, il affiche son état survolé lorsque le pointeur passe dessus. Le bouton
reçoit le focus d’entrée et affiche son état enfoncé lorsque l’on clique dessus. Le bouton retourne à
son état survolé lorsque la souris est relâchée. Si le pointeur quitte le bouton alors que le bouton
de la souris est enfoncé, le bouton retourne à son état d’origine et garde le focus d’entrée. Si le
paramètre de basculement est défini sur true, l’état du bouton ne change pas jusqu’à ce que le
bouton de la souris soit relâché sur lui.
Si un bouton est désactivé, il affiche son état désactivé, quelle que soit l’interaction avec
l’utilisateur.
Les composants Button utilisent les propriétés d’enveloppe suivantes :
Propriété
Description
falseUpSkin
Etat Relevé. La valeur par défaut est RectBorder.
falseDownSkin
Etat Enfoncé. La valeur par défaut est RectBorder.
falseOverSkin
Etat Survolé. La valeur par défaut est RectBorder.
falseDisabledSkin
Etat Désactivé. La valeur par défaut est RectBorder.
trueUpSkin
Etat Basculé. La valeur par défaut est RectBorder.
trueDownSkin
Etat Enfoncé-basculé. La valeur par défaut est RectBorder.
trueOverSkin
Etat Survolé-basculé. La valeur par défaut est RectBorder.
trueDisabledSkin
Etat Désactivé-basculé. La valeur par défaut est RectBorder.
falseUpIcon
Etat En haut de l’icône. La valeur par défaut est undefined.
falseDownIcon
Etat Enfoncé de l’icône. La valeur par défaut est undefined.
falseOverIcon
Etat Survolé de l’icône. La valeur par défaut est undefined.
falseDisabledIcon
Etat Désactivé de l’icône. La valeur par défaut est undefined.
trueUpIcon
Etat Basculé de l’icône. La valeur par défaut est undefined.
trueOverIcon
Etat Survolé-basculé de l’icône. La valeur par défaut est undefined.
trueDownIcon
Etat Enfoncé-basculé de l’icône. La valeur par défaut est undefined.
trueDisabledIcon
Etat Désactivé-basculé de l’icône. La valeur par défaut est undefined.
Classe Button
Héritage
UIObject > UIComponent > SimpleButton > Button
Nom de classe ActionScript
mx.controls.Button
Les propriétés de la classe Button vous permettent d’ajouter une icône à un bouton, de créer une
étiquette de texte ou d’indiquer si le bouton agit en tant que bouton-poussoir ou en tant que
bouton à basculement pendant l’exécution.
La définition d’une propriété de la classe Button avec ActionScript remplace le paramètre du
même nom défini dans l’inspecteur des propriétés ou dans le panneau Inspecteur de composants.
Le composant Button utilise FocusManager pour remplacer le rectangle de focus par défaut de
Flash Player et tracer un rectangle de focus personnalisé aux coins arrondis. Pour plus
d’informations, consultez Création de la navigation personnalisée du focus, page 27.
76
Chapitre 4 : Dictionnaire des composants
Toutes les classes de composants ont une propriété version qui correspond à une propriété de
classe. Les propriétés de classe sont uniquement disponibles sur la classe elle-même. La propriété
version renvoie une chaîne qui indique la version du composant. Pour accéder à la propriété
version, utilisez le code suivant :
trace(mx.controls.Button.version);
Remarque : Le code suivant renvoie la valeur undefined :
trace(OccurrenceMonBouton.version);.
La classe de composants Button est différente de l’objet Button ActionScript intégré.
Méthodes de la classe Button
Hérite de toutes les méthodes des classes UIObject et UIComponent.
Propriétés de la classe Button
Méthode
Description
SimpleButton.emphasized
Indique si un bouton a l’aspect d’un bouton-poussoir
par défaut.
SimpleButton.emphasizedStyleDeclaration Déclaration de style lorsque la propriété emphasized
est définie sur true.
Button.icon
Spécifie une icône pour une occurrence de bouton.
Button.label
Spécifie le texte qui apparaît dans un bouton.
Button.labelPlacement
Spécifie l’orientation du texte de l’étiquette par rapport
à une icône.
Button.selected
Lorsque la propriété toggle est true, spécifie si le
bouton est enfoncé (true) ou non (false).
Button.toggle
Indique si le bouton se comporte comme un bouton à
basculement.
Hérite de toutes les propriétés des classes UIObject et UIComponent.
Evénements de la classe Button
Méthode
Description
Button.click
Diffusé lorsque l’utilisateur clique sur le bouton de la
souris au-dessus d’une occurrence de bouton ou
appuie sur la barre d’espace.
Hérite de tous les événements des classes UIObject et UIComponent.
Composant Button
77
Button.click
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(click){
...
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.click = function(objetEvt){
...
}
occurrenceDeBouton.addEventListener("click", objetDécoute)
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsque l’utilisateur clique sur le bouton (puis
relâche le bouton de la souris) ou si le bouton a le focus et que l’utilisateur appuie sur la barre
d’espacement.
Le premier exemple d’utilisation fait appel au gestionnaire on() et doit être associé directement à
une occurrence de composant Button. Le mot-clé this, utilisé dans un gestionnaire on() lié à un
composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, joint à
l’occurrence de composant Button monComposantBouton, envoie
« _level0.monComposantBouton » au panneau de sortie :
on(click){
trace(this);
}
Notez que ce code est différent du comportement de this lorsqu’il est utilisé dans un gestionnaire
on() lié à un symbole de bouton Flash ordinaire. Lorsque this est utilisé à l’intérieur d’un
gestionnaire on() lié à un symbole de bouton, il fait référence au scénario contenant le bouton.
Par exemple, le code suivant, lié à l’occurrence de symbole de bouton monBouton, envoie
« _level0 » au panneau de sortie :
on(release) {
trace(this);
}
Remarque : L’objet bouton ActionScript intégré n’a pas d’événement click ; l’événement le plus
proche est release.
78
Chapitre 4 : Dictionnaire des composants
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (occurrenceDeBouton) distribue un événement (ici, click) qui est
géré par une fonction (également appelée gestionnaire) sur un objet d’écoute (objetDécoute) que
vous créez. Vous définissez une méthode portant le même nom que l’événement traité par l’objet
d’écoute ; la méthode est appelée lorsque l’événement est déclenché. Lorsque l’événement est
déclenché, il transmet automatiquement un objet événement (objetEvt) à la méthode d’objet
d’écoute. L’objet événement a un jeu de propriétés contenant des informations sur l’événement.
Vous pouvez utiliser ces propriétés pour rédiger le code qui traitera l’événement. Pour finir, vous
appelez la méthode addEventListener() (voir UIEventDispatcher.addEventListener())
sur l’occurrence de composant qui distribue l’événement pour enregistrer l’écouteur avec
l’occurrence. Lorsque l’occurrence distribue l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
Cet exemple, écrit sur une image du scénario, envoie un message au panneau de sortie lorsque
l’utilisateur clique sur un bouton intitulé occurrenceDeBouton. La première ligne de code donne
une étiquette au bouton. La deuxième ligne lui applique un comportement de bouton à
basculement. La troisième ligne crée un objet d’écoute intitulé form. La quatrième ligne définit
une fonction pour l’événement click sur l’objet d’écoute. La fonction comporte une action trace
qui utilise l’objet événement automatiquement transmis à cette fonction (ici objEvt) pour
générer un message. La propriété target d’un objet événement est le composant ayant généré
l’événement (dans cet exemple, occurrenceDeBouton). L’utilisateur accède à la propriété
Button.selected à partir de la propriété target de l’objet événement. La dernière ligne appelle
la méthode addEventListener() à partir de occurrenceDeBouton et lui passe l’événement
click et l’objet d’écoute form comme paramètres, comme dans le code suivant :
occurrenceDeBouton.label = "Cliquez sur Tester"
occurrenceDeBouton.toggle = true;
form = new Object();
form.click = function(objEvt){
trace("La propriété sélectionnée est passée à " + objEvt.target.selected);
}
occurrenceDeBouton.addEventListener("click", form);
Le code suivant envoie également un message au panneau de sortie lorsque l’utilisateur clique sur
occurrenceDeBouton. Le gestionnaire on() doit être directement lié à occurrenceDeBouton,
comme dans l’exemple ci-dessous :
on(click){
trace("composant Button cliqué");
}
Voir aussi
UIEventDispatcher.addEventListener()
Composant Button
79
SimpleButton.emphasized
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeBouton.emphasized
Description
Propriété : indique si le bouton est dans un état emphasized (true) ou non (false). L’état
emphasized correspond à l’aspect s’il s’agit d’un bouton-poussoir par défaut. En général, utilisez la
propriété FocusManager.defaultPushButton au lieu de définir la propriété emphasized
directement. La valeur par défaut est false.
La propriété emphasized est une propriété statique de la classe SimpleButton. Vous devez donc y
accéder directement à partir de SimpleButton, de la manière suivante :
SimpleButton.emphasizedStyleDeclaration = "foo";
Si vous n’utilisez pas FocusManager.defaultPushButton, il est possible que vous souhaitiez
simplement définir un bouton sur l’état emphasized ou utiliser l’état emphasized pour choisir une
autre couleur pour le texte. L’exemple suivant définit la propriété emphasized pour l’occurrence
de bouton monBouton :
_global.styles.foo = new CSSStyleDeclaration();
_global.styles.foo.color = 0xFF0000;
SimpleButton.emphasizedStyleDeclaration = "foo";
monBouton.emphasized = true;
Voir aussi
SimpleButton.emphasizedStyleDeclaration
SimpleButton.emphasizedStyleDeclaration
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeBouton.emphasizedStyleDeclaration
Description
Propriété : une chaîne indiquant la déclaration de style qui formate un bouton lorsque la
propriété emphasized est définie sur true.
Voir aussi
SimpleButton.emphasized
80
Chapitre 4 : Dictionnaire des composants
Button.icon
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeBouton.icon
Description
Propriété : une chaîne spécifiant l’identificateur de liaison d’un symbole dans la bibliothèque. Cet
identificateur sera utilisé comme icône pour l’occurrence d’un bouton. L’icône peut être un
symbole de clip ou un symbole graphique avec un point d’alignement supérieur gauche. Vous
devez redimensionner le bouton si l’icône est trop grande ; le bouton et l’icône ne seront pas
redimensionnés automatiquement. Si une icône est plus grande qu’un bouton, elle s’étend
automatiquement au-delà des bordures du bouton.
Pour créer une icône personnalisée, vous devez créer un clip ou un symbole graphique.
Sélectionnez le symbole sur la scène en mode de modification des symboles et saisissez 0 dans les
cases X et Y de l’inspecteur des propriétés. Dans le panneau Bibliothèque, sélectionnez le clip et
choisissez Liaison dans le menu d’options. Sélectionnez Exporter pour ActionScript et saisissez un
identificateur dans la case Identifiant.
La valeur par défaut est une chaîne vide ("") qui indique qu’il n’y a pas d’icône.
Utilisez la propriété labelPlacement pour définir la position de l’icône par rapport au bouton.
Exemple
Le code suivant affecte le clip ayant l’identificateur de liaison bonheur dans le panneau
Bibliothèque à l’occurrence de bouton en tant qu’icône :
monBouton.icon = "bonheur"
Voir aussi
Button.labelPlacement
Button.label
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeBouton.label
Composant Button
81
Description
Propriété : spécifie l’étiquette de texte pour une occurrence de bouton. Par défaut, l’étiquette
apparaît centrée sur le bouton. L’appel de cette méthode remplace le paramètre de l’étiquette
défini lors de la programmation, spécifié dans le panneau de l’inspecteur des propriétés ou des
composants. La valeur par défaut est "Button".
Exemple
Le code suivant définit l’étiquette sur « Supprimer de la liste » :
occurrenceDeBouton.label = "Supprimer de la liste";
Voir aussi
Button.labelPlacement
Button.labelPlacement
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeBouton.labelPlacement
Description
Propriété : définit la position de l’étiquette par rapport à l’icône. La valeur par défaut est "right".
Quatre valeurs sont possibles, l’icône et l’étiquette étant toujours centrées verticalement ou
horizontalement dans la zone de délimitation du bouton :
•
•
•
•
L’étiquette est placée à droite de l’icône.
"left" L’étiquette est placée à gauche de l’icône.
"bottom" L’étiquette est placée sous l’icône.
"top" L’étiquette est placée au-dessus de l’icône.
"right"
Exemple
Le code suivant définit l’étiquette à gauche du bouton. La deuxième ligne de code envoie la valeur
de la propriété labelPlacement au panneau de sortie :
occurrenceDicône.labelPlacement = "left";
trace(occurrenceDicône.labelPlacement);
82
Chapitre 4 : Dictionnaire des composants
Button.selected
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeBouton.selected
Description
Propriété : valeur booléenne indiquant qu’un bouton est enfoncé (true) ou non (false). La
valeur de la propriété toggle doit être true (vraie) pour définir la propriété selected sur true
(vraie). Si la propriété toggle est false, l’affectation d’une valeur true sur la propriété selected
n’a aucun effet. La valeur par défaut est false.
L’événement click n’est pas déclenché lorsque la valeur de la propriété selected change avec
ActionScript. Il est déclenché lorsqu’un utilisateur établit une interaction avec le bouton.
Exemple
Dans l’exemple suivant, la propriété toggle est définie sur true et la propriété selected est
également définie sur true, ce qui fait passer le bouton à l’état enfoncé. L’action trace envoie la
valeur true au panneau de sortie :
occurrenceDeBouton.toggle = true; // toggle doit être true pour définir la
propriété selected
occurrenceDeBouton.selected = true; // affiche l’état basculé du bouton
trace(occurrenceDeBouton.selected); //trace- true
Voir aussi
Button.toggle
Button.toggle
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeBouton.toggle
Description
Propriété : une valeur booléenne indiquant si un bouton agit comme un bouton à basculement
(true) ou comme un bouton-poussoir (false) ; la valeur par défaut est false. Lorsqu’un bouton
à basculement est enfoncé, il reste dans l’état enfoncé jusqu’à ce que l’on clique de nouveau
dessus.
Composant Button
83
Exemple
Le code suivant définit la propriété toggle sur true pour que l’occurrence monBouton se
comporte comme un bouton à basculement :
monBouton.toggle = true;
API CellRenderer
L’API CellRenderer est un ensemble de propriétés et de méthodes que les composants basés sur
des listes (List, DataGrid, Tree et Menu) utilisent pour manipuler et afficher un contenu de
cellule personnalisée pour chacune de leurs lignes. Cette cellule personnalisée peut contenir un
composant prédéfini, CheckBox par exemple, ou toute classe que vous créez.
Présentation de la classe List
Pour pouvoir utiliser l’API CellRenderer, il est important de bien maîtriser la classe List. Les
composants DataGrid, Tree et Menu sont des extensions de la classe List. Par conséquent, la
compréhension de la classe List garantit également la compréhension de ces composants.
Remarque : Si tout composant constitue une classe, toute classe ne correspond pas
nécessairement à un composant.
A propos de la composition de la classe List
Les classes List sont composées de lignes. Ces lignes affichent les mises en valeur de sélection et de
survol, elles sont utilisées comme l’état « cliquable » de la sélection et jouent un rôle essentiel dans
le défilement. Outre les icônes et les mises en valeur de sélection (icônes de nœud, flèches
d’agrandissement d’un composant Tree, par exemple), une ligne se compose d’une cellule (ou de
nombreuses cellules, dans le cas du composant DataGrid). Dans le cas de figure par défaut, ces
cellules sont des objets TextField qui implémentent l’API CellRenderer. Cependant, vous pouvez
indiquer à une liste d’utiliser une classe de composant différente pour chaque cellule (ligne). La
seule condition requise est que la classe doit implémenter l’API CellRenderer, car la liste l’utilise
pour communiquer avec la cellule.
Ordre d’empilement d’une ligne dans un composant List ou DataGrid
Remarque : Si une cellule contient des gestionnaires d’événements de bouton (onPress, etc.), il est
possible que la zone réactive d’arrière-plan ne reçoive pas les entrées nécessaires pour déclencher
les événements.
84
Chapitre 4 : Dictionnaire des composants
A propos du comportement de défilement de la classe List
Les composants List utilisent un algorithme relativement complexe pour le défilement. Une liste
contient le plus grand nombre de lignes qu’il est possible d’afficher simultanément ; les éléments
excédant la valeur de la propriété rowCount n’obtiennent aucune ligne. Lors du défilement, la liste
déplace toutes les lignes vers le haut ou le bas (en fonction de la direction du défilement). Elle
retraite ensuite les lignes qui ne sont plus visibles ; elle les réinitialise et les utilise pour les
nouvelles lignes qui défilent à l’écran, en définissant la valeur de l’ancienne ligne au nouvel
élément visible et en plaçant l’ancienne ligne à l’endroit où le nouvel élément défile à l’écran.
Du fait de ce comportement de défilement, une seule cellule n’est pas utilisée pour une seule
valeur. Dans la mesure où les lignes sont recyclées, le composant CellRenderer doit savoir
comment réinitialiser intégralement son état lorsqu’il est défini à une nouvelle valeur. Par
exemple, si votre composant CellRenderer crée une icône permettant d’afficher un élément, il
peut avoir besoin de supprimer cette icône au moment d’afficher le rendu d’un nouvel élément.
Supposons que votre composant CellRenderer est un conteneur qui sera rempli avec de
nombreuses valeurs d’éléments au fil du temps, et qu’il doit savoir comment se modifier
entièrement pour passer de l’affichage d’une valeur à l’affichage d’une autre valeur. En fait, votre
cellule doit même savoir comment rendre correctement des éléments non définis, ce qui peut
signifier la suppression de l’intégralité de l’ancien contenu de la cellule.
Utilisation de l’API CellRenderer
Vous devez rédiger une classe avec quatre méthodes (CellRenderer.getPreferredHeight(),
CellRenderer.getPreferredWidth(), CellRenderer.setSize(),
CellRenderer.setValue()) que le composant basé sur des listes utilisera pour communiquer
avec la cellule.
Deux méthodes et une propriété (CellRenderer.getCellIndex(),
et CellRenderer.listOwner) sont automatiquement
attribuées à une cellule pour lui permettre de communiquer avec le composant basé sur des listes.
Par exemple, supposons qu’une cellule comprend une case à cocher qui entraîne la sélection d’une
ligne lorsque cette case est activée. Le composant CellRenderer a besoin d’une référence au
composant basé sur des listes qui le contient, afin de pouvoir appeler la propriété selectedIndex
de ce composant. en outre, la cellule doit savoir quel élément d’index elle rend actuellement afin
de pouvoir définir la propriété selectedIndex au numéro correct ; pour ce faire, la cellule peut
utiliser les méthodes CellRenderer.listOwner et CellRenderer.getCellIndex(). Il n’est pas
nécessaire d’implémenter ces API ; la cellule les reçoit automatiquement lorsqu’elle est placée dans
le composant basé sur des listes.
CellRenderer.getDataLabel()
Méthodes à implémenter pour l’API CellRenderer
Vous devez rédiger une classe avec les méthodes suivantes afin que le composant List, DataGrid,
Tree ou Menu puisse communiquer avec la cellule :
Nom
Description
CellRenderer.getPreferredHeight() Renvoie la hauteur préférée d’une cellule.
CellRenderer.getPreferredWidth()
Renvoie la largeur préférée d’une cellule.
CellRenderer.setSize()
Définit la largeur et la hauteur d’une cellule.
CellRenderer.setValue()
Définit le contenu à afficher dans la cellule.
API CellRenderer
85
Méthodes fournies par l’API CellRenderer
Le tableau ci-dessous présente les méthodes que les composants List, DataGrid, Tree et Menu
donnent à la cellule créée dans l’un de ces composants. Il n’est pas nécessaire d’implémenter ces
méthodes.
Nom
Description
CellRenderer.getDataLabel()
Renvoie une chaîne contenant le nom du champ de données
du composant CellRenderer.
CellRenderer.getCellIndex()
Renvoie un objet avec deux champs, columnIndex et
rowIndex, indiquant la position de la cellule.
Propriétés fournies par l’API CellRenderer
La propriété que les composants List, DataGrid, Tree et Menu donnent à la cellule créée dans l’un
de ces composants est présentée ci-après. Il n’est pas nécessaire d’implémenter cette propriété.
Nom
Description
CellRenderer.listOwner
Référence à la liste contenant la cellule.
CellRenderer.getDataLabel()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeComposant.getDataLabel()
Paramètres
Aucun.
Renvoie
Une chaîne.
Description
Méthode : renvoie une chaîne contenant le nom du champ de données du composant
CellRenderer.
Exemple
Le code suivant permet à la cellule de découvrir qu’elle rend le champ de données "Prix". La
variable p est égale à "Prix" :
var p = getDataLabel();
86
Chapitre 4 : Dictionnaire des composants
CellRenderer.getCellIndex()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeComposant.getCellIndex()
Paramètres
Aucun.
Renvoie
Un objet comprenant deux champs : columnIndex et itemIndex.
Description
Méthode : renvoie un objet avec deux champs, columnIndex et itemIndex indiquant la position
de la cellule dans la grille. Chaque champ est un entier qui indique la position d’une colonne et
d’un élément d’une cellule. Pour les composants autres que DataGrid, la valeur de columnIndex
est toujours 0.
Exemple
Cet exemple permet de modifier la propriété dataProvider d’un composant DataGrid depuis une
cellule :
var index = getCellIndex();
var NomCol = listOwner.getColumnAt(index.columnIndex).columnName;
listOwner.dataProvider.editField(index.itemIndex, NomCol, valeur);
CellRenderer.getPreferredHeight()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeComposant.getPreferredHeight()
Paramètres
Aucun.
Renvoie
La hauteur correcte de la cellule.
API CellRenderer
87
Description
Méthode : hauteur préférée d’une cellule. Ceci est particulièrement important pour obtenir la
hauteur correcte du texte dans la cellule. Si vous définissez cette propriété à une valeur plus élevée
que celle de la propriété rowHeight du composant, les cellules dépasseront au-dessus et au-dessous
des lignes.
Exemple
Cet exemple renvoie la valeur 20, ce qui indique que la cellule doit avoir une hauteur de
20 pixels :
function getPreferredHeight(Void) :Number
{
return 20;
}
CellRenderer.getPreferredWidth()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeComposant.getPreferredWidth()
Paramètres
Aucun.
Renvoie
Rien.
Description
Méthode : largeur préférée d’une cellule. Si vous indiquez une largeur plus importante que celle
du composant, il est possible que la cellule soit tronquée.
Exemple
Cet exemple renvoie la valeur 3, ce qui indique que la cellule doit être trois fois plus longue que la
chaîne qu’elle affiche :
function getPreferredHeight(Void) : Number
{
return maChaîne.length*3;
}
88
Chapitre 4 : Dictionnaire des composants
CellRenderer.listOwner
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeComposant.listOwnner
Description
Propriété : référence à la liste propriétaire de la cellule. Cette liste peut être un objet DataGrid,
Tree ou List.
Exemple
Cet exemple trouve l’élément sélectionné de la liste dans une cellule :
var s = listOwner.selectedItem;
CellRenderer.setSize()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeComposant.setSize(largeur, hauteur)
Paramètres
largeur
Nombre indiquant la largeur définie pour le positionnement du composant.
hauteur
Nombre indiquant la hauteur définie pour le positionnement du composant.
Renvoie
Rien.
Description
Méthode : permet à la liste d’indiquer à ses cellules quelle taille elles doivent prendre. L’objet
CellRenderer doit être positionné de façon à rester dans les limites de la zone décrite : dans le cas
contraire, le contenu de la cellule risque de déborder dans d’autres parties de la liste et d’apparaître
tronqué.
API CellRenderer
89
Exemple
Cet exemple dimensionne une image dans la cellule de façon à ce qu’elle reste dans les limites
spécifiées par la liste :
function définirTaille(w:Number, h:Number) : Void
{
image._width = w-2;
image._height = w-2;
image._x = image._y = 1;
}
CellRenderer.setValue()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeComposant.setValue(suggérée, élément, sélectionnée)
Paramètres
suggérée
Valeur à utiliser pour le texte du composant CellRenderer, le cas échéant.
Objet correspondant à l’intégralité de l’élément devant être rendu. Le composant
CellRenderer peut utiliser les propriétés de l’objet qu’il souhaite pour le rendu.
élément
sélectionnée Valeur booléenne indiquant
sélectionnée (true) ou non (false).
si la ligne sur laquelle figure la cellule est
Renvoie
Rien.
Description
Méthode : prend les valeurs données et crée une représentation de celles-ci dans la cellule. Ceci
annule les différences dans ce qui était affiché dans la cellule et ce qui doit être affiché dans la
cellule du nouvel élément. Il est important de garder en mémoire qu’une cellule peut afficher de
nombreuses valeurs le temps qu’elle reste dans la liste. Il s’agit de la méthode la plus importante
pour les composants CellRenderer.
Exemple
Cet exemple permet de charger une image dans un composant Loader au sein de la cellule, en
fonction de la valeur transmise :
function définirValeur(suggéré, élément, sélectionné) : Void
{
//supprimer le loader
loader.contentPath = undefined;
// le data provider de la liste contient des URL pour différentes images
if (suggested!=undefined)
loader.contentPath = suggéré;
}
90
Chapitre 4 : Dictionnaire des composants
Composant CheckBox
Une case à cocher est une case carrée pouvant être sélectionnée ou désélectionnée. Lorsqu’elle est
sélectionnée, une coche apparaît à l’intérieur. Vous pouvez ajouter une étiquette de texte à une
case à cocher et la placer à gauche, à droite, au-dessous ou au-dessus.
Les cases peuvent être activées ou désactivées dans une application. Si une case est activée et qu’un
utilisateur clique dessus ou sur son étiquette, la case reçoit le focus d’entrée et son état enfoncé
apparaît à l’écran. Si un utilisateur place le pointeur à l’extérieur du cadre de délimitation d’une
case ou de son étiquette en appuyant sur le bouton de la souris, l’aspect du composant revient à
son état d’origine et conserve le focus d’entrée. L’état d’une case ne change pas jusqu’à ce que le
bouton de la souris soit relâché sur le composant. La case possède aussi deux états désactivés,
sélectionné ou désélectionné, qui ne permettent pas d’établir une interaction avec la souris ou le
clavier.
Si une case est désactivée, elle affiche un aspect désactivé, quelle que soit l’interaction de
l’utilisateur. En état désactivé, un bouton ne réagit pas aux commandes de la souris ou du clavier.
Une occurrence de case à cocher reçoit le focus si un utilisateur clique dessus ou utilise la touche
de tabulation pour la sélectionner. Lorsqu’une occurrence de case a le focus, vous pouvez utiliser
les touches suivantes pour le contrôler :
Touche
Description
Maj +Tab
Déplace le focus vers l’élément précédent.
Espace
Sélectionne ou désélectionne le composant et déclenche l’événement
click.
Tab
Déplace le focus vers l’élément suivant.
Pour plus d’informations sur le contrôle du focus, consultez Création de la navigation personnalisée
du focus, page 27 ou Classe FocusManager, page 287.
Un aperçu en direct de chacune des occurrences de case reflète les modifications apportées à leurs
paramètres dans le panneau de l’inspecteur des propriétés ou des composants au cours de la
programmation.
Lorsque vous ajoutez le composant CheckBox à une application, vous pouvez utiliser le panneau
Accessibilité pour le rendre accessible aux lecteurs d’écran. Vous devez d’abord ajouter la ligne de
code suivante pour activer l’accessibilité :
mx.accessibility.CheckBoxAccImpl.enableAccessibility();
Vous n’activez l’accessibilité d’un composant qu’une fois, quel que soit son nombre d’occurrences.
Pour plus d’informations, consultez « Création de contenu accessible », dans le guide Utilisation
de Flash de l’aide.
Utilisation du composant CheckBox
La case à cocher est l’un des éléments fondamentaux des formulaires et applications web. Vous
pouvez utiliser des cases chaque fois que vous voulez réunir un jeu de valeurs true ou false qui
ne s’excluent pas réciproquement. Par exemple, un formulaire recueillant des informations
personnelles sur un client peut comporter une liste de hobbies que le client doit sélectionner ; une
case à cocher peut se trouver à côté de chaque loisir.
Composant CheckBox
91
Paramètres du composant CheckBox
Les paramètres suivants sont des paramètres de programmation que vous pouvez définir pour
chaque occurrence de composant CheckBox dans le panneau de l’inspecteur des propriétés ou des
composants :
label
définit la valeur du texte sur la case à cocher ; la valeur par défaut est defaultValue.
selected
définit la valeur initiale de la case cochée (true) ou non cochée (false).
labelPlacement oriente le texte de l’étiquette sur la case. Ce paramètre peut avoir l’un des quatre
paramètres suivants : left, right, top ou bottom ; la valeur par défaut est right. Pour plus
d’informations, consultez CheckBox.labelPlacement.
Vous pouvez rédiger du code ActionScript pour contrôler ces options ainsi que d’autres options
des composants CheckBox à l’aide des propriétés, méthodes et événements ActionScript. Pour
plus d’informations, consultez Classe CheckBox.
Création d’une application avec le composant CheckBox
La procédure suivante explique comment ajouter un composant CheckBox à une application au
cours de la programmation. L’exemple suivant est un formulaire à remplir pour s’inscrire dans une
agence matrimoniale en ligne. Le formulaire est une requête qui recherche des candidats
susceptibles de convenir au client. Le formulaire de requête doit comporter une case intitulée
« Limiter l’âge » pour permettre au client de limiter sa recherche au groupe d’âge de son choix.
Lorsque la case « Limiter l’âge » est cochée, le client peut alors entrer un âge minimum et un âge
maximum dans les deux champs de texte qui sont uniquement activés lorsque la case « Limiter
l’âge » est sélectionnée.
Pour créer une application avec le composant CheckBox, procédez comme suit :
1 Faites glisser deux composants TextInput du panneau Composants jusqu’à la scène.
2 Dans l’inspecteur des propriétés, saisissez les noms d’occurrence âgeMinimum et âgeMaximum.
3 Faites glisser un composant CheckBox du panneau Composants jusqu’à la scène.
4 Dans l’inspecteur des propriétés, procédez comme suit :
Saisissez LimiterAge pour le nom de l’occurrence.
Saisissez Limiter l’âge pour le paramètre de l’étiquette.
5 Choisissez l’image 1 dans le scénario, ouvrez le panneau Actions et saisissez le code suivant :
■
■
objetDécouteLimiterAge = new Object();
objetDécouteLimiterAge.click = function (evt){
âgeMinimum.enabled = evt.target.selected;
âgeMaximum.enabled = evt.target.selected;
}
LimiterAge.addEventListener("click", objetDécouteLimiterAge);
Ce code crée un gestionnaire d’événements click qui active et désactive les composants des
champs de texte âgeMinimum et âgeMaximum, déjà placés sur la scène. Pour plus d’informations
sur l’événement click, consultez CheckBox.click. Pour plus d’informations sur le
composant TextInput, consultez Composant TextInput, page 545.
92
Chapitre 4 : Dictionnaire des composants
Personnalisation du composant CheckBox
Vous pouvez transformer un composant CheckBox horizontalement et verticalement au cours de
la programmation et lors de l’exécution. Lors de la programmation, choisissez le composant sur la
scène et utilisez l’outil Transformer librement ou une commande de modification >
transformation. Lors de l’exécution, utilisez la méthode setSize() (UIObject.setSize()) ou
les autres propriétés et méthodes de la classe CheckBox (voir Classe CheckBox). Le
redimensionnement de la case ne modifie pas la taille de l’étiquette ou de l’icône ; il modifie
uniquement la taille du cadre de délimitation.
Le cadre de délimitation d’une occurrence de case est invisible et désigne également la zone active
de l’occurrence. Si vous augmentez la taille de l’occurrence, vous augmentez également la taille de
la zone active. Si le cadre de délimitation est trop petit pour contenir l’étiquette, l’étiquette est
coupée à la bonne taille.
Utilisation des styles avec le composant CheckBox
Vous pouvez définir des propriétés de style pour modifier l’aspect d’une occurrence de case à
cocher. Si le nom d’une propriété de style se termine par « Color », il s’agit d’une propriété de style
de couleur qui se comporte différemment des autres propriétés de style. Pour plus d’informations,
consultez Utilisation des styles pour personnaliser la couleur et le texte des composants, page 29.
Les composants CheckBox supportent les styles de halo suivants :
Style
Description
themeColor
Arrière-plan d’un composant. Il s’agit du seul style de couleur qui n’hérite
pas de sa valeur. "haloGreen", "haloBlue" et "haloOrange" sont des
valeurs possibles.
color
Texte d’une étiquette de composant.
disabledColor
Couleur désactivée pour du texte.
fontFamily
Nom de police pour du texte.
fontSize
Taille en points pour la police.
fontStyle
Style de police : "normal" ou "italic".
fontWeight
Epaisseur de la police : "normal" ou "bold".
textDecoration
Décoration du texte : "none" ou "underline".
Utilisation des enveloppes avec le composant CheckBox
Le composant CheckBox utilise les symboles du panneau Bibliothèque pour représenter les états
des boutons. Pour envelopper le composant CheckBox au cours de la programmation, modifiez
les symboles dans le panneau Bibliothèque. Les enveloppes de composants CheckBox sont situées
dans le dossier Flash UI Components 2/Themes/MMDefault/CheckBox Assets/states de la
bibliothèque du fichier HaloTheme.fla ou du fichier SampleTheme.fla. Pour plus d’informations,
consultez A propos de l’application des enveloppes aux composants, page 38.
Composant CheckBox
93
Les composants CheckBox utilisent les propriétés d’enveloppe suivantes :
Propriété
Description
falseUpSkin
Etat Relevé. La propriété par défaut est RectBorder.
falseDownSkin
Etat Enfoncé. La propriété par défaut est RectBorder.
falseOverSkin
Etat Survolé. La propriété par défaut est RectBorder.
falseDisabledSkin
Etat Désactivé. La propriété par défaut est RectBorder.
trueUpSkin
Etat Basculé. La propriété par défaut est RectBorder.
trueDownSkin
Etat Enfoncé-basculé. La propriété par défaut est RectBorder.
trueOverSkin
Etat Survolé-basculé. La propriété par défaut est RectBorder.
trueDisabledSkin
Etat Désactivé-basculé. La propriété par défaut est RectBorder.
Classe CheckBox
Héritage
UIObject > UIComponent > SimpleButton > Button > CheckBox
Nom de classe ActionScript
mx.controls.CheckBox
Les propriétés de la classe CheckBox permettent de créer une étiquette de texte et de la placer à
gauche, à droite, au-dessus ou au-dessous d’une case lors de l’exécution.
La définition d’une propriété de la classe CheckBox avec ActionScript remplace le paramètre du
même nom défini dans le panneau de l’inspecteur des propriétés ou des composants.
Le composant CheckBox utilise FocusManager pour remplacer le rectangle de focus de Flash
Player par défaut et tracer un rectangle de focus personnalisé avec des coins arrondis. Pour plus
d’informations, consultez Création de la navigation personnalisée du focus, page 27.
Toutes les classes de composants ont une propriété version qui correspond à une propriété de
classe. Les propriétés de classe sont uniquement disponibles sur la classe elle-même. La propriété
version renvoie une chaîne qui indique la version du composant. Pour accéder à la propriété
version, utilisez le code suivant :
trace(mx.controls.CheckBox.version);
Remarque : Le code suivant renvoie la valeur undefined :
trace(monOccurrenceDeCaseACocher.version);.
Méthodes de la classe CheckBox
Hérite de toutes les méthodes des classes UIObject et UIComponent.
Propriétés de la classe CheckBox
Propriété
Description
CheckBox.label
Spécifie le texte qui apparaît à côté d’une case.
CheckBox.labelPlacement Spécifie l’orientation du texte de l’étiquette par rapport à la case.
CheckBox.selected
Spécifie si la case est sélectionnée (true) ou désélectionnée (false).
Hérite de toutes les propriétés des classes UIObject et UIComponent.
94
Chapitre 4 : Dictionnaire des composants
Evénements de la classe CheckBox
Evénement
Description
CheckBox.click
Déclenché lorsque l’on appuie sur le bouton de la souris au-dessus d’une
occurrence de bouton.
Hérite de tous les événements des classes UIObject et UIComponent.
CheckBox.click
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(click){
...
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.click = function(objetEvt){
...
}
OccurrenceDeCaseACocher.addEventListener("click", objetDécoute)
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsque la souris est enfoncée (relâchée) sur le
bouton ou si le bouton a le focus et que la barre d’espacement est enfoncée.
Le premier exemple d’utilisation fait appel au gestionnaire on() et doit être associé directement à
une occurrence de composant CheckBox. Le mot-clé this, utilisé dans un gestionnaire on() lié à
un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, lié à la
case maCaseAcocher, envoie « _level0.maCaseAcocher » au panneau de sortie :
on(click){
trace(this);
}
Composant CheckBox
95
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (OccurrenceDeCaseACocher) distribue un événement (ici, click) qui
est géré par une fonction (également appelée gestionnaire) sur un objet d’écoute (objetDécoute)
que vous créez. Vous définissez une méthode portant le même nom que l’événement traité par
l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché. Lorsque l’événement
est déclenché, il transmet automatiquement un objet événement (objetEvt) à la méthode d’objet
d’écoute. L’objet événement a un jeu de propriétés contenant des informations sur l’événement.
Vous pouvez utiliser ces propriétés pour rédiger le code qui traitera l’événement. Pour finir, vous
appelez la méthode addEventListener() (consultez
UIEventDispatcher.addEventListener()) sur l’occurrence de composant qui diffuse
l’événement afin d’enregistrer l’écouteur dans cette occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
Cet exemple, écrit sur une image du scénario, envoie un message au panneau de sortie lorsque
l’utilisateur clique sur un bouton intitulé OccurrenceDeCaseACocher. La première ligne de code
crée un objet d’écoute intitulé form. La deuxième ligne définit une fonction pour l’événement
click sur l’objet d’écoute. La fonction comporte une action trace qui utilise l’objet événement
(ici objEvt) qui lui est automatiquement transmis pour générer un message. La propriété target
d’un objet événement est le composant ayant généré l’événement (dans cet exemple,
OccurrenceDeCaseACocher). L’utilisateur accède à la propriété CheckBox.selected à partir de
la propriété target de l’objet événement. La dernière ligne appelle la méthode
addEventListener() à partir de OccurrenceDeCaseACocher et lui transmet l’événement click
et l’objet d’écoute form comme paramètres, comme dans l’exemple suivant :
form = new Object();
form.click = function(objEvt){
trace("La propriété sélectionnée est passée à " + objEvt.target.selected);
}
OccurrenceDeCaseACocher.addEventListener("click", form);
Le code suivant envoie également un message au panneau de sortie lorsque l’utilisateur clique sur
OccurrenceDeCaseACocher. Le gestionnaire on() doit être directement lié à
OccurrenceDeCaseACocher, comme dans l’exemple suivant :
on(click){
trace("composant case à cocher cliqué");
}
Voir aussi
UIEventDispatcher.addEventListener()
96
Chapitre 4 : Dictionnaire des composants
CheckBox.label
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeCaseACocher.label
Description
Propriété : spécifie l’étiquette de texte pour la case à cocher. Par défaut, l’étiquette apparaît à
droite de la case à cocher. La définition de cette propriété remplace le paramètre d’étiquette
spécifié dans le panneau des paramètres de clip.
Exemple
Le code suivant définit le texte qui apparaît à côté du composant CheckBox et envoie la valeur au
panneau de sortie :
checkBox.label = "Supprimer de la liste";
trace(checkBox.label)
Voir aussi
CheckBox.labelPlacement
CheckBox.labelPlacement
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeCaseACocher.labelPlacement
Description
Propriété : une chaîne indiquant la position de l’étiquette par rapport à la case. Les quatre valeurs
possibles sont énumérées ci-dessous. Les pointillés représentent le cadre de délimitation du
composant ; ils sont invisibles dans un document.
•
"right"
•
"left" La case est verrouillée dans le coin supérieur droit du cadre de délimitation.
L’étiquette est placée à gauche de la case.
La case est verrouillée dans le coin supérieur gauche du cadre de délimitation.
L’étiquette est placée à droite de la case. Il s’agit de la valeur par défaut.
Composant CheckBox
97
•
"bottom"
•
"top" L’étiquette est placée au-dessus de la case. Le regroupement de la case et de l’étiquette
est centré horizontalement et verticalement.
L’étiquette est placée sous la case. Le regroupement de la case et de l’étiquette est
centré horizontalement et verticalement.
Vous pouvez modifier le cadre de délimitation du composant au cours de la programmation à
l’aide de la commande Transformer ou pendant l’exécution au moyen de la propriété
UIObject.setSize(). Pour plus d’informations, consultez Personnalisation du composant
CheckBox, page 93.
Exemple
Dans l’exemple suivant, l’étiquette est placée à gauche de la case à cocher :
checkBox_mc.labelPlacement = "left";
Voir aussi
CheckBox.label
CheckBox.selected
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeCaseACocher.selected
Description
Propriété : une valeur booléenne qui sélectionne (true) ou désélectionne (false) la case.
Exemple
L’exemple suivant sélectionne l’occurrence caseacocher1 :
caseacocher1.selected = true;
Composant ComboBox
Une liste déroulante peut être statique ou modifiable. Les listes déroulantes statiques permettent
aux utilisateurs d’effectuer une sélection unique dans une liste déroulante. Les listes déroulantes
modifiables permettent aux utilisateurs de saisir du texte directement dans une zone de texte en
haut de la liste et de sélectionner un élément. Si la liste déroulante touche le bas du document, elle
se déroule vers le haut au lieu de se dérouler vers le bas. Elle comporte trois sous-composants :
Button, TextInput et List.
98
Chapitre 4 : Dictionnaire des composants
Lorsqu’un élément est sélectionné dans la liste, son étiquette est copiée dans la zone de texte, en
haut de la liste déroulante. La méthode utilisée pour effectuer la sélection, souris ou clavier,
importe peu.
Un composant ComboBox reçoit le focus si vous cliquez sur la zone de texte ou sur le bouton.
Lorsqu’un composant ComboBox a le focus et peut être modifié, toutes les frappes de touches
vont dans la zone de texte et sont traitées selon les règles du composant TextInput (voir
Composant TextInput, page 545), à l’exception des touches suivantes :
Touche
Description
Contrôle+Bas
Ouvre la liste déroulante et lui donne le focus.
Maj +Tab
Place le focus sur l’objet précédent.
Tab
Place le focus sur l’objet suivant.
Lorsqu’un composant ComboBox statique a le focus, les frappes de touches alphanumériques
déplacent la sélection vers le haut et le bas de la liste déroulante pour atteindre l’élément suivant
commençant par le même caractère. Vous pouvez également utiliser les touches suivantes pour
contrôler une liste déroulante statique :
Touche
Description
Contrôle+Bas
Ouvre la liste déroulante et lui donne le focus.
Contrôle+Haut
Ferme la liste déroulante, si elle est ouverte dans les versions autonome et
navigateur de Flash Player.
Bas
La sélection se déplace d’un élément vers le bas.
Fin
La sélection se déplace jusqu’au bout de la liste.
Echap
Ferme la liste déroulante et renvoie le focus à la liste déroulante en mode de test
d’animation.
Entrée
Ferme la liste déroulante et place à nouveau le focus sur le composant
ComboBox.
Origine
La sélection se déplace jusqu’au sommet de la liste.
Pg. Suiv.
La sélection se déplace sur la page suivante.
Pg. Préc.
La sélection se déplace sur la page précédente.
Maj +Tab
Place le focus sur l’objet précédent.
Tab
Place le focus sur l’objet suivant.
Composant ComboBox
99
Lorsque la liste d’un composant liste déroulante a le focus, les frappes de touches
alphanumériques déplacent la sélection vers le haut et le bas de la liste déroulante pour atteindre
l’élément suivant commençant par le même caractère. Vous pouvez également utiliser les touches
suivantes pour contrôler une liste déroulante :
Touche
Description
Contrôle+Haut
Si la liste déroulante est ouverte, le focus retourne à la zone de texte et la liste
déroulante se ferme dans les versions autonome et navigateur de Flash Player.
Bas
La sélection se déplace d’un élément vers le bas.
Fin
Le point d’insertion est placé à la fin de la zone de texte.
Entrée
Si la liste déroulante est ouverte, le focus retourne à la zone de texte et la liste se
ferme.
Echap
Si la liste déroulante est ouverte, le focus retourne à la zone de texte et la liste
déroulante se ferme en mode de test d’animation.
Origine
Le point d’insertion est placé au début de la zone de texte.
Pg. Suiv.
La sélection se déplace sur la page suivante.
Pg. Préc.
La sélection se déplace sur la page précédente.
Tab
Place le focus sur l’objet suivant.
Maj-Fin
Sélectionne le texte compris entre le point d’insertion et la fin de la zone de
texte.
Maj-Origine
Sélectionne le texte compris entre le point d’insertion et le début de la zone de
texte.
Maj-Tab
Place le focus sur l’objet précédent.
Haut
La sélection se déplace d’un élément vers le haut.
Remarque : La taille de page utilisée par les touches Page précédente et Page suivante correspond
au nombre d’éléments contenus dans l’affichage, moins un. Par exemple, le passage à la page
suivante dans une liste déroulante à dix lignes affichera les éléments 0-9, 9-18, 18-27, etc., avec un
élément commun par page.
Pour plus d’informations sur le contrôle du focus, consultez Création de la navigation personnalisée
du focus, page 27 ou Classe FocusManager, page 287.
L’aperçu en direct de chaque occurrence de composant ComboBox sur la scène reflète les
modifications apportées aux paramètres dans le panneau de l’inspecteur des propriétés ou des
composants au cours de la programmation. Cependant, la liste déroulante ne s’ouvre pas en
aperçu en direct et le premier élément apparaît comme étant l’élément sélectionné.
Lorsque vous ajoutez le composant ComboBox à une application, vous pouvez utiliser le panneau
Accessibilité pour le rendre disponible aux lecteurs de l’écran. Vous devez d’abord ajouter la ligne
de code suivante pour activer l’accessibilité :
mx.accessibility.ComboBoxAccImpl.enableAccessibility();
Vous n’activez l’accessibilité d’un composant qu’une fois, quel que soit son nombre d’occurrences.
Pour plus d’informations, consultez « Création de contenu accessible », dans le guide Utilisation
de Flash de l’aide.
100
Chapitre 4 : Dictionnaire des composants
Utilisation du composant ComboBox
Vous pouvez utiliser un composant ComboBox dans n’importe quel formulaire ou application
nécessitant un choix unique dans une liste. Par exemple, vous pouvez fournir une liste déroulante
de départements dans un formulaire où les clients devront saisir leur adresse. Vous pouvez utiliser
une liste déroulante modifiable pour plusieurs scénarios complexes. Par exemple, dans une
application d’itinéraire routier, vous pouvez utiliser une liste déroulante modifiable pour que
l’utilisateur y saisisse ses adresses de départ et d’arrivée. La liste déroulante pourrait alors contenir
des adresses déjà saisies.
Paramètres du composant ComboBox
Les paramètres suivants sont des paramètres de programmation que vous pouvez définir pour
chaque occurrence de composant ComboBox dans le panneau de l’inspecteur des propriétés ou
des composants :
détermine si le composant ComboBox est modifiable (true) ou uniquement
sélectionnable (false). La valeur par défaut est false.
editable
labels remplit
le composant ComboBox par un tableau de valeurs de texte.
data associe une valeur de données avec chaque élément du composant ComboBox. Le paramètre
data est un tableau.
rowCount définit le nombre maximum d’éléments pouvant être affichés simultanément sans
utiliser une barre de défilement. La valeur par défaut est 5.
Vous pouvez rédiger des instructions ActionScript pour définir d’autres options pour les
occurrences ComboBox à l’aide des méthodes, des propriétés et des événements de la classe
ComboBox. Pour plus d’informations, consultez Classe ComboBox.
Création d’une application avec le composant ComboBox
La procédure suivante explique comment ajouter un composant ComboBox à une application au
cours de la programmation. Dans cet exemple, la liste déroulante présente des villes.
Pour créer une application avec le composant ComboBox, procédez comme suit :
1 Faites glisser un composant ComboBox du panneau Composants jusqu’à la scène.
2 Sélectionnez l’outil Transformer et redimensionnez le composant sur la scène.
La liste déroulante peut uniquement être redimensionnée sur la scène au cours de la
programmation. En général, on ne modifie que la largeur pour que les entrées soient
correctement affichées dans la liste.
3 Sélectionnez la liste déroulante et, dans l’inspecteur des propriétés, saisissez le nom d’occurrence
comboBox.
4 Dans le panneau de l’inspecteur des composants ou des propriétés, procédez comme suit :
■ Saisissez Paris, Bordeaux et Lyon pour le paramètre de l’étiquette. Double-cliquez sur le
champ du paramètre de l’étiquette afin d’ouvrir la boîte de dialogue Valeurs. Cliquez ensuite
sur le signe plus pour ajouter des éléments.
■ Saisissez IDF.swf, AQU.swf et RA.swf pour le paramètre des données.
Il s’agit des fichiers SWF imaginaires qui peuvent par exemple être chargés lorsqu’un
utilisateur sélectionne une ville dans la liste déroulante.
Composant ComboBox
101
5 Choisissez l’image 1 dans le scénario, ouvrez le panneau Actions et saisissez le code suivant :
form = new Object();
form.change = function (evt){
trace(evt.target.selectedItem.label);
}
ComboBox.addEventListener("change", form);
La dernière ligne de code ajoute un gestionnaire d’événements change à l’occurrence
ComboBox. Pour plus d’informations, consultez ComboBox.change.
Personnalisation du composant ComboBox
Vous pouvez transformer un composant ComboBox horizontalement et verticalement au cours de
la programmation. Lors de la programmation, choisissez le composant sur la scène et utilisez
l’outil Transformer librement ou une commande de modification > transformation.
Si le texte est trop long pour tenir dans la liste déroulante, il est coupé. Vous devez
redimensionner la liste déroulante au cours de la programmation pour que le texte de l’étiquette
tienne dans l’espace fourni.
Dans les listes déroulantes modifiables, le bouton est la seule zone active ; la zone de texte ne l’est
pas. Pour les listes déroulantes statiques, le bouton et la liste déroulante constituent la zone active.
Utilisation de styles avec le composant ComboBox
Vous pouvez définir des propriétés de style afin de modifier l’aspect d’un composant ComboBox.
Si le nom d’une propriété de style se termine par « Color », il s’agit d’une propriété de style de
couleur qui se comporte différemment des autres propriétés de style. Pour plus d’informations,
consultez Utilisation des styles pour personnaliser la couleur et le texte des composants, page 29.
La liste déroulante a deux styles uniques. Les autres styles sont passés au bouton, à la zone de texte
et à la liste par le biais de ces composants individuels, de la manière suivante :
• Le bouton est une occurrence Button et en utilise les styles. Pour plus d’informations,
•
•
consultez Utilisation de styles avec le composant Button, page 74.
Le texte est une occurrence TextInput et en utilise les styles. Pour plus d’informations,
consultez Utilisation des styles avec le composant TextInput, page 547.
La liste est une occurrence List et en utilise les styles. Pour plus d’informations, consultez
Utilisation des styles avec le composant List, page 308.
Les composants ComboBox utilisent les styles Halo suivants :
102
Style
Description
themeColor
Arrière-plan d’un composant. Il s’agit du seul style de couleur qui
n’hérite pas de sa valeur. "haloGreen", "haloBlue" et "haloOrange"
sont des valeurs possibles.
color
Texte d’une étiquette de composant.
disabledColor
Couleur désactivée pour du texte.
fontFamily
Nom de police pour du texte.
fontSize
Taille en points pour la police.
fontStyle
Style de police : "normal" ou "italic".
Chapitre 4 : Dictionnaire des composants
Style
Description
fontWeight
Epaisseur de la police : "normal" ou "bold".
textDecoration
Décoration du texte : "none" ou "underline".
openDuration
Le nombre de millisecondes nécessaires à l’ouverture de la liste
déroulante. La valeur par défaut est 250.
openEasing
Référence pour une fonction d’interpolation qui contrôle l’animation
de la liste déroulante. Par défaut sine in/out. Pour d’autres équations,
téléchargez une liste sur le site web de Robert Penner, à l’adresse
www.robertpenner.com/easing/.
Utilisation d’enveloppes avec le composant ComboBox
Le composant ComboBox utilise les symboles du panneau Bibliothèque pour représenter les états
des boutons. Il possède des variables d’enveloppe pour la flèche vers le bas. Il utilise aussi des
enveloppes de barre de défilement et de liste. Pour appliquer une enveloppe au composant
ComboBox au cours de la programmation, modifiez les symboles dans le panneau Bibliothèque et
réexportez le composant en tant que fichier SWC. Les enveloppes du composant CheckBox sont
situées dans le dossier Flash UI Components 2/Themes/MMDefault/ComboBox Assets/states de
la bibliothèque du fichier HaloTheme.fla ou du fichier SampleTheme.fla. Pour plus
d’informations, consultez A propos de l’application des enveloppes aux composants, page 38.
Les composants ComboBox utilisent les propriétés d’enveloppe suivantes :
Propriété
Description
ComboDownArrowDisabledName Etat désactivé de la flèche bas. La propriété par défaut est
RectBorder.
ComboDownArrowDownName
Etat Enfoncé de la flèche bas. La propriété par défaut est RectBorder.
ComboDownArrowUpName
Etat Relevé de la flèche bas. La propriété par défaut est RectBorder.
ComboDownArrowOverName
Etat Survolé de la flèche bas. La propriété par défaut est RectBorder.
Classe ComboBox
Héritage
UIObject > UIComponent > ComboBase > ComboBox
Nom de classe ActionScript
mx.controls.ComboBox
Le composant ComboBox associe trois sous-composants séparés : Button, TextInput et List. La
plupart des API des sous-composants sont disponibles directement à partir du composant
ComboBox et sont répertoriées dans les tables Méthode, Propriété et Evénement de la classe
ComboBox.
La liste du composant ComboBox est fournie sous la forme d’un tableau ou d’un objet
DataProvider. Si vous utilisez un objet DataProvider, la liste change lors de l’exécution. La source
des données ComboBox peut être modifiée dynamiquement en passant à un nouveau tableau ou
objet DataProvider.
Composant ComboBox
103
Les éléments d’une liste déroulante sont indexés par position, en commençant par le chiffre 0. Les
éléments peuvent être les suivants :
• Un type de données de base.
• Un objet contenant une propriété label et une propriété data.
Remarque : Un objet peut utiliser la propriété ComboBox.labelFunction ou ComboBox.labelField
pour déterminer la propriété label.
Si l’élément est un type de données de base différent d’une chaîne, il est converti en chaîne. Si
l’élément est un objet, la propriété label doit être une chaîne et la propriété data peut avoir
n’importe quelle valeur ActionScript.
Les méthodes du composant ComboBox auxquelles vous fournissez des éléments ont deux
paramètres, label et datas, qui se réfèrent aux propriétés ci-dessus. Les méthodes qui renvoient un
élément le renvoient en tant qu’objet.
Toutes les classes de composants ont une propriété version qui correspond à une propriété de
classe. Les propriétés de classe sont uniquement disponibles sur la classe elle-même. La propriété
version renvoie une chaîne qui indique la version du composant. Pour accéder à la propriété
version, utilisez le code suivant :
trace(mx.controls.ComboBox.version);
Remarque : Le code suivant renvoie la valeur undefined :
trace(monOccurrenceDeListeDéroulante.version);.
Méthodes de la classe ComboBox
Propriété
Description
ComboBox.addItem()
Ajoute un élément à la fin de la liste.
ComboBox.addItemAt()
Ajoute un élément à la fin de la liste, à l’emplacement d’index spécifié.
ComboBox.close()
Ferme la liste déroulante.
ComboBox.getItemAt()
Renvoie l’élément à l’emplacement d’index spécifié.
ComboBox.open()
Ouvrez la liste déroulante.
ComboBox.removeAll()
Supprime tous les éléments de la liste.
ComboBox.removeItemAt()
Supprime un élément de la liste à l’emplacement spécifié.
ComboBox.replaceItemAt()
Remplace un élément de la liste par un autre élément spécifié.
Hérite de toutes les méthodes des classes UIObject et UIComponent.
Propriétés de la classe ComboBox
104
Propriété
Description
ComboBox.dataProvider
Modèle de données pour les éléments de la liste.
ComboBox.dropdown
Renvoie une référence au composant List contenu dans ComboBox.
ComboBox.dropdownWidth
La largeur de la liste déroulante, en pixels.
ComboBox.editable
Indique si un composant ComboBox est modifiable ou non.
Chapitre 4 : Dictionnaire des composants
Propriété
Description
ComboBox.labelField
Indique le champ de données à utiliser en tant qu’étiquette pour la
liste déroulante.
ComboBox.labelFunction
Spécifie une fonction pour calculer le champ de l’étiquette pour la
liste déroulante.
ComboBox.length
Lecture seule. La longueur de la liste déroulante.
ComboBox.rowCount
Le nombre maximal d’éléments de la liste à afficher au même
moment.
ComboBox.selectedIndex
L’index de l’élément sélectionné dans la liste déroulante.
ComboBox.selectedItem
La valeur de l’élément sélectionné dans la liste déroulante.
ComboBox.text
La chaîne de texte dans la zone de texte.
ComboBox.textField
Référence au composant TextInput dans la liste déroulante.
ComboBox.value
La valeur de la zone de texte (modifiable) ou de la liste déroulante
(statique).
Hérite de toutes les propriétés des classes UIObject et UIComponent.
Evénements de la classe ComboBox
Evénement
Description
ComboBox.change
Diffusé lorsque la valeur de la liste déroulante change suite à
l’interaction d’un utilisateur.
ComboBox.close
Diffusé lorsque la liste déroulante commence à se fermer.
ComboBox.enter
Diffusé lorsque la touche Entrée est enfoncée.
ComboBox.itemRollOut
Diffusé lorsque le pointeur survole un élément dans une liste
déroulante.
ComboBox.itemRollOver
Diffusé lorsqu’un élément de liste déroulante est survolé.
ComboBox.open
Diffusé lorsque la liste déroulante commence à s’ouvrir.
ComboBox.scroll
Diffusé lorsque la liste déroulante est manipulée.
Hérite de tous les événements des classes UIObject et UIComponent.
Composant ComboBox
105
ComboBox.addItem()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
OccurrenceDeListeDéroulante.addItem(étiquette[, données])
Usage 2 :
OccurrenceDeListeDéroulante.addItem({label:étiquette[, data:données]})
Usage 3 :
OccurrenceDeListeDéroulante.addItem(obj);
Paramètres
étiquette
Chaîne indiquant l’étiquette du nouvel élément.
Données de l’élément ; il peut s’agir de n’importe quel type de données. Ce paramètre
est facultatif.
données
obj
Objet possédant une propriété label et une propriété data facultative.
Renvoie
L’index auquel l’élément est ajouté.
Description
Méthode : ajoute un nouvel élément à la fin de la liste.
Exemple
Le code suivant ajoute un élément à l’occurrence maListeDéroulante :
maListeDéroulante.addItem("il s’agit d’un élément");
ComboBox.addItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeListeDéroulante.addItemAt(index, étiquette [, données])
Paramètres
Nombre 0 ou supérieur indiquant la position à laquelle insérer l’élément (l’index du
nouvel élément).
index
106
Chapitre 4 : Dictionnaire des composants
étiquette
Chaîne indiquant l’étiquette du nouvel élément.
Données de l’élément ; il peut s’agir de n’importe quel type de données. Ce paramètre
est facultatif.
données
Renvoie
L’index auquel l’élément est ajouté.
Description
Méthode : ajoute un nouvel élément à la fin de la liste, à l’emplacement d’index spécifié par le
paramètre index. Les index supérieurs à ComboBox.length sont ignorés.
Exemple
Le code suivant insère un élément à l’index 3, qui correspond à la quatrième place dans la liste
déroulante (0 étant la première position) :
monChamp.addItemAt(3, "c’est le quatrième élément");
ComboBox.change
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(change){
// votre code ici
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.change = function(objetEvt){
// votre code ici
}
OccurrenceDeListeDéroulante.addEventListener("change", objetDécoute)
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsque la valeur de la liste déroulante change
suite à l’interaction d’un utilisateur.
Le premier exemple d’utilisation fait appel au gestionnaire on() et doit être associé directement à
une occurrence de composant ComboBox. Le mot-clé this, utilisé dans un gestionnaire on() lié
à un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, lié à
l’occurrence de composant ComboBox monChamp, envoie « _level0.monChamp » au panneau
Sortie :
on(change){
trace(this);
}
Composant ComboBox
107
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (occurrenceDeListeDéroulante) distribue un événement (dans ce
cas, change) qui est géré par une fonction (également appelée gestionnaire) sur un objet d’écoute
(objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour finir, vous appelez la méthode addEventListener() (consultez
UIEventDispatcher.addEventListener()) sur l’occurrence de composant qui diffuse
l’événement afin d’enregistrer l’écouteur dans cette occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
L’exemple suivant envoie le nom de l’occurrence du composant ayant généré l’événement change
au panneau de sortie :
form.change = function(objEvt){
trace("Valeur passée à " + objEvt.target.value);
}
maListeDéroulante.addEventListener("change", form);
Voir aussi
UIEventDispatcher.addEventListener()
ComboBox.close()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
maListeDéroulante.close()
Paramètres
Aucun.
Renvoie
Rien.
Description
Méthode : ferme la liste déroulante.
108
Chapitre 4 : Dictionnaire des composants
Exemple
L’exemple suivant ferme la liste déroulante du composant ComboBox monChamp :
monChamp.close();
Voir aussi
ComboBox.open()
ComboBox.close
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(close){
// votre code ici
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.close = function(objetEvt){
// votre code ici
}
OccurrenceDeListeDéroulante.addEventListener("close", objetDécoute)
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsque la liste déroulante commence à se
fermer.
Le premier exemple d’utilisation fait appel au gestionnaire on() et doit être associé directement à
une occurrence de composant ComboBox. Le mot-clé this, utilisé dans un gestionnaire on() lié
à un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, lié à
l’occurrence de composant ComboBox monChamp, envoie « _level0.monChamp » au panneau
Sortie :
on(close){
trace(this);
}
Composant ComboBox
109
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (occurrenceDeListeDéroulante) distribue un événement (dans ce
cas, close) qui est géré par une fonction (également appelée gestionnaire) sur un objet d’écoute
(objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour finir, vous appelez la méthode addEventListener() sur
l’occurrence de composant qui diffuse l’événement pour enregistrer l’écouteur avec l’occurrence.
Lorsque l’occurrence distribue l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
L’exemple suivant envoie un message au panneau de sortie lorsque la liste déroulante commence à
se fermer :
form.close = function(){
trace("La liste déroulante est fermée");
}
maListeDéroulante.addEventListener("close", form);
Voir aussi
UIEventDispatcher.addEventListener()
ComboBox.dataProvider
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeListeDéroulante.dataProvider
Description
Propriété : modèle de données pour les éléments affichés dans une liste. La valeur de cette
propriété peut être un tableau ou n’importe quel objet implémentant l’interface DataProvider. La
valeur par défaut est []. Il s’agit d’une propriété du composant List, mais à laquelle il est possible
d’accéder directement à partir d’une occurrence du composant ComboBox.
Le composant List et les autres composants de données ajoutent des méthodes au prototype de
l’objet tableau pour être conformes à l’interface DataProvider (consultez DataProvider.as pour
plus d’informations). Tout tableau qui existe parallèlement en tant que liste a donc
automatiquement toutes les méthodes (addItem(), getItemAt(), etc.) nécessaires pour être le
modèle d’une liste et peut être utilisé pour diffuser les changements de modèle vers plusieurs
composants.
110
Chapitre 4 : Dictionnaire des composants
Si le tableau contient des objets, on accède aux propriétés labelField ou labelFunction pour
déterminer quelles parties de l’élément doivent être affichées. La valeur par défaut étant "label",
si un champ de ce type existe, il est choisi pour être affiché ; dans le cas contraire, une liste de tous
les champs séparés par une virgule est affichée.
Remarque : Si le tableau contient des chaînes et aucun objet à tous les emplacements d’index, la
liste ne peut pas trier les éléments et conserver l’état de sélection. Le tri entraîne la perte de la
sélection.
Toutes les occurrences implémentant l’interface DataProvider peuvent être choisies comme
fournisseurs de données pour une liste. Cela inclut Flash Remoting RecordSets, Firefly DataSets,
etc.
Exemple
Cet exemple utilise un tableau de chaînes utilisé pour remplir la liste déroulante :
comboBox.dataProvider = ["Expédition terrestre","Surlendemain, par
avion","Lendemain, par avion"];
Cet exemple crée un tableau fournisseur de données et lui affecte la propriété dataProvider,
comme suit :
monFD = new Array();
list.dataProvider = monFD;
for (var i=0; i<accounts.length; i++) {
// ces modifications apportées à DataProvider seront diffusées dans la liste
monFD.addItem({ label: accounts[i].name,
data: accounts[i].accountID });
}
ComboBox.dropdown
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
maListeDéroulante.dropdown
Description
Propriété (lecture seule) : renvoie une référence au composant List contenu dans ComboBox. Le
sous-composant List n’est instancié dans le composant ComboBox que lorsqu’il doit être affiché.
En revanche, dès que vous accédez à la propriété dropdown, la liste est créée.
Voir aussi
ComboBox.dropdownWidth
Composant ComboBox
111
ComboBox.dropdownWidth
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
maListeDéroulante.change
Description
Propriété : limite de la largeur en pixels pour la liste déroulante. La valeur par défaut est la largeur
du composant ComboBox (l’occurrence TextInput plus l’occurrence SimpleButton).
Exemple
Le code suivant définit dropdownWidth à 150 pixels :
maListeDéroulante.dropdownWidth = 150;
Voir aussi
ComboBox.dropdown
ComboBox.editable
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
maListeDéroulante.editable
Description
Propriété : indique si la liste déroulante est modifiable (true) ou non (false). Un composant
ComboBox modifiable peut comporter des valeurs saisies dans la zone de texte mais qui ne seront
pas affichées dans la liste déroulante. Si un composant ComboBox n’est pas modifiable, seules les
valeurs répertoriées dans la liste déroulante peuvent être entrées dans la zone de texte. La valeur
par défaut est false.
La définition d’une nouvelle valeur dans une liste déroulante modifiable efface ce que contenait le
champ de texte de la liste déroulante. Elle définit également l’index (et l’élément) sélectionné sur
undefined. Pour rendre une liste déroulante modifiable tout en conservant l’élément sélectionné,
utilisez le code suivant :
var ix = maListeDéroulante.selectedIndex;
maListeDéroulante.editable = true; // efface le texte dans le champ de texte.
maListeDéroulante.selectedIndex = ix; // copie de nouveau l’étiquette dans le
champ de texte.
112
Chapitre 4 : Dictionnaire des composants
Exemple
Le code suivant rend maListeDéroulante modifiable :
maListeDéroulante.editable = true;
ComboBox.enter
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(enter){
// votre code ici
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.enter = function(objetEvt){
// votre code ici
}
OccurrenceDeListeDéroulante.addEventListener("enter", objetDécoute)
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsque la touche Entrée est enfoncée dans la
zone de texte. Cet événement est uniquement diffusé à partir des listes déroulantes modifiables. Il
s’agit d’un événement TextInput diffusé à partir d’une liste déroulante. Pour plus d’informations,
consultez TextInput.enter.
Le premier exemple d’utilisation fait appel au gestionnaire on() et doit être associé directement à
une occurrence de composant ComboBox. Le mot-clé this, utilisé dans un gestionnaire on() lié
à un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, lié à
l’occurrence de composant ComboBox monChamp, envoie « _level0.monChamp » au panneau
Sortie :
on(enter){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (occurrenceDeListeDéroulante) distribue un événement (dans ce
cas, enter) qui est géré par une fonction (également appelée gestionnaire) sur un objet d’écoute
(objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour finir, vous appelez la méthode addEventListener() sur
l’occurrence de composant qui diffuse l’événement pour enregistrer l’écouteur avec l’occurrence.
Lorsque l’occurrence distribue l’événement, l’écouteur approprié est appelé.
Composant ComboBox
113
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
L’exemple suivant envoie un message au panneau de sortie lorsque la liste déroulante commence à
se fermer :
form.enter = function(){
trace("L’événement enter de la liste déroulante a été déclenché");
}
maListe.addEventListener("enter", form);
Voir aussi
UIEventDispatcher.addEventListener()
ComboBox.getItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeListeDéroulante.getItemAt(index)
Paramètres
Nombre supérieur ou égal à 0 et inférieur à ComboBox.length. Index de l’élément à
récupérer.
index
Renvoie
Valeur ou objet d’élément indexé. La valeur n’est pas définie si l’index est en dehors des limites.
Description
Méthode : récupère l’élément à l’emplacement d’index spécifié.
Exemple
Le code suivant affiche l’élément à l’emplacement d’index 4 :
trace(monChamp.getItemAt(4).label);
114
Chapitre 4 : Dictionnaire des composants
ComboBox.itemRollOut
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(itemRollOut){
// votre code ici
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.itemRollOut = function(objetEvt){
// votre code ici
}
OccurrenceDeListeDéroulante.addEventListener("itemRollOut", objetDécoute)
Objet événement
Outre les propriétés standard de l’objet événement, l’événement itemRollOut possède une
propriété supplémentaire : index. L’index correspond au numéro de l’élément à la sortie du
survol.
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsque le pointeur cesse de survoler les
éléments de la liste déroulante. Il s’agit d’un événement List diffusé à partir d’une liste déroulante.
Pour plus d’informations, consultez List.itemRollOut.
Le premier exemple d’utilisation fait appel au gestionnaire on() et doit être associé directement à
une occurrence de composant ComboBox. Le mot-clé this, utilisé dans un gestionnaire on() lié
à un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, lié à
l’occurrence de composant ComboBox monChamp, envoie « _level0.monChamp » au panneau
Sortie :
on(itemRollOut){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (occurrenceDeListeDéroulante) distribue un événement (dans ce
cas, itemRollOut) qui est géré par une fonction (également appelée gestionnaire) sur un objet
d’écoute (objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour plus d’informations sur les objets événement, consultez Objets
événement, page 592.
Composant ComboBox
115
Pour finir, vous appelez la méthode addEventListener() sur l’occurrence de composant qui
diffuse l’événement pour enregistrer l’écouteur avec l’occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Exemple
L’exemple suivant envoie un message au panneau de sortie indiquant le numéro d’index à la sortie
du survol :
form.itemRollOut = function (objEvt) {
trace("Item #" + objEvt.index + " à la sortie du survol.");
}
maListe.addEventListener("itemRollOut", form);
Voir aussi
ComboBox.itemRollOver, UIEventDispatcher.addEventListener()
ComboBox.itemRollOver
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(itemRollOver){
// votre code ici
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.itemRollOver = function(objetEvt){
// votre code ici
}
OccurrenceDeListeDéroulante.addEventListener("itemRollOver", objetDécoute)
Objet événement
Outre les propriétés standard de l’objet événement, l’événement itemRollOver possède une
propriété supplémentaire : index. L’index est le numéro de l’élément survolé par le pointeur.
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsque les éléments de la liste déroulante sont
survolés. Il s’agit d’un événement List diffusé à partir d’une liste déroulante. Pour plus
d’informations, consultez List.itemRollOver.
116
Chapitre 4 : Dictionnaire des composants
Le premier exemple d’utilisation fait appel au gestionnaire on() et doit être associé directement à
une occurrence de composant ComboBox. Le mot-clé this, utilisé dans un gestionnaire on() lié
à un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, lié à
l’occurrence de composant ComboBox monChamp, envoie « _level0.monChamp » au panneau
Sortie :
on(itemRollOver){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (occurrenceDeListeDéroulante) distribue un événement (dans ce
cas, itemRollOver) qui est géré par une fonction (également appelée gestionnaire) sur un objet
d’écoute (objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour plus d’informations sur les objets événement, consultez Objets
événement, page 592.
Pour finir, vous appelez la méthode addEventListener() sur l’occurrence de composant qui
diffuse l’événement pour enregistrer l’écouteur avec l’occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Exemple
L’exemple suivant envoie un message au panneau de sortie indiquant le numéro d’index survolé
par le pointeur :
form.itemRollOver = function (objEvt) {
trace("Item #" + objEvt.index + " survolé.");
}
maListe.addEventListener("itemRollOver", form);
Voir aussi
ComboBox.itemRollOut, UIEventDispatcher.addEventListener()
Composant ComboBox
117
ComboBox.labelField
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
maListeDéroulante.labelField
Description
Propriété : le nom du champ dans les objets du tableau dataProvider à utiliser comme champ
d’étiquette. Il s’agit de la propriété du composant List disponible à partir d’une occurrence de
composant ComboBox. Pour plus d’informations, consultez List.labelField.
La valeur par défaut est undefined.
Exemple
L’exemple suivant définit la propriété dataProvider sur un tableau de chaînes et configure la
propriété labelField afin d’indiquer que le champ nom doit être utilisé comme étiquette pour la
liste déroulante :
maListeDéroulante.dataProvider = [
{name:"Gabriel", gender:"masculin"},
{name:"Susanne", gender:"féminin"} ];
maListeDéroulante.labelField = "nom";
Voir aussi
List.labelFunction
ComboBox.labelFunction
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
maListeDéroulante.labelFunction
Description
Propriété : fonction qui calcule l’étiquette d’un objet dataProvider. Vous devez définir la fonction.
La valeur par défaut est undefined.
118
Chapitre 4 : Dictionnaire des composants
Exemple
L’exemple suivant crée un fournisseur de données, puis définit une fonction afin de spécifier
l’objet à utiliser comme étiquette dans la liste déroulante :
maListeDéroulante.dataProvider = [
{firstName:"Nicolas", lastName:"Petit", age:"très jeune"},
{firstName:"Gabriel", lastName:"Grosjean", age:"jeune"},
{firstName:"Christian", lastName:"Valoin", age:"âgé"},
{firstName:"Grégoire", lastName:"Martin", age:"très âgé"} ];
maListeDéroulante.labelFunction = function(itemObj){
return (itemObj.lastName + ", " + itemObj.firstName);
}
Voir aussi
List.labelField
ComboBox.length
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
maListeDéroulante.length
Description
Propriété (lecture seule) : longueur de la liste déroulante. Il s’agit d’une propriété du composant
List disponible à partir d’une occurrence de composant ComboBox. Pour plus d’informations,
consultez List.length. La valeur par défaut est 0.
Exemple
L’exemple suivant stocke la valeur de length dans une variable :
dropdownItemCount = monChamp.length;
ComboBox.open()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
maListeDéroulante.open()
Paramètres
Aucun.
Composant ComboBox
119
Renvoie
Rien.
Description
Propriété : ouvre la liste déroulante.
Exemple
Le code suivant ouvre la liste déroulante pour l’occurrence combo1 :
combo1.open();
Voir aussi
ComboBox.close()
ComboBox.open
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(open){
// votre code ici
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.open = function(objetEvt){
// votre code ici
}
OccurrenceDeListeDéroulante.addEventListener("open", objetDécoute)
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsque la liste déroulante commence à
apparaître.
Le premier exemple d’utilisation fait appel au gestionnaire on() et doit être associé directement à
une occurrence de composant ComboBox. Le mot-clé this, utilisé dans un gestionnaire on() lié
à un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, lié à
l’occurrence de composant ComboBox monChamp, envoie « _level0.monChamp » au panneau
Sortie :
on(open){
trace(this);
}
120
Chapitre 4 : Dictionnaire des composants
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (occurrenceDeListeDéroulante) distribue un événement (dans ce
cas, open) qui est géré par une fonction (également appelée gestionnaire) sur un objet d’écoute
(objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour plus d’informations sur les objets événement, consultez Objets
événement, page 592.
Pour finir, vous appelez la méthode addEventListener() sur l’occurrence de composant qui
diffuse l’événement pour enregistrer l’écouteur avec l’occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Exemple
L’exemple suivant envoie un message au panneau de sortie indiquant le numéro d’index qui vient
d’être survolé par le pointeur :
form.open = function () {
trace("La liste déroulante s’est ouverte avec le texte " + monChamp.text);
}
monChamp.addEventListener("open", form);
Voir aussi
ComboBox.close, UIEventDispatcher.addEventListener()
ComboBox.removeAll()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeListeDéroulante.removeAll()
Paramètres
Aucun.
Renvoie
Rien.
Description
Méthode : supprime tous les éléments de la liste. Il s’agit d’une propriété du composant List
disponible à partir d’une occurrence de composant ComboBox.
Composant ComboBox
121
Exemple
Le code suivant supprime tous les éléments de la liste :
maListeDéroulante.removeAll();
Voir aussi
ComboBox.removeItemAt(), ComboBox.replaceItemAt()
ComboBox.removeItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceListe.removeItemAt(index)
Paramètres
index
Nombre indiquant la position de l’élément à supprimer. Cette valeur est basée sur zéro.
Renvoie
Un objet : l’élément supprimé (undefined si aucun élément n’existe).
Description
Méthode : supprime un élément à l’emplacement d’index indiqué. Un index disparaît parmi les
index de la liste situés après l’index indiqué par le paramètre index. Il s’agit d’une propriété du
composant List disponible à partir d’une occurrence de composant ComboBox.
Exemple
Le code suivant supprime l’élément à l’emplacement d’index 3 :
maListeDéroulante.removeItemAt(3);
Voir aussi
ComboBox.removeAll(), ComboBox.replaceItemAt()
ComboBox.replaceItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeListeDéroulante.replaceItemAt(index, étiquette [,données])
122
Chapitre 4 : Dictionnaire des composants
Paramètres
Nombre 0 ou supérieur indiquant la position à laquelle insérer l’élément (l’index du
nouvel élément).
index
étiquette
données
Chaîne indiquant l’étiquette du nouvel élément.
Données de l’élément. Ce paramètre est facultatif.
Renvoie
Rien.
Description
Méthode : remplace le contenu de l’élément à l’emplacement d’index spécifié par le paramètre
index. Il s’agit d’une méthode du composant List disponible à partir d’une occurrence de
composant ComboBox.
Exemple
L’exemple suivant modifie la troisième place d’index :
maListeDéroulante.replaceItemAt(3, "new label");
Voir aussi
ComboBox.removeAll(), ComboBox.removeItemAt()
ComboBox.rowCount
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
maListeDéroulante.rowCount
Description
Propriété : nombre maximal de rangées visibles dans la liste déroulante. La valeur par défaut est 5.
Si le nombre d’éléments de la liste déroulante est supérieur ou égal à la propriété rowCount, la liste
est redimensionnée et une barre de défilement est affichée si nécessaire. Si la liste déroulante
contient un nombre d’éléments inférieur par rapport à la propriété rowCount, elle est
redimensionnée en fonction du nombre d’éléments contenus.
Ce comportement est différent du composant List, qui affiche toujours le nombre de rangées
spécifié par sa propriété rowCount, même en cas d’espaces vides.
Si la valeur est négative ou décimale, le comportement n’est pas défini.
Exemple
L’exemple suivant spécifie que la liste déroulante doit contenir un maximum de 20 rangées
visibles :
maListeDéroulante.rowCount = 20;
Composant ComboBox
123
ComboBox.scroll
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(scroll){
// votre code ici
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.scroll = function(objetEvt){
// votre code ici
}
OccurrenceDeListeDéroulante.addEventListener("scroll", objetDécoute)
Objet événement
Outre les propriétés standard de l’objet événement, l’événement scroll possède une propriété
supplémentaire : direction. Il s’agit d’une chaîne ayant deux valeurs possibles : "horizontal" ou
"vertical". Pour un événement scroll ComboBox, la valeur est toujours "vertical".
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsque la liste déroulante défile. Il s’agit d’un
événement de composant List disponible pour le composant ComboBox.
Le premier exemple d’utilisation fait appel au gestionnaire on() et doit être associé directement à
une occurrence de composant ComboBox. Le mot-clé this, utilisé dans un gestionnaire on() lié
à un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, lié à
l’occurrence de composant ComboBox monChamp, envoie « _level0.monChamp » au panneau
Sortie :
on(scroll){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (occurrenceDeListeDéroulante) distribue un événement (dans ce
cas, scroll) qui est géré par une fonction (également appelée gestionnaire) sur un objet d’écoute
(objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour plus d’informations sur les objets événement, consultez Objets
événement, page 592.
124
Chapitre 4 : Dictionnaire des composants
Pour finir, vous appelez la méthode addEventListener() sur l’occurrence de composant qui
diffuse l’événement pour enregistrer l’écouteur avec l’occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Exemple
L’exemple suivant envoie un message au panneau de sortie indiquant le numéro d’index atteint :
form.scroll = function(objEvt){
trace("La liste affiche l’élément " + objEvt.target.vPosition);
}
maListeDéroulante.addEventListener("scroll", form);
Voir aussi
UIEventDispatcher.addEventListener()
ComboBox.selectedIndex
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
maListeDéroulante.selectedIndex
Description
Propriété : l’index (numéro) de l’élément sélectionné dans la liste déroulante. La valeur par défaut
est 0. L’affectation de cette propriété provoque la suppression de l’élément sélectionné, entraîne la
sélection de l’élément indiqué et affiche l’étiquette de l’élément sélectionné dans la zone de texte
du composant ComboBox.
L’affectation d’un selectedIndex en dehors des limites est ignorée. La saisie de texte dans le
champ de texte d’une liste déroulante modifiable définit selectedIndex sur undefined.
Exemple
Le code suivant sélectionne le dernier élément de la liste :
maListeDéroulante.selectedIndex = maListeDéroulante.length-1;
Voir aussi
ComboBox.selectedItem
Composant ComboBox
125
ComboBox.selectedItem
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
maListeDéroulante.selectedItem
Description
Propriété : valeur de l’élément sélectionné dans la liste déroulante.
Si la liste déroulante est modifiable, selectedItem renvoie la valeur "undefined" si vous saisissez
du texte dans la zone de texte. Il n’y a de valeur que si vous sélectionnez un élément dans la liste
déroulante ou si la valeur est définie via ActionScript. Si la liste déroulante est statique, la valeur
de selectedItem est toujours valide.
Exemple
L’exemple suivant affiche selectedItem si le fournisseur de données contient des types primitifs :
var item = maListeDéroulante.selectedItem;
trace("Vous avez sélectionné l’élément " + item);
L’exemple suivant affiche selectedItem si le fournisseur de données contient des objets ayant des
propriétés label et data :
var obj = maListeDéroulante.selectedItem;
trace("Vous avez sélectionné la couleur intitulée : " + obj.label);
trace("La valeur hexadécimale de cette couleur est : " + obj.data);
Voir aussi
ComboBox.dataProvider, ComboBox.selectedIndex
ComboBox.text
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
maListeDéroulante.text
Description
Propriété : le texte de la zone de texte. Vous pouvez obtenir et définir cette valeur pour les listes
déroulantes modifiables. Pour les listes déroulantes statiques, la valeur est en lecture seule.
126
Chapitre 4 : Dictionnaire des composants
Exemple
L’exemple suivant définit la valeur text actuelle d’une liste déroulante modifiable :
maListeDéroulante.text = "Californie";
ComboBox.textField
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
maListeDéroulante.textField
Description
Propriété (lecture seule) : référence au composant TextInput contenu dans ComboBox.
Cette propriété vous permet d’accéder au composant TextInput situé en dessous pour le
manipuler. Par exemple, vous pouvez changer la sélection de la zone de texte ou restreindre les
caractères pouvant y être saisis.
Exemple
Le code suivant restreint la zone de texte de maListeDéroulante à la seule saisie des chiffres :
maListeDéroulante.textField.restrict = "0-9";
ComboBox.value
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
maListeDéroulante.value
Description
Propriété (lecture seule) : si la liste déroulante est modifiable, value renvoie la valeur de la zone de
texte. Si la liste déroulante est statique, value renvoie la valeur de la liste. La valeur de la liste est
le champ data ou, si le champ data n’existe pas, le champ label.
Exemple
L’exemple suivant place les données dans la liste déroulante en définissant la propriété
dataProvider. Il affiche ensuite la valeur dans le panneau de sortie. Enfin, il sélectionne
"Californie" et l’affiche dans la zone de texte, comme suit :
cb.dataProvider = [
{label:"Alaska", data:"AZ"},
{label:"Californie", data:"CA"},
{label:"Washington", data:"WA"}];
Composant ComboBox
127
cb.editable = true;
cb.selectedIndex = 1;
trace(’La valeur modifiable est "Californie": ’+ cb.value);
cb.editable = false;
cb.selectedIndex = 1;
trace(’La valeur non modifiable est "CA": ’+ cb.value);
Classes de liaison des données (Flash Professionnel
uniquement)
Les classes de liaison des données fournissent les fonctionnalités d’exécution de la fonction de
liaison des données dans Flash MX Professionnel 2004. Vous pouvez créer et configurer
visuellement des liaisons de données dans l’environnement de programmation Flash via l’onglet
Liaisons du panneau Inspecteur de composants. Vous pouvez également créer et configurer par
programmation des liaisons à l’aide des classes du paquet mx.data.binding.
Pour un aperçu de la liaison des données et pour savoir comment créer visuellement des liaisons
de données dans l’outil de programmation Flash, consultez « Liaison des données (Flash
Professionnel uniquement) » dans le guide Utilisation de Flash de l’aide.
Disponibilité des classes de liaison des données lors de l’exécution
(Flash Professionnel uniquement)
Pour que les classes du service de liaison des données puissent être utilisées lors de l’exécution, le
composant DataBindingClasses doit figurer dans la bibliothèque de votre fichier FLA. Lorsque
vous créez visuellement des liaisons dans l’environnement de programmation Flash, ce composant
est automatiquement ajouté dans la bibliothèque de votre document. Cependant, si vous utilisez
uniquement ActionScript pour créer des liaisons lors de l’exécution, vous devez alors ajouter ce
composant manuellement dans la bibliothèque de votre document. Pour plus d’informations sur
l’ajout de ce composant à votre document, consultez « Utilisation de la liaison des données et des
services web à l’exécution (Flash Professionnel uniquement) », dans le guide Utilisation de Flash
de l’aide.
Classes dans le paquet mx.data.binding (Flash Professionnel uniquement)
Le tableau suivant répertorie les classes dans le paquet mx.data.binding.
Classe
Description
Classe Binding (Flash
Professionnel uniquement)
Crée une liaison entre deux points de fin.
Classe ComponentMixins (Flash Ajoute une fonctionnalité spécifique à la liaison aux composants.
Professionnel uniquement)
128
Classe CustomFormatter (Flash
Professionnel uniquement)
Classe de base pour la création de classes de mise en forme
personnalisées.
Classe CustomValidator (Flash
Professionnel uniquement)
Classe de base pour la création de classes de validation
personnalisées.
Classe DataType (Flash
Professionnel uniquement)
Offre un accès en lecture et en écriture aux champs de données
d’une propriété d’un composant.
Chapitre 4 : Dictionnaire des composants
Classe
Description
Classe EndPoint (Flash
Professionnel uniquement)
Définit la source ou la destination d’une liaison.
Classe TypedValue (Flash
Professionnel uniquement)
Contient une valeur de données et des informations concernant le
type de données de la valeur.
Classe Binding (Flash Professionnel uniquement)
Nom de classe ActionScript
mx.data.binding.Binding
La classe Binding définit une association entre deux points de fin, une source et une destination.
Elle recherche les modifications apportées au point de fin source et copie les données modifiées
vers le point de fin de destination chaque fois que la source change.
Vous pouvez rédiger des liaisons personnalisées à l’aide de la classe Binding (et des classes de prise
en charge), ou vous pouvez utiliser l’onglet Liaisons dans le panneau Inspecteur de composants
(Fenêtre > Panneaux de développement > Inspecteur de composants).
Remarque : Pour rendre cette classe disponible lors de l’exécution, vous devez inclure le composant
DataBindingClasses dans votre document FLA. Pour plus d’informations, consultez « Utilisation de
la liaison des données et des services web à l’exécution (Flash Professionnel uniquement) », dans le
guide Utilisation de Flash de l’aide.
Pour un aperçu des classes dans le paquet mx.data.binding, consultez Classes de liaison des données
(Flash Professionnel uniquement), page 128.
Méthodes de la classe Binding
Méthode
Description
Binding.execute()
Extrait les données du composant source, les met en forme et les
affecte au composant de destination.
Constructeur de la classe Binding
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
new binding(source, destination, [format], [estBidirectionnel])
Paramètres
source Point de fin source de la liaison. Ce paramètre est de type
mx.data.binding.EndPoint, mais il peut être tout objet ActionScript doté des champs de point
de fin requis (consultez Classe EndPoint (Flash Professionnel uniquement)).
destination Point de fin de destination de la liaison. Ce paramètre est de type
mx.data.binding.EndPoint, mais il peut être tout objet ActionScript doté des champs de point
de fin requis (consultez Classe EndPoint (Flash Professionnel uniquement)).
Classes de liaison des données (Flash Professionnel uniquement)
129
format (Facultatif ) Objet qui contient des informations de format. Les propriétés de l’objet
doivent être les suivantes :
•
•
Classe ActionScript qui étend la classe mx.data.binding.DataAccessor.
settings Objet dont les propriétés fournissent des paramètres facultatifs pour la classe de
mise en forme spécifiée par cls.
cls
estBidirectionnel (Facultatif ) Valeur booléenne qui spécifie si le nouvel objet Binding est
bidirectionnel (true) ou non (false). La valeur par défaut est false.
Renvoie
Rien.
Description
Constructeur : crée un nouvel objet Binding. Vous pouvez lier des données à tout objet
ActionScript qui a des propriétés et émet des événements, entre autres, des composants.
Un objet de liaison existe tant que le clip principal contient les composants source et de
destination. Par exemple, si un clip nommé "A" contient les composants "X" et "Y" et qu’il existe
une liaison entre "X" et "Y", la liaison est effective tant que le clip A existe.
Remarque : Il n’est pas nécessaire de conserver une référence au nouvel objet Binding. Dès que
l’objet Binding est créé, il commence immédiatement à rechercher les événements « modifiés » émis
par l’un des points de fin. Toutefois, dans certains cas, vous pouvez opter pour l’enregistrement d’une
référence du nouvel objet Binding, afin de pouvoir appeler sa méthode execute() ultérieurement
(consultez Binding.execute()).
Exemple
Exemple 1 : Dans cet exemple, la propriété text d’un composant TextInput (src_txt) est liée à
la propriété text d’un autre composant TextInput (dest_txt). Lorsque le champ de texte
src_txt perd le focus (c’est-à-dire, lorsque l’événement focusOut est généré), la valeur de sa
propriété text est copiée dans dest_txt.text.
import mx.data.binding.*;
var src = new EndPoint();
src.component = src_txt;
src.property = "text";
src.event = "focusOut";
var dest= new EndPoint();
dest.component = dest_txt;
dest.property = "text";
new Binding(src, dest);
Exemple 2 : Cet exemple explique comment créer un objet Binding qui utilise une classe de mise
en forme personnalisée. Pour plus d’informations sur la création de classes de mise en forme
personnalisées, consultez Classe CustomFormatter (Flash Professionnel uniquement), page 132.
import mx.data.binding.*;
var src = new EndPoint();
src.component = src_txt;
src.property = "text";
src.event = "focusOut";
var dest= new EndPoint();
dest.component = text_dest;
130
Chapitre 4 : Dictionnaire des composants
dest.property = "text";
new Binding(src, dest, {cls: mx.data.formatters.Custom, settings: {classname:
"com.masociété.SpecialFormatter"}});
Binding.execute()
Disponibilité
Flash Player 6.
Edition
Flash MX Professionnel 2004.
Utilisation
maLiaison.execute([inverser])
Paramètres
Valeur booléenne qui indique si la liaison doit aussi être exécutée de la destination
vers la source (true), ou uniquement de la source vers la destination (false). Par défaut, cette
valeur est définie sur false.
inverser
Renvoie
Une valeur null si la liaison est exécutée correctement ; dans le cas contraire, renvoie un tableau
de messages d’erreur (chaînes) qui décrivent l’erreur, ou les erreurs, qui ont empêché l’exécution
de la liaison.
Description
Méthode : recherche les données du composant source et les affecte au composant de destination.
Si la liaison utilise une mise en forme, les données sont mises en forme avant leur affectation à la
destination.
Cette méthode valide également les données et entraîne l’émission d’un événement valid ou
invalid par les composants source et de destination. Les données sont affectées à l’événement de
destination même s’il n’est pas valide, sauf si la destination est en lecture seule.
Si le paramètre inverser est défini sur true, et si la liaison est bidirectionnelle, la liaison est alors
exécutée dans l’ordre inverse (de la destination vers la source).
Exemple
Le code suivant, associé à une occurrence d’un composant Button, exécute la liaison dans l’ordre
inverse (du composant de destination vers le composant source) lorsque l’utilisateur clique sur le
bouton.
on(click) {
_root.maLiaison.execute(true);
}
Classes de liaison des données (Flash Professionnel uniquement)
131
Classe CustomFormatter (Flash Professionnel uniquement)
Nom de classe ActionScript
mx.data.binding.CustomFormatter
La classe CustomFormatter définit deux méthodes, format() et unformat(), qui permettent de
transformer des valeurs de données d’un type spécifique en type String, et inversement. Par
défaut, ces méthodes n’ont aucun rôle ; vous devez les implémenter dans une sous-classe de
mx.data.binding.CustomFormatter.
Pour créer votre propre mise en forme personnalisée, vous devez créer une sous-classe de
CustomFormatter qui implémente les méthodes format() et unformat(). Vous pouvez ensuite
affecter cette classe à une liaison entre des composants, soit en créant un nouvel objet Binding
avec ActionScript (consultez Classe Binding (Flash Professionnel uniquement), page 129), soit en
utilisant l’onglet Liaisons dans le panneau Inspecteur de composants. Pour plus d’informations
sur l’affectation d’une classe de mise en forme à l’aide de l’inspecteur de composants, consultez
« Mises en forme de schéma (Flash Professionnel uniquement) », dans le guide Utilisation de
Flash de l’aide.
Vous pouvez également affecter une classe de mise en forme à une propriété de composant dans
l’onglet Schéma du panneau Inspecteur de composants. Toutefois, dans ce cas, la mise en forme
sera utilisée uniquement lorsque les données doivent être sous la forme d’une chaîne. A l’inverse,
les mises en forme affectées via le panneau Liaisons, ou créées avec ActionScript, sont utilisées
chaque fois que la liaison est exécutée.
Pour obtenir un exemple de l’écriture et de l’affectation d’une mise en forme personnalisée à l’aide
d’ActionScript, consultez Exemple de mise en forme personnalisée, page 132.
Remarque : Pour rendre cette classe disponible lors de l’exécution, vous devez inclure le composant
DataBindingClasses dans votre document FLA. Pour plus d’informations, consultez « Utilisation de
la liaison des données et des services web à l’exécution (Flash Professionnel uniquement) », dans le
guide Utilisation de Flash de l’aide.
Pour un aperçu des classes dans le paquet mx.data.binding, consultez Classes de liaison des données
(Flash Professionnel uniquement), page 128.
Exemple de mise en forme personnalisée
L’exemple suivant explique comment créer une classe de mise en forme personnalisée, avant de
l’appliquer à une liaison entre deux composants à l’aide d’ActionScript. Dans cet exemple, la
valeur actuelle d’un composant NumericStepper (sa propriété value) est liée à la valeur actuelle
d’un composant TextInput (sa propriété text). La classe de mise en forme personnalisée met en
forme la valeur numérique actuelle du composant NumericStepper (par exemple, 1, 2 ou 3) en
utilisant le terme anglais équivalent (par exemple, “one”, “two” ou “three”) avant de l’affecter au
composant TextInput.
Pour créer et utiliser une mise en forme personnalisée :
1 Dans Flash MX Professionnel 2004, créez un nouveau fichier ActionScript.
2 Ajoutez le code suivant au fichier :
// NumberFormatter.as
class NumberFormatter extends mx.data.binding.CustomFormatter {
// Met en forme un nombre, renvoie une chaîne
function format(rawValue) {
var returnValue;
var strArray = new Array('one', 'two', 'three');
var numArray = new Array(1, 2, 3);
132
Chapitre 4 : Dictionnaire des composants
returnValue = 0;
for (var i = 0; i<strArray.length; i++) {
if (rawValue == numArray[i]) {
returnValue = strArray[i];
break
}
}
return returnValue;
} // convertit une valeur mise en forme, renvoie une valeur brute
function unformat(formattedValue) {
var returnValue;
var strArray = new Array('one', 'two', 'three');
var numArray = new Array(1, 2, 3);
returnValue = "non valide";
for (var i = 0; i<strArray.length; i++) {
if (formattedValue == strArray[i]) {
returnValue = numArray[i];
break
}
}
return returnValue;
}
}
3 Enregistrez le fichier ActionScript sous NumberFormatter.as.
4 Créez un nouveau document Flash (FLA).
5 Ouvrez le panneau Composants (Fenêtre > Panneaux de développement > Composants).
6 Faites glisser un composant TextInput sur la scène et nommez-le textInput.
7 Faites glisser un composant NumericStepper sur la scène et nommez-le stepper.
8 Ouvrez le scénario (Fenêtre > Scénario) et sélectionnez la première image du calque 1.
9 Ouvrez le panneau Actions (Fenêtre > Panneaux de développement > Actions).
10 Ajoutez le code suivant au panneau Actions
import mx.data.binding.*;
var x:NumberFormatter;
var liaisonPersonnalisée = new Binding({component:stepper, property:"value",
event:"change"}, {component:textInput, property:"text",
event:"enter,change"}, {cls:mx.data.formatters.Custom,
settings:{classname:"NumberFormatter"}});
La seconde ligne de code (var x:NumberFormatter) garantit que le code binaire de votre classe
de mise en forme personnalisée est inclus dans le fichier SWF compilé.
11 Sélectionnez Fenêtre > Autres panneaux > Bibliothèques communes > Classes pour ouvrir la
bibliothèque Classes.
12 Ouvrez votre bibliothèque de document en sélectionnant Fenêtre > Bibliothèque.
13 Faites glisser le composant DataBindingClasses de la bibliothèque Classes dans votre
bibliothèque de document.
Grâce à cette opération, les classes d’exécution de liaison des données sont disponibles pour
votre document. Pour plus d’informations, consultez « Utilisation de la liaison des données et
des services web à l’exécution (Flash Professionnel uniquement) », dans le guide Utilisation de
Flash de l’aide.
Classes de liaison des données (Flash Professionnel uniquement)
133
14 Enregistrez le fichier FLA dans le dossier qui contient NumberFormatter.as.
15 Testez le fichier (Contrôle > Tester l’animation).
Cliquez sur les boutons du composant NumericStepper et observez le contenu de la mise à jour
du composant TextInput.
Méthodes de la classe CustomFormatter
Méthode
Description
CustomFormatter.format()
Convertit un type de données brut en chaîne de texte.
CustomFormatter.unformat()
Convertit une chaîne de texte en type de données brut.
CustomFormatter.format()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
Cette méthode est appelée automatiquement ; vous ne l’invoquez pas directement.
Paramètres
donnéesBrutes
Données à mettre en forme.
Renvoie
Valeur mise en forme.
Description
Méthode : convertit un type de données brut en un nouvel objet.
Cette méthode n’est pas implémentée par défaut. Vous devez la définir dans votre sous-classe de
mx.data.binding.CustomFormatter.
Exemple
Pour plus d’informations, consultez Exemple de mise en forme personnalisée, page 132.
CustomFormatter.unformat()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
Cette méthode est appelée automatiquement ; vous ne l’invoquez pas directement.
134
Chapitre 4 : Dictionnaire des composants
Paramètres
donnéesMisesEnForme
Données mises en forme à reconvertir en type de données brut.
Renvoie
Valeur non mise en forme.
Description
Méthode : convertit une chaîne, ou un autre type de données, en type de données brut. Cette
transformation doit réaliser exactement la transformation inverse de
CustomFormatter.format().
Cette méthode n’est pas implémentée par défaut. Vous devez la définir dans votre sous-classe de
mx.data.binding.CustomFormatter.
Pour plus d’informations, consultez Exemple de mise en forme personnalisée, page 132.
Classe CustomValidator (Flash Professionnel uniquement)
Nom de classe ActionScript
mx.data.binding.CustomValidator
Utilisez la classe CustomValidator pour effectuer une validation personnalisée d’un champ de
données contenu dans un composant.
Pour créer une classe de validation personnalisée, vous créez tout d’abord une sous-classe de
mx.data.binding.CustomValidator qui implémente une méthode appelée validate(). Une
valeur est automatiquement transmise à cette méthode afin qu’elle soit validée. Pour plus
d’informations sur l’implémentation de cette méthode, consultez
CustomValidator.validate().
Ensuite, vous affectez votre classe de validation personnalisée à un champ d’un composant via
l’onglet Schéma du panneau Inspecteur de composants. Pour obtenir un exemple de création et
d’utilisation d’une classe de validation personnalisée, consultez la section Exemple dans la
description de CustomValidator.validate().
Pour affecter une classe de validation personnalisée, procédez comme suit :
1 Dans le panneau Inspecteur de composants (Fenêtre > Inspecteur de composants), sélectionnez
l’onglet Schéma.
2 Sélectionnez le champ à valider, puis sélectionnez Personnalisé dans le menu déroulant Types
de données.
3 Sélectionnez le champ Options de validation (au bas de l’onglet Schéma), puis cliquez sur
l’icône en forme de loupe afin d’ouvrir la boîte de dialogue Paramètres de validation
personnalisés.
4 Dans la zone de texte Classe ActionScript, entrez le nom de la classe de validation personnalisée
que vous avez créée.
Pour que la classe que vous spécifiez soit incluse dans le fichier SWF publié, elle doit figurer
dans le chemin de classe.
Remarque : Pour rendre cette classe disponible lors de l’exécution, vous devez inclure le composant
DataBindingClasses dans votre document FLA. Pour plus d’informations, consultez « Utilisation de
la liaison des données et des services web à l’exécution (Flash Professionnel uniquement) », dans le
guide Utilisation de Flash de l’aide.
Classes de liaison des données (Flash Professionnel uniquement)
135
Pour un aperçu des classes dans le paquet mx.data.binding, consultez Classes de liaison des données
(Flash Professionnel uniquement), page 128.
Méthodes de la classe CustomValidator
Méthode
Description
CustomValidator.validate()
Effectue la validation des données.
CustomValidator.validationError() Signale les erreurs de validation.
CustomValidator.validate()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
Cette méthode est appelée automatiquement ; vous ne l’invoquez pas directement.
Paramètres
valeur
Données à valider ; cette valeur peut être de tout type.
Renvoie
Rien.
Description
Méthode : appelée automatiquement pour valider les données contenues dans le paramètre
valeur. Vous devez implémenter cette méthode dans votre sous-classe de CustomValidator ;
l’implémentation par défaut n’a aucune incidence.
Vous pouvez utiliser tout code ActionScript de votre choix pour examiner et valider les données.
Si les données ne sont pas valides, cette méthode doit appeler this.validationError() avec un
message d’erreur approprié. Vous pouvez appeler this.validationError() plusieurs fois s’il
existe plusieurs problèmes de validation au niveau des données.
Dans la mesure où la méthode validate() peut être appelée à plusieurs reprises, vous devez
éviter d’ajouter du code à cette méthode dont l’exécution est longue. Votre implémentation de
cette méthode doit uniquement vérifier que les données sont valides puis signaler les erreurs à
l’aide de CustomValidator.validationError(). De même, votre implémentation ne doit
prendre aucune mesure suite au test de validation (par exemple, alerter l’utilisateur final). En fait,
vous devez créer des écouteurs d’événements pour les événements valid et invalid, puis alerter
l’utilisateur final à partir de ces écouteurs d’événements (consultez l’exemple suivant).
Exemple
La procédure ci-après explique comment créer et utiliser une classe de validation personnalisée. La
méthode validate() de la classe CustomValidator, NombresImpairs.as, détermine comme non
valide toute valeur qui n’est pas un nombre impair. La validation a lieu lorsque la valeur d’un
composant NumericStepper change, en relation avec la propriété text d’un composant Label.
136
Chapitre 4 : Dictionnaire des composants
Pour créer et utiliser une classe de validation personnalisée :
1 Dans Flash MX Professionnel 2004, créez un nouveau fichier ActionScript (AS).
2 Ajoutez le code suivant dans le fichier AS :
class NombresImpairs extends mx.data.binding.CustomValidator
{
public function validate(value) {
// vérification que la valeur est un nombre
var n = Number(value);
if (String(n) == "NaN") {
this.validationError("'" + value + "' n’est pas un nombre".);
return;
}
// vérification que le nombre est impair
if (n % 2 == 0) {
this.validationError("'" + value + "' n’est pas un nombre impair".);
return;
}
// les données sont OK, aucune action requise, renvoi uniquement
}
}
3 Enregistrez le fichier AS sous NombresImpairs.as.
Remarque : Le nom du fichier AS doit correspondre au nom de la classe.
4 Créez un nouveau document Flash (FLA).
5 Ouvrez le panneau Composants (Fenêtre > Panneaux de développement > Composants).
6 Faites glisser un composant NumericStepper du panneau Composants sur la scène et appelez-
le stepper.
7 Faites glisser un composant Label sur la scène et appelez-le textLabel.
8 Faites glisser un composant TextArea sur la scène et appelez-le status.
9 Sélectionnez le composant NumericStepper, puis ouvrez le panneau Inspecteur de composants
(Fenêtre > Panneaux de développement > Inspecteur de composants).
10 Sélectionnez l’onglet Liaisons dans le panneau Inspecteur de composants, puis cliquez sur le
bouton Ajouter une liaison (+).
11 Sélectionnez la propriété Value (la seule) dans la boîte de dialogue Ajouter une liaison, puis
cliquez sur OK.
12 Dans le panneau Inspecteur de composants, double-cliquez sur bound to dans le panneau des
attributs de liaison de l’onglet Liaisons pour ouvrir la boîte de dialogue Lié à.
13 Dans la boîte de dialogue Lié à, sélectionnez le composant Label dans le panneau Chemin du
composant, ainsi que sa propriété text dans le panneau Emplacement du schéma. Cliquez
sur OK.
14 Sélectionnez le composant Label sur la scène et cliquez sur l’onglet Schéma dans le panneau
Inspecteur de composants.
15 Dans le panneau des attributs du schéma, sélectionnez Personnalisé dans le menu déroulant
Types de données.
16 Double-cliquez sur le champ Options de validation dans le panneau des attributs du schéma
pour ouvrir la boîte de dialogue Paramètres de validation personnalisés.
17 Dans la zone de texte Classe ActionScript, entrez NombresImpairs, qui est le nom de la classe
ActionScript que vous avez créée préalablement. Cliquez sur OK.
18 Ouvrez le scénario (Fenêtre > Scénario) et sélectionnez la première image du calque 1.
Classes de liaison des données (Flash Professionnel uniquement)
137
19 Ouvrez le panneau Actions (Fenêtre > Actions).
20 Ajoutez le code suivant au panneau Actions
function dataIsInvalid(evt) {
if (evt.property == "text") {
status.text = evt.messages;
}
}
function dataIsValid(evt) {
if (evt.property == "text") {
status.text = "OK";
}
}
textLabel.addEventListener("valid", dataIsValid);
textLabel.addEventListener("invalid", dataIsInvalid);
21 Enregistrez le fichier FLA sous OddOnly.fla dans le dossier qui contient NombresImpairs.as.
22 Testez le fichier SWF (Contrôle > Tester l’animation).
Cliquez sur les flèches du composant NumericStepper afin de modifier sa valeur. Vous pouvez
remarquer qu’un message apparaît dans le composant TextArea lorsque vous choisissez des
nombres pairs et impairs.
CustomValidator.validationError()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
this.validationError(messageErreur)
Remarque : Cette méthode peut être invoquée uniquement depuis une classe de validation
personnalisée ; le mot clé this fait référence à l’objet CustomValidator actif.
Paramètres
messageErreur
Chaîne qui contient le message d’erreur à signaler.
Renvoie
Rien.
Description
Méthode : vous appelez cette méthode depuis la méthode validate() de votre sous-classe de
CustomValidator pour signaler les erreurs de validation. Si vous n’appelez pas cette méthode, un
événement valid est généré à la fin de validate(). Si vous appelez cette méthode une ou
plusieurs fois depuis la méthode validate(), un événement invalid est généré après le renvoi
de validate().
138
Chapitre 4 : Dictionnaire des composants
Chaque message que vous transmettez à validationError() est disponible dans la propriété
"messages" de l’objet événement transmis au gestionnaire d’événements invalid.
Exemple
Consultez la section Exemple de CustomValidator.validate().
Classe EndPoint (Flash Professionnel uniquement)
Nom de classe ActionScript
mx.data.binding.EndPoint
La classe EndPoint définit la source ou la destination d’une liaison. Les objets EndPoint
définissent une valeur constante, une propriété de composant ou un champ particulier d’une
propriété de composant, à partir desquels vous pouvez obtenir des données, ou auxquels vous
pouvez affecter des données. Ils peuvent également définir un événement ou une liste
d’événements qu’un objet Binding attend ; lorsque l’événement spécifié survient, la liaison est
exécutée.
Lorsque vous créez une nouvelle liaison avec le constructeur de classe Binding, vous la transmettez
à deux objets EndPoint : un pour la source et un pour la destination.
new mx.data.binding.Binding(srcEndPoint, destEndPoint);
Les objets EndPoint, srcEndPoint et destEndPoint, peuvent être définis comme suit :
var srcEndPoint = new mx.data.binding.EndPoint();
var destEndPoint = new mx.data.binding.EndPoint();
srcEndPoint.component = source_txt;
srcEndPoint.property = "text";
srcEndPoint.event = "focusOut";
destEndPoint.component = dest_txt;
destEndPoint.property = "text";
Le code précédent signifie « lorsque le champ de texte source perd le focus, copiez la valeur de sa
propriété text dans la propriété text du champ de texte de destination ».
Vous pouvez également transmettre des objets ActionScript génériques au constructeur Binding,
au lieu de transmettre explicitement des objets EndPoint construits. La seule condition requise est
que les objets définissent les propriétés EndPoint nécessaires, à savoir component et property. Le
code suivant est équivalent au code présenté précédemment.
var srcEndPoint = {component:source_txt, property:"text"};
var destEndPoint = {component:dest_txt, property:"text"};
new mx.data.binding.Binding(srcEndPoint, destEndPoint);
Remarque : Pour rendre cette classe disponible lors de l’exécution, vous devez inclure le composant
DataBindingClasses dans votre document FLA. Pour plus d’informations, consultez « Utilisation de
la liaison des données et des services web à l’exécution (Flash Professionnel uniquement) », dans le
guide Utilisation de Flash de l’aide.
Pour un aperçu des classes dans le paquet mx.data.binding, consultez Classes de liaison des données
(Flash Professionnel uniquement), page 128.
Classes de liaison des données (Flash Professionnel uniquement)
139
Propriétés de la classe EndPoint
Méthode
Description
EndPoint.constant
Valeur constante.
EndPoint.component
Référence à une occurrence de composant.
EndPoint.property
Nom d’une propriété de l’occurrence du composant spécifiée par
EndPoint.component.
EndPoint.location
Emplacement d’un champ de données dans la propriété de l’occurrence
du composant.
EndPoint.event
Nom d’un événement, ou d’une liste d’événements, que l’occurrence du
composant émettra lorsque les données changeront.
Constructeur de la classe EndPoint
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
new EndPoint()
Renvoie
Rien.
Description
Constructeur : crée un nouvel objet EndPoint.
Exemple
Cet exemple crée un nouvel objet EndPoint appelé source_txt et affecte des valeurs à ses
propriétés component et property.
var source_obj = new mx.data.binding.EndPoint();
source_obj.component = monChampDeTexte;
source_obj.property = "text";
EndPoint.constant
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
endPoint_src.constant
140
Chapitre 4 : Dictionnaire des composants
Description
Propriété : valeur constante affectée à un objet EndPoint. Cette propriété peut être affectée
uniquement à des objets EndPoint qui sont la source (et non la destination) d’une liaison entre
des composants. La valeur peut être tout type de données compatible avec la destination de la
liaison. Si cela est précisé, toutes les autres propriétés EndPoint de l’objet EndPoint spécifié sont
ignorées.
Exemple
Dans cet exemple, la valeur de chaîne constante “bonjour” est affectée à la propriété constante
d’un objet EndPoint :
var sourceEndPoint = new mx.data.binding.EndPoint();
sourceEndPoint.constant="bonjour";
EndPoint.component
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
endPointObj.component
Description
Propriété : référence à une occurrence de composant.
Exemple
Cet exemple affecte une occurrence du composant List (listBox1) en tant que paramètre
composant d’un objet EndPoint.
var sourceEndPoint = new mx.data.binding.EndPoint();
sourceEndPoint.component=listBox1;
EndPoint.property
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
endPointObj.property
Classes de liaison des données (Flash Professionnel uniquement)
141
Description
Propriété : spécifie un nom de propriété de l’occurrence de composant spécifiée par
EndPoint.component qui contient les données susceptibles d’être liées.
Remarque : EndPoint.component et EndPoint.property doivent être associés pour former une
combinaison objet/propriété ActionScript valide.
Exemple
Cet exemple lie la propriété text d’un composant TextInput (text_1) à la même propriété d’un
autre composant TextInput (text_2).
var sourceEndPoint = {component:text_1, property:"text"};
var destEndPoint = {component:text_2, property:"text"};
new Binding(sourceEndPoint, destEndPoint);
EndPoint.location
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
endPointObj.location
Description
Propriété : spécifie l’emplacement d’un champ de données dans la propriété de l’occurrence du
composant. Un emplacement peut être spécifié de quatre manières : sous la forme d’une chaîne
qui contient une expression XPath ou un chemin ActionScript, sous la forme d’un tableau de
chaînes ou sous la forme d’un objet.
Les expressions XPath peuvent être utilisées uniquement lorsque les données sont un objet XML.
Pour obtenir la liste des expressions XPath prises en charge, consultez « Expressions XPath
supportées », dans le guide Utilisation de Flash de l’aide (consultez l’exemple 1 ci-après).
Pour les objets XML et ActionScript, vous pouvez également spécifier une chaîne qui contient un
chemin ActionScript. Un chemin ActionScript contient les noms de champs séparés par des
points (par exemple, "a.b.c").
Vous pouvez également spécifier un tableau de chaînes comme emplacement. Chaque chaîne du
tableau analyse un autre niveau d’imbrication. Vous pouvez utiliser cette technique avec des
données XML et ActionScript (consultez l’exemple 2 ci-dessous). Lorsqu’un tableau de chaînes est
utilisé avec des données ActionScript, cela équivaut à utiliser ActionScript ; c’est-à-dire que le
tableau ["a","b","c"] est équivalent à "a.b.c".
142
Chapitre 4 : Dictionnaire des composants
Si vous spécifiez un objet comme emplacement, l’objet doit spécifier deux propriétés : path et
indices. La propriété path est un tableau de chaînes, comme indiqué précédemment, sauf
qu’une ou plusieurs des chaînes spécifiées peuvent être le symbole spécial "[n]". Pour chaque
occurrence de ce symbole dans path, un élément d’index correspondant doit exister dans
indices. Lorsque le chemin est évalué, les index sont utilisés pour l’indexation dans les tableaux.
L’élément d’index peut être tout objet EndPoint. Ce type d’emplacement ne peut pas être
appliqué aux données XML ; il est appliqué exclusivement aux données ActionScript (consultez
l’exemple 3 ci-après).
Exemple
Exemple 1 : Cet exemple utilise une expression XPath pour spécifier l’emplacement d’un nœud
appelé zip dans un objet XML.
var sourceEndPoint = new mx.databinding.EndPoint();
var sourcObj=new Object();
sourceObj.xml=new XML("<zip>94103</zip>");
sourceEndPoint.component=sourceObj;
sourceEndPoint.property="xml";
sourceEndPoint.location="/zip";//
Exemple 2 : Cet exemple utilise un tableau de chaînes pour effectuer une analyse poussée d’une
propriété de clip imbriquée.
var sourceEndPoint = new mx.data.binding.EndPoint();
//supposons que movieClip1.ball.position existe
ssourceEndPoint.component=movieClip1;
sourceEndPoint.property="ball";
//accès à movieClip1.ball.position.x
sourceEndPoint.location=["position","x"];
Exemple 3 : Cet exemple indique comment utiliser un objet pour spécifier l’emplacement d’un
champ de données dans une structure de données complexe.
var ville=new Object();
ville.cinémas = [{cinéma: "t1", films: [{name: "Le bon, la brute et le
truand"}, {name:"Matrix Reloaded"}]}, {cinéma: "t2", films: [{name:
"Gladiator"}, {name: "Arrête-moi si tu peux"}]}];
var srcEndPoint = new EndPoint();
srcEndPoint.component=ville;
srcEndPoint.property="cinémas";
srcEndPoint.location = {path: ["[n]","films","[n]","name"], indices:
[{constant:0},{constant:0}]};
EndPoint.event
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
objEndPoint.event
Classes de liaison des données (Flash Professionnel uniquement)
143
Description
Propriété : spécifie le nom d’un événement, ou un tableau de noms d’événements, généré par le
composant lorsque les données affectées à la propriété de liaison changent. Lorsque l’événement a
lieu, la liaison est exécutée.
L’événement spécifié s’applique uniquement aux composants qui sont utilisés comme source
d’une liaison, ou comme destination d’une liaison bidirectionnelle. Pour plus d’informations sur
la création de liaisons bidirectionnelles, consultez Classe Binding (Flash Professionnel uniquement),
page 129.
Exemple
Dans cet exemple, la propriété text d’un composant TextInput (src_txt) est liée à la même
propriété d’un autre composant TextInput (dest_txt). La liaison est exécutée lorsque
l’événement focusOut ou enter est émis par le composant src_txt.
var source = {component:src_txt, property:"text", event:["focusOut",
"enter"]};
var dest = {component:maZoneDeTexte, property:"text"};
var nouvelleLiaison = new mx.data.binding.Binding(source, dest);
Classe ComponentMixins (Flash Professionnel uniquement)
Nom de classe ActionScript
mx.data.binding.ComponentMixins
La classe ComponentMixins définit les propriétés et les méthodes automatiquement ajoutées à un
objet qui est la source ou la destination d’une liaison, ou à un composant qui est la cible d’un
appel de la méthode ComponentMixins.initComponent(). Ces propriétés et méthodes n’ont
aucune incidence sur les fonctionnalités du composant ; elles ajoutent des fonctionnalités utiles
pour la liaison des données.
Remarque : Pour rendre cette classe disponible lors de l’exécution, vous devez inclure le composant
DataBindingClasses dans votre document FLA. Pour plus d’informations, consultez « Utilisation de
la liaison des données et des services web à l’exécution (Flash Professionnel uniquement) », dans le
guide Utilisation de Flash de l’aide.
Pour un aperçu des classes dans le paquet mx.data.binding, consultez Classes de liaison des données
(Flash Professionnel uniquement), page 128.
Méthodes de la classe ComponentMixins
144
Méthode
Description
ComponentMixins.getField()
Renvoie un objet permettant d’obtenir et de définir la
valeur d’un champ à un emplacement spécifique dans
une propriété de composant.
ComponentMixins.initComponent()
Ajoute les méthodes ComponentMixin à un
composant.
ComponentMixins.refreshFromSources()
Exécute toutes les liaisons qui ont ce composant
comme objet Endpoint de destination.
Chapitre 4 : Dictionnaire des composants
Méthode
Description
ComponentMixins.refreshDestinations()
Exécute toutes les liaisons qui ont cet objet comme
objet Endpoint source.
ComponentMixins.validateProperty()
Vérifie si les données de la propriété indiquée sont
valides.
ComponentMixins.getField()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
occurrenceDeComposant.getField(nomDeProp, [emplacement])
Paramètres
nomDeProp
Chaîne contenant le nom d’une propriété du composant spécifié.
(Facultatif ) Emplacement d’un champ au sein de la propriété du composant.
Ceci est utile si la propriété du composant spécifiée par nomDeProp est une structure de données
complexe et si vous êtes intéressé par un champ présentant cette structure. Cette propriété peut
prendre l’une des trois formes suivantes :
emplacement
• Une chaîne contenant une expression XPath. Cette forme est valide uniquement pour les
•
•
structures de données XML. Pour obtenir la liste des expressions XPath prises en charge,
consultez « Expressions XPath supportées », dans le guide Utilisation de Flash de l’aide.
Une chaîne contenant des noms de champs, séparés par des points ("a.b.c", par exemple). Cette
forme est autorisée pour toutes les données complexes (ActionScript ou XML).
Un tableau de chaînes dans lequel chaque chaîne est un nom de champ (["a", "b", "c"], par
exemple). Cette forme est autorisée pour toutes les données complexes (ActionScript ou
XML).
Renvoie
Un objet DataType.
Description
Méthode : renvoie un objet DataType dont vous pouvez utiliser les méthodes pour obtenir ou
définir la valeur de données dans la propriété d’un composant à l’emplacement de champ spécifié.
Pour plus d’informations, consultez Classe DataType (Flash Professionnel uniquement), page 149.
Exemple
Cet exemple utilise la méthode DataType.setAsString() pour définir la valeur d’un champ
situé dans la propriété d’un composant. Dans ce cas, la propriété (results) est une structure de
données complexe.
import mx.data.binding.*;
var champ : DataType = monComposant.getField("résultats", "po.adresse.nom1");
champ.setAsString("Teri Randall");
Classes de liaison des données (Flash Professionnel uniquement)
145
Voir aussi
DataType.setAsString()
ComponentMixins.initComponent()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
mx.data.binding.ComponentMixins.initComponent(occurrenceDeComposant)
Paramètres
occurrenceDeComposant
Référence à une occurrence de composant.
Renvoie
Rien.
Description
Méthode (statique) : ajoute toutes les méthodes ComponentMixins au composant spécifié par
occurrenceDeComposant. Cette méthode est appelée automatiquement pour tous les
composants impliqués dans une liaison de données. Pour que les méthodes ComponentMixins
puissent être utilisées par un composant qui n’est pas impliqué dans une liaison de données, vous
devez appeler explicitement cette méthode pour le composant.
Exemple
Le code suivant met les méthodes ComponentMixins à la disposition d’un composant DataSet.
mx.data.binding.ComponentMixins.initComponent(_root.monEnsembleDeDonnées);
ComponentMixins.refreshFromSources()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
occurrenceDeComposant.refreshSources()
Renvoie
Rien.
146
Chapitre 4 : Dictionnaire des composants
Description
Méthode : exécute toutes les liaisons pour lesquelles occurrenceDeComposant est l’objet
EndPoint de destination. Cette méthode vous permet d’exécuter des liaisons qui ont des sources
constantes ou des sources n’émettant pas d’événement "data changed" (données modifiées).
Exemple
L’exemple suivant exécute toutes les liaisons pour lesquelles l’occurrence de composant ListBox
appelée listeVilles est l’objet EndPoint de destination.
listeVilles.refreshFromSources();
ComponentMixins.refreshDestinations()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
occurrenceDeComposant.refreshDestinations()
Renvoie
Rien.
Description
Méthode : exécute toutes les liaisons pour lesquelles occurrenceDeComposant est l’objet
EndPoint source. Cette méthode vous permet d’exécuter des liaisons dont les sources n’émettent
pas d’événement "data changed" (données modifiées).
Exemple
L’exemple suivant exécute toutes les liaisons pour lesquelles l’occurrence de composant DataSet
appelée données_utilisateur est l’objet EndPoint source.
données_utilisateur.refreshDestinations();
ComponentMixins.validateProperty()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
occurrenceDeComposant.validateProperty(nomDeProp)
Paramètres
nomDeProp
Chaîne contenant le nom d’une propriété appartenant à occurrenceDeComposant.
Classes de liaison des données (Flash Professionnel uniquement)
147
Renvoie
Un tableau ou la valeur null.
Description
Méthode : détermine si les données contenues dans la chaîne nomDeProp sont valides en fonction
des paramètres de schéma de la propriété. Les paramètres de schéma de la propriété sont ceux
spécifiés sous l’onglet Schéma, dans le panneau Inspecteur de composants.
La méthode renvoie la valeur null si les données sont valides ; dans le cas contraire, elle renvoie
un tableau de messages d’erreur au format chaîne.
La validation s’applique uniquement aux champs pour lesquels des informations de schéma sont
disponibles. Si un champ est un objet contenant d’autres champs, chaque champ enfant sera
validé, de manière récursive. Chaque champ distribuera un événement valid ou invalid, selon
le cas. Pour chaque champ de données contenu par nomDeProp, cette fonction distribue des
événements valid ou invalid, comme suit :
• Si la valeur du champ est nulle et n’est pas obligatoire, la méthode renvoie la valeur null.
Aucun événement n’est généré.
• Si la valeur du champ est nulle et est obligatoire, une erreur est renvoyée et un événement
invalid
est généré.
• Si la valeur du champ n’est pas nulle et le schéma du champ ne possède pas de validateur, la
•
méthode renvoie la valeur null ; aucun événement n’est généré.
Si la valeur n’est pas nulle et le schéma du champ ne définit pas de validateur, les données sont
alors traitées par l’objet validateur. Si les données sont valides, un événement valid est généré
et la valeur null est renvoyée ; dans le cas contraire, un événement invalid est généré et un
tableau de chaînes d’erreur est renvoyé.
Exemple
Les exemples suivants indiquent comment utiliser la méthode validateProperty() pour
s’assurer que le texte saisi par un utilisateur est d’une longueur valide. Vous déterminez la
longueur valide en définissant les paramètres de validation des chaînes (paramètre Validation
Options) du type de données String, sous l’onglet Schéma du panneau Inspecteur de composants.
Si l’utilisateur saisit une chaîne d’une longueur non valide dans un champ de texte, les messages
d’erreur renvoyés par la méthode validateProperty() s’affichent dans le panneau de sortie.
Pour valider le texte saisi par un utilisateur dans un composant TextInput :
1 Faites glisser un composant TextInput du panneau Composants (Fenêtre > Panneaux de
développement > Composants) sur la scène, puis nommez-le codePostal_txt.
2 Sélectionnez le composant TextInput, puis dans le panneau Inspecteur de composants
(Fenêtre > Panneaux de développement > Composants), cliquez sur l’onglet Schéma.
3 Dans le panneau de l’arborescence de schéma (panneau supérieur de l’onglet Schéma),
sélectionnez la propriété text.
4 Dans le panneau des attributs du schéma (panneau inférieur de l’onglet Schéma), sélectionnez
ZipCode dans le menu déroulant du paramètre Data Type.
5 Choisissez Fenêtre > Scénario pour ouvrir le scénario, s’il n’est pas déjà ouvert.
6 Cliquez sur la première image du calque 1 dans le scénario, puis ouvrez le panneau Actions
(Fenêtre > Actions).
148
Chapitre 4 : Dictionnaire des composants
7 Ajoutez le code suivant au panneau Actions
// Ajouter les méthodes ComponentMixin au composant TextInput.
// Cette étape est requise uniquement si le composant
// n’est pas déjà impliqué dans une liaison de données,
// en tant que source ou destination.
mx.data.binding.ComponentMixins.initComponent(codePostal_txt);
// Définition de la fonction d’écouteur d’événements pour le composant :
validationRésultats = function (objEvt) {
var erreurs:Array = objEvt.target.validateProperty("text");
if (errors != null) {
trace(erreurs);
}
};
// Enregistrement de la fonction d’écouteur avec le composant :
codePostal_txt.addEventListener("enter", validationRésultats);
8 Choisissez Fenêtre > Autres panneaux > Bibliothèques communes > Classes pour ouvrir la
bibliothèque Classes.
9 Ouvrez la bibliothèque de votre document en choisissant Fenêtre > Bibliothèque.
10 Faites glisser le composant DataBindingClasses de la bibliothèque Classes dans le panneau de la
bibliothèque de votre document.
Cette étape est nécessaire pour que le fichier SWF puisse utiliser les classes d’exécution de
liaison des données au moment de son exécution. Pour plus d’informations, consultez
« Utilisation de la liaison des données et des services web à l’exécution (Flash Professionnel
uniquement) », dans le guide Utilisation de Flash de l’aide.
11 Testez le fichier SWF en choisissant Contrôle > Tester l’animation.
Dans le composant TextInput, sur la scène, entrez un code postal américain non valide ;
par exemple, un code qui contient des lettres ou qui contient moins de cinq chiffres. Vérifiez
les messages d’erreur dans le panneau de sortie.
Classe DataType (Flash Professionnel uniquement)
Nom de classe ActionScript
mx.data.binding.DataType
La classe DataType offre un accès en lecture et en écriture aux champs de données d’une propriété
de composant. Pour obtenir un objet DataType, vous devez appeler la fonction
ComponentMixins.getField() sur un composant. Vous pouvez ensuite appeler les méthodes de
l’objet DataType pour obtenir et définir la valeur du champ.
La différence entre l’obtention et la définition de valeurs de champs à l’aide des méthodes de
l’objet DataType et l’obtention ou la définition de ces mêmes valeurs directement dans
l’occurrence du composant est que, dans le deuxième cas, ces données sont fournies sous leur
forme « brute ». Inversement, lorsque vous obtenez ou définissez des valeurs de champs à l’aide
des méthodes de la classe DataType, ces valeurs sont traitées selon les paramètres de schéma du
champ.
Par exemple, le code suivant obtient directement la valeur de la propriété d’un composant puis
l’affecte à une variable. La variable, VarProp, contient la valeur « brute » correspondant à la valeur
active de la propriété nomPropriété.
var VarProp = monComposant.nomPropriété;
Classes de liaison des données (Flash Professionnel uniquement)
149
L’exemple suivant obtient la valeur de cette même propriété à l’aide de la méthode
DataType.getAsString(). Dans ce cas, la valeur affectée à VarChaîne est la valeur de
nomPropriété suite à son traitement selon ses paramètres de schéma puis à son renvoi sous forme
de chaîne.
var objDataType:mx.data.binding.DataType = monComposant.getField("nomProp");
var VarChaîne : Chaîne = objDataType.getAsString();
Pour plus d’informations sur la méthode de spécification des paramètres de schéma d’un champ,
consultez « Utilisation des schémas dans l’onglet Schéma (Flash Professionnel uniquement) »,
dans le manuel Utilisation de Flash de l’aide.
Vous pouvez également utiliser les méthodes de la classe DataType pour obtenir ou définir des
champs dans différents types de données. La classe DataType convertit automatiquement les
données brutes dans le type demandé, si cela est possible. Par exemple, dans l’exemple de code
précédent, les données extraites sont converties au format String (Chaîne), même si les données
brutes sont d’un type différent.
La méthode ComponentMixins.getField() peut être utilisée pour les composants inclus dans
une liaison de données (en tant que source, destination ou index) ou ayant été initialisés à l’aide
de la méthode ComponentMixins.initComponent(). Pour plus d’informations, consultez Classe
ComponentMixins (Flash Professionnel uniquement), page 144.
Remarque : Pour rendre cette classe disponible lors de l’exécution, vous devez inclure le composant
DataBindingClasses dans votre document FLA. Pour plus d’informations, consultez « Utilisation de
la liaison des données et des services web à l’exécution (Flash Professionnel uniquement) », dans le
guide Utilisation de Flash de l’aide.
Pour un aperçu des classes dans le paquet mx.data.binding, consultez Classes de liaison des données
(Flash Professionnel uniquement), page 128.
Méthodes de la classe DataType
Méthode
Description
DataType.getAsBoolean()
Extrait la valeur active du champ sous forme de valeur booléenne
(Boolean).
DataType.getAsNumber()
Extrait la valeur active du champ sous forme de nombre (Number).
DataType.getAsString()
Extrait la valeur active du champ sous forme de chaîne (String).
DataType.getAnyTypedValue() Extrait la valeur active du champ.
DataType.getTypedValue()
Extrait la valeur active du champ sous la forme du type de données
demandé.
DataType.setAnyTypedValue() Définit une nouvelle valeur dans le champ.
150
DataType.setAsBoolean()
Définit le champ à la nouvelle valeur, donnée sous forme booléenne.
DataType.setAsNumber()
Définit le champ à la nouvelle valeur, donnée sous forme de nombre.
DataType.setAsString()
Définit le champ à la nouvelle valeur, donnée sous forme de chaîne.
DataType.setTypedValue()
Définit une nouvelle valeur dans le champ.
Chapitre 4 : Dictionnaire des composants
Propriétés de la classe DataType
Propriété
Description
DataType.encoder
Fournit une référence à l’objet Encoder associé à ce champ.
DataType.formatter
Fournit une référence à l’objet Formatter associé à ce champ.
DataType.kind
Fournit une référence à l’objet Kind associé à ce champ.
DataType.encoder
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
objetDataType.encoder
Description
Propriété : fournit une référence à l’objet Encoder associé à ce champ, s’il existe. Vous pouvez
utiliser cette propriété pour accéder aux propriétés et aux méthodes définies par l’encodeur
spécifique appliqué au champ dans l’onglet Schéma du panneau Inspecteur de composants.
Si aucun encodeur n’a été appliqué au champ concerné, la propriété renvoie la valeur undefined.
Pour plus d’informations sur les encodeurs inclus dans Flash MX Professionnel 2004, consultez
« Encodeurs de schéma (Flash Professionnel uniquement) », dans le guide Utilisation de Flash de
l’aide.
Exemple
Dans l’exemple suivant, nous supposons que le champ auquel l’utilisateur accède (valide) utilise
l’encodeur Boolean (mx.data.encoders.Bool). Cet encodeur est inclus dans
Flash MX Professionnel 2004 et contient une propriété appelée trueStrings, qui spécifie les
chaînes devant être interprétées en tant que valeurs booléennes true. Le code suivant définit la
propriété trueStrings de l’encodeur d’un champ afin qu’elle corresponde aux chaînes "yes" et
"oui".
var monChamp:mx.data.binding.DataType = dataSet.getField("valide");
monChamp.encoder.trueStrings = "Yes,Oui";
DataType.formatter
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
objectDataType.formatter
Classes de liaison des données (Flash Professionnel uniquement)
151
Description
Propriété : fournit une référence à l’objet de mise en forme (Formatter) associé à ce champ, s’il
existe. Vous pouvez utiliser cette propriété pour accéder aux propriétés et méthodes de l’objet de
mise en forme appliqué au champ, dans l’onglet Schéma du panneau Inspecteur de composants.
Si aucun objet de mise en forme n’a été appliqué au champ en question, la propriété renvoie la
valeur undefined.
Pour plus d’informations sur les encodeurs inclus dans Flash MX Professionnel 2004, consultez
« Mises en forme de schéma (Flash Professionnel uniquement) », dans le guide Utilisation de
Flash de l’aide.
Exemple
Dans cet exemple, nous supposons que le champ auquel l’utilisateur accède utilise l’objet
NumberFormatter (mx.data.formatters.NumberFormatter) inclus dans Flash MX
Professionnel 2004. Cet objet de mise en forme contient une propriété appelée precision, qui
indique le nombre de chiffres à afficher après la virgule. Ce code définit la propriété precision à
deux chiffres après la virgule pour un champ utilisant l’objet NumberFormatter.
var monChamp:DataType = dataGrid.getField("soldeActuel");
monChamp.formatter.precision = 2;
DataType.getAsBoolean()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
objetDataType.getAsBoolean()
Renvoie
Une valeur booléenne.
Description
Méthode : extrait la valeur active du champ sous forme de valeur booléenne. La valeur est
convertie au format booléen si nécessaire.
Exemple
Dans cet exemple, un champ appelé NomProp appartenant au composant monComposant est
extrait sous forme de valeur booléenne, puis affecté à une variable.
var objDataType:mx.data.binding.DataType = monComposant.getField("nomProp");
var valeurProp:Boolean = objetDatatype.getAsBoolean();
152
Chapitre 4 : Dictionnaire des composants
DataType.getAsNumber()
Disponibilité
Flash Player 6.
Edition
Flash MX Professionnel 2004.
Utilisation
objetDataType.getAsNumber()
Renvoie
Un nombre.
Description
Méthode : extrait la valeur active du champ sous forme de nombre. La valeur est convertie au
format numérique si nécessaire.
Exemple
Dans cet exemple, un champ appelé NomProp appartenant au composant monComposant est
extrait sous forme de nombre, puis affecté à une variable.
var objDataType:mx.data.binding.DataType = monComposant.getField("nomProp");
var valeurProp:Number = objDataType.getAsNumber();
Voir aussi
DataType.getAnyTypedValue()
DataType.getAsString()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
objetDataType.getAsString()
Renvoie
Une chaîne.
Description
Méthode : extrait la valeur active du champ sous forme de chaîne. La valeur est convertie au
format chaîne si nécessaire.
Classes de liaison des données (Flash Professionnel uniquement)
153
Exemple
Dans cet exemple, une propriété d’un composant appelé NomProp appartenant au composant
monComposant est extraite sous forme de chaîne, puis affectée à une variable.
var objDataType:mx.data.binding.DataType = monComposant.getField("nomProp");
var valeurProp:String = objDataType.getAsString();
Voir aussi
DataType.getAnyTypedValue()
DataType.getAnyTypedValue()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
objetDataType.getAnyTypedValue(TypesSuggérés)
Paramètres
Tableau de chaînes spécifiant, dans l’ordre décroissant, les types de donnés
TypesSuggérés
préférés que vous souhaitez utiliser pour le champ. Pour plus d’informations, consultez la section
Description ci-après.
Renvoie
La valeur active du champ, sous la forme d’un des types de données spécifiés dans le tableau
TypesSuggérés.
Description
Méthode : extrait la valeur active du champ et la traite à l’aide des informations de schéma du
champ. Si le champ est en mesure de fournir une valeur comme premier type de données spécifié
dans le tableau TypesSuggérés, la méthode renvoie la valeur dans ce type de données. Dans le cas
contraire, la méthode tente d’extraire la valeur du champ en utilisant le deuxième type de données
spécifié dans le tableau TypesSuggérés, et ainsi de suite.
Si vous spécifiez null comme l’un des éléments dans le tableau TypesSuggérés, la méthode
renvoie la valeur du champ dans le type de données spécifié dans le panneau Schéma. La
spécification de null entraîne systématiquement le renvoi d’une valeur ; aussi, utilisez null
uniquement à la fin du tableau.
Si une valeur ne peut pas être renvoyée sous la forme de l’un des types suggérés, elle est renvoyée
sous la forme du type spécifié dans le panneau Schéma.
154
Chapitre 4 : Dictionnaire des composants
Exemple
Cet exemple tente d’obtenir la valeur d’un champ (infosProduit.disponibles) dans la
propriété results d’un composant XMLConnector, tout d’abord sous forme de nombre, ou en
cas d’échec, sous forme de chaîne.
import mx.data.binding.DataType;
import mx.data.binding.TypedValue;
var f: DataType = monConnecteurXml.getField("résultats",
"infosProduit.disponibles");
var b: TypedValue = f.getAnyTypedValue(["Number", "String"]);
Voir aussi
ComponentMixins.getField()
DataType.getTypedValue()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
objetDataType.getTypedValue(TypeDemandé)
Paramètres
TypeDemandé
Chaîne contenant le nom d’un type de données, ou null.
Renvoie
Un objet TypedValue (consultez Classe TypedValue (Flash Professionnel uniquement), page 160)
Description
Méthode : renvoie la valeur du champ sous la forme spécifiée par TypeDemandé, s’il est spécifié et
si le champ peut fournir sa valeur sous cette forme. Si le champ n’est pas en mesure de fournir sa
valeur sous la forme demandée, la méthode renvoie la valeur null.
Si null le paramètre TypeDemandé a la valeur null, la méthode renvoie la valeur du champ dans
son type par défaut.
Exemple
var bool:TypedValue = champ.getTypedValue("Booléen");
Classes de liaison des données (Flash Professionnel uniquement)
155
DataType.kind
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
objetDataType.kind
Description
Propriété : fournit une référence à l’objet Kind associé à ce champ. Vous pouvez l’utiliser pour
accéder aux propriétés et aux méthodes de l’objet Kind.
DataType.setAnyTypedValue()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
objetDataType.setAnyTypedValue(nouvelleValeur)
Paramètres
nouvelleValeur
Valeur d’un objet TypedValue à définir dans le champ.
Pour plus d’informations sur les objets TypedValue, consultez Classe TypedValue (Flash
Professionnel uniquement), page 160.
Renvoie
Un tableau de chaînes décrivant les erreurs qui se sont produites lors de la définition de la
nouvelle valeur. Des erreurs peuvent se produire dans les cas de figure suivants :
• Les données fournies ne peuvent pas être converties dans le type de données de ce champ (par
exemple, la chaîne "abc" ne peut pas être convertie au format Number).
• Les données sont d’un type acceptable mais ne répondent pas aux critères de validation du
champ.
• Le champ est en lecture seule.
Remarque : Le texte des messages variera en fonction du type de données, des mises en forme et
des encodeurs définis dans le schéma du champ.
Description
Méthode : définit une nouvelle valeur dans le champ, à l’aide des informations de schéma du
champ, pour traiter le champ.
156
Chapitre 4 : Dictionnaire des composants
Cette méthode fonctionne en appelant d’abord la méthode DataType.setTypedValue() pour
définir la valeur. Si cette opération échoue, la méthode vérifie si l’objet de destination accepte des
données au format String, Boolean ou Number. Si c’est le cas, elle tente ensuite d’utiliser les
fonctions de conversion ActionScript correspondantes.
Exemple
Cet exemple crée un nouvel objet TypedValue (booléen) puis affecte cette valeur à un objet
DataType appelé champ. Les erreurs qui se produisent sont affectées au tableau erreurs.
import mx.data.binding.*;
var t:TypedValue = new TypedValue (true, "Boolean");
var erreurs: Array = champ.setAnyTypedValue (t);
Voir aussi
DataType.setTypedValue()
DataType.setAsBoolean()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
objetDataType.setAsBoolean(nouvelleValeurBoolénne)
Paramètres
nouvelleValeurBooléenne
Valeur booléenne.
Renvoie
Rien.
Description
Méthode : définit le champ à la nouvelle valeur, qui est donnée sous forme booléenne (Boolean).
La valeur est convertie au type de données approprié pour ce champ, puis stockée sous ce type de
données.
Exemple
var bool: Boolean = true;
champ.setAsBoolean (bool);
Classes de liaison des données (Flash Professionnel uniquement)
157
DataType.setAsNumber()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
objetDataType.setAsNumber(nouvelleValeurNumérique)
Paramètres
nouvelleValeurNumérique
Nombre.
Renvoie
Rien.
Description
Méthode : définit le champ à la nouvelle valeur, donnée sous forme numérique (Number). La
valeur est convertie au type de données approprié pour ce champ, puis stockée sous ce type de
données.
Exemple
var num: Number = 32;
champ.setAsNumber (num);
DataType.setAsString()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
objetDataType.setAsString(nouvelleValeurChaîne)
Paramètres
nouvelleValeurChaîne
Chaîne.
Renvoie
Rien.
Description
Méthode : définit le champ à la nouvelle valeur, donnée sous forme de chaîne (String). La valeur
est convertie au type de données approprié pour ce champ, puis stockée sous ce type de données.
Exemple
var stringVal: String = "La nouvelle valeur";
champ.setAsString (valeurChaîne);
158
Chapitre 4 : Dictionnaire des composants
DataType.setTypedValue()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
objetDataType.setTypedValue(newValue)
Paramètres
nouvelleValeur
Valeur d’un objet TypedValue à définir dans le champ.
Pour plus d’informations sur les objets TypedValue, consultez Classe TypedValue (Flash
Professionnel uniquement), page 160.
Renvoie
Un tableau de chaînes décrivant les erreurs qui se sont produites lors de la définition de la
nouvelle valeur. Des erreurs peuvent se produire dans les cas de figure suivants :
• Les données fournies ne sont pas d’un type acceptable.
• Les données fournies ne peuvent pas être converties dans le type de données de ce champ (par
exemple, la chaîne "abc" ne peut pas être convertie au format Number).
• Les données sont d’un type acceptable mais ne répondent pas aux critères de validation du
•
champ.
Le champ est en lecture seule.
Remarque : Le texte des messages variera en fonction du type de données, des mises en forme et
des encodeurs définis dans le schéma du champ.
Description
Méthode : définit une nouvelle valeur dans le champ, à l’aide des informations de schéma du
champ, pour traiter le champ. Cette méthode agit de façon similaire à la méthode
DataType.setAnyTypedValue(), sauf qu’elle ne tente pas de convertir les données en un type de
données acceptable. Pour plus d’informations, consultez DataType.setAnyTypedValue().
Exemple
Cet exemple crée un nouvel objet TypedValue (booléen) puis affecte cette valeur à un objet
DataType appelé champ. Les erreurs qui se produisent sont affectées au tableau erreurs.
import mx.data.binding.*;
var bool:donnéeEntrée = new TypedValue (true, "Boolean");
var erreurs: Array = champ.setTypedValue (bool);
Voir aussi
DataType.setTypedValue()
Classes de liaison des données (Flash Professionnel uniquement)
159
Classe TypedValue (Flash Professionnel uniquement)
Nom de classe ActionScript
mx.data.binding.TypedValue
Un objet TypedValue contient une valeur de données, ainsi que des informations sur le type de
données de cette valeur. Les objets TypedValue sont utilisés en tant que paramètres et renvoyés par
plusieurs méthodes de la classe DataType. Les informations de type de données de l’objet
TypedValue permettent aux objets DataType de déterminer quand et comment ils doivent
effectuer la conversion du type de données.
Remarque : Pour rendre cette classe disponible lors de l’exécution, vous devez inclure le composant
DataBindingClasses dans votre document FLA. Pour plus d’informations, consultez « Utilisation de
la liaison des données et des services web à l’exécution (Flash Professionnel uniquement) », dans le
guide Utilisation de Flash de l’aide.
Pour un aperçu des classes dans le paquet mx.data.binding, consultez Classes de liaison des données
(Flash Professionnel uniquement), page 128.
Propriétés de la classe TypedValue
Propriété
Description
TypedValue.type
Contient le schéma associé à la valeur de l’objet TypedValue.
TypedValue.typeName
Contient le paramètre DataType de la valeur de l’objet TypedValue.
TypedValue.value
Contient la valeur de données de l’objet TypedValue.
Constructeur de la classe TypedValue
Disponibilité
Flash Player 6 version 79.
Usage
new mx.data.binding.TypedValue(valeur, nomType, [type])
Paramètres
valeur
Valeur de données pouvant être de tout type.
nomType
Chaîne contenant le paramètre DataType de la valeur.
(Facultatif ) Objet Schema décrivant de façon détaillée le schéma des données. Ce champ
est requis uniquement dans certaines circonstances ; par exemple, lors de la définition des données
dans la propriété dataProvider d’un composant DataSet.
type
Description
Constructeur : crée un nouvel objet TypedValue.
160
Chapitre 4 : Dictionnaire des composants
TypedValue.type
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
objetTypedValue.type
Description
Propriété : contient le schéma associé à la valeur de l’objet TypedValue. Elle est utilisée
uniquement dans certaines circonstances.
Exemple
Cet exemple affichera "null" dans le panneau de sortie.
var t: valeurEntrée = new TypedValue (true, "Boolean", null);
trace(t.type);
TypedValue.typeName
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
objetTypedValue.typeName
Description
Propriété : contient le paramètre DataType de la valeur de l’objet TypedValue.
Exemple
Cet exemple affichera "Boolean" dans le panneau de sortie.
var t: valeurEntrée = new TypedValue (true, "Boolean", null);
trace(t.typeName);
TypedValue.value
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
objetTypedValue.value
Classes de liaison des données (Flash Professionnel uniquement)
161
Description
Propriété : contient la valeur de données de l’objet TypedValue.
Exemple
Cet exemple affichera "true" dans le panneau de sortie.
var t: valeurEntrée = new TypedValue (true, "Boolean", null);
trace(t.value);
Composant DataGrid (Flash Professionnel uniquement)
Le composant DataGrid vous permet de créer des applications et des affichages de données
puissants. Vous pouvez utiliser le composant DataGrid pour instancier un jeu d’enregistrements
(extrait d’une requête de base de données dans ColdFusion, Java ou .Net) à l’aide de
Macromedia Flash Remoting et l’afficher en colonnes. Vous pouvez également utiliser les données
d’un ensemble de données ou d’un tableau pour remplir un composant DataGrid. Le composant
v2 DataGrid a été amélioré afin d’inclure la fonction de défilement horizontal, une meilleure prise
en charge des événements (notamment des événements dans les cellules modifiables), des
fonctionnalités de tri plus poussées, ainsi qu’une optimisation des performances.
Vous pouvez redimensionner et personnaliser des caractéristiques telles que la police, la couleur et
les bordures des colonnes d’une grille. Vous pouvez utiliser un clip personnalisé en tant qu’objet
Cell Renderer (pour le rendu des cellules) pour les colonnes d’une grille. Un objet Cell Renderer
affiche le contenu d’une cellule. Vous pouvez utiliser les barres de défilement pour faire défiler les
données figurant dans une grille ; vous pouvez également désactiver les barres de défilement et
utiliser les méthodes DataGrid pour créer un affichage du style mode Page.
Lorsque vous ajoutez le composant DataGrid à une application, vous pouvez utiliser le panneau
Accessibilité pour le rendre accessible aux logiciels de lecture. Vous devez d’abord ajouter la ligne
suivante de code pour activer l’accessibilité du composant DataGrid :
mx.accessibility.DataGridAccImpl.enableAccessibility();
Vous activez l’accessibilité d’un composant en une seule fois, quel que soit le nombre de ses
occurrences. Pour plus d’informations, consultez « Création de contenu accessible », dans le guide
Utilisation de Flash de l’aide.
Interaction avec le composant DataGrid (Flash Professionnel uniquement)
Vous pouvez utiliser la souris et le clavier pour interagir avec un composant DataGrid.
Si DataGrid.sortableColumns est true et DataGridColumn.sortOnHeaderRelease est
true, l’utilisateur peut trier la grille en fonction des valeurs des cellules d’une colonne en cliquant
sur l’en-tête de cette dernière.
Si DataGrid.resizableColumns est true, l’utilisateur peut redimensionner les colonnes en
cliquant sur la zone entre les colonnes.
Si l’utilisateur clique sur une cellule modifiable, cette cellule a le focus ; s’il clique sur une cellule
non modifiable, cela n’a aucun impact sur le focus. Une cellule est modifiable lorsque ses
propriétés DataGrid.editable et DataGridColumn.editable ont la valeur true.
162
Chapitre 4 : Dictionnaire des composants
Lorsqu’une occurrence de DataGrid a le focus (après que l’utilisateur a cliqué ou utilisé la touche
de tabulation), il est possible d’utiliser les touches suivantes pour la contrôler :
Touche
Description
Flèche vers le bas
Lorsque la cellule fait l’objet d’une modification, le point d’insertion se
positionne à la fin du texte de la cellule. Si la cellule n’est pas modifiable, la
flèche vers le bas gère la sélection de la même façon que le composant
List.
Flèche vers le haut
Lorsque la cellule fait l’objet d’une modification, le point d’insertion se
positionne au début du texte de la cellule. Si la cellule n’est pas
modifiable, la flèche vers le haut gère la sélection de la même façon que le
composant List.
Flèche vers la droite
Lorsque la cellule fait l’objet d’une modification, le point d’insertion se
déplace d’un caractère vers la droite. Si la cellule n’est pas modifiable,
cette action n’a aucune incidence.
Flèche vers la gauche
Lorsque la cellule fait l’objet d’une modification, le point d’insertion se
déplace d’un caractère vers la gauche. Si la cellule n’est pas modifiable,
cette action n’a aucune incidence.
Retour/Entrée/
Maj+Entrée
Lorsque la cellule est modifiable, la modification est validée et le point
d’insertion se place dans la cellule de la ligne suivante (vers le haut ou
vers le bas, en fonction du sens de basculement) dans la même colonne.
Maj+Tab/Tab
Place le focus sur l’élément précédent. Lorsque l’utilisateur appuie sur la
touche Tab, le focus englobe de la dernière colonne de la grille jusqu’à la
première colonne de la ligne suivante. Lorsque l’utilisateur appuie sur
Maj+Tab, l’ordre en inversé.
Utilisation du composant DataGrid (Flash Professionnel uniquement)
Vous pouvez utiliser le composant DataGrid comme base pour de nombreux types d’applications
de données. Vous pouvez facilement créer une vue tabulaire d’une requête de base de données (ou
d’autres données) et utiliser les fonctionnalités du composant CellRenderer pour créer des
éléments d’interface utilisateur plus sophistiqués et modifiables. Voici des exemples pratiques
d’utilisation du composant DataGrid :
• Client de messagerie web
• Pages de résultats de recherches
• Tableurs (calculateurs d’emprunts et applications de formulaires de déclaration d’impôt)
Le composant DataGrid comprend deux ensembles d’API : la classe DataGrid et la classe
DataGridColumn.
Présentation du composant DataGrid : affichage et modèle de données
Basiquement, le composant DataGrid est constitué d’un modèle de données et d’un affichage de
présentation des données. Le modèle de données est constitué de trois composants principaux :
• DataProvider (Fournisseur de données)
Composant DataGrid (Flash Professionnel uniquement)
163
Il s’agit d’une liste d’éléments permettant de remplir la grille de données. Un tableau se
trouvant dans la même image qu’un composant DataGrid se voit automatiquement attribuer
des méthodes (de l’API DataProvider) qui permettent de manipuler des données et de diffuser
les modifications dans plusieurs affichages. Tout objet qui implémente l’interface DataProvider
peut être affecté à la propriété DataGrid.dataProvider (notamment des jeux
d’enregistrements ou des ensembles de données). Le code suivant crée un fournisseur de
données appelé monDP :
monDP = new Array({nom:"Chris", prix:"SansPrix"}, {nom:"Nigel",
prix:"Economique"});
• Elément
Il s’agit d’un objet ActionScript utilisé pour stocker les unités d’informations des cellules d’une
colonne. Une grille de données est en fait une liste pouvant afficher plusieurs colonnes de
données. Une liste fonctionne de façon similaire à un tableau ; chaque espace indexé de la liste
est appelé élément. Pour le composant DataGrid, chaque élément est composé de champs.
Dans le code suivant, le texte placé entre accolades ({}) est un élément :
monDP = new Array({nom:"Chris", prix:"SansPrix"}, {nom:"Nigel",
prix:"Economique"});
• Champ
Identificateur indiquant le nom des colonnes dans les éléments. Correspond à la propriété
columnNames dans la liste de colonnes. Habituellement le composant List utilise les champs
label et data ; dans le cas du composant DataGrid, il peut s’agir de n’importe quel
identificateur. Dans le code suivant, les champs sont nom et prix :
monDP = new Array({nom:"Chris", prix:"SansPrix"}, {nom:"Nigel",
prix:"Economique"});
La vue comporte trois parties principales :
• Ligne (row)
•
•
164
Il s’agit d’un objet affichage chargé du rendu des éléments de la grille grâce à la disposition des
cellules. Chaque ligne est disposée horizontalement sous la ligne précédente.
Colonne (Column)
Il s’agit des objets affichage (occurrences de la classe DataGridColumn) chargés d’afficher
chaque colonne (elles contiennent les données de largeur, couleur, taille etc.).
Il existe trois méthodes pour ajouter des colonnes à une grille de données : L’affectation d’un
objet DataProvider à DataGrid.dataProvider (cette opération génère automatiquement une
colonne pour chaque champ dans le premier élément), la définition de la propriété
DataGrid.columnNames, pour préciser les champs qui seront affichés, ou l’utilisation du
constructeur de la classe DataGridColumn pour créer des colonnes, suivi de l’appel de la
méthode DataGrid.addColumn() pour les ajouter à la grille.
Pour formater les colonnes, vous pouvez définir les propriétés de style de toute la grille de
données ou définir les objets DataGridColumn, configurer leur format de style de façon
individuelle puis les ajouter à la grille de données.
Cellule (Cell)
Il s’agit d’un objet affichage chargé du rendu de chaque champ de chaque élément. Pour
communiquer avec la grille de données, ces composants doivent implémenter l’interface
CellRenderer (consultez API CellRenderer, page 84). Dans une grille de données de base, une
cellule est un objet TextField ActionScript intégré.
Chapitre 4 : Dictionnaire des composants
Paramètres du composant DataGrid
Les paramètres suivants sont des paramètres de programmation que vous pouvez définir pour
chaque occurrence de composant DataGrid dans le panneau de l’inspecteur des propriétés ou des
composants :
multipleSelection Valeur booléenne indiquant si plusieurs
(true) ou non (false). La valeur par défaut est false.
éléments peuvent être sélectionnés
Hauteur de chaque ligne, en pixels. La modification de la taille de la police ne
modifie pas la hauteur de la ligne. La valeur par défaut est 20.
rowHeight
editable Valeur booléenne indiquant si la grille est modifiable (true) ou non (false). La valeur
par défaut est false.
Vous pouvez contrôler ces options et d’autres options du composant DataGrid à l’aide des
propriétés, méthodes et événements d’ActionScript. Pour plus d’informations, consultez Classe
DataGrid (Flash Professionnel uniquement), page 167.
Création d’une application avec le composant DataGrid
Pour créer une application avec le composant DataGrid, vous devez tout d’abord déterminer d’où
viennent vos données. Les données d’une grille peuvent provenir d’un jeu d’enregistrements
alimenté par une requête de base de données dans Macromedia ColdFusion, Java, ou .Net à l’aide
du système Flash Remoting. Les données peuvent également provenir d’un ensemble de données
ou d’un tableau. Pour les intégrer dans une grille, vous devez définir la propriété
DataGrid.dataProvider (jeu d’enregistrements, ensemble de données ou tableau
correspondant). Vous pouvez également utiliser les méthodes des classes DataGrid et
DataGridColumn pour créer des données localement. Un objet Array (tableau) se trouvant dans
la même image qu’un composant DataGrid copie les méthodes, propriétés et événements de la
classe DataProvider.
Pour utiliser le système Flash Remoting afin d’ajouter un composant DataGrid à une
application, procédez comme suit :
1 Dans Flash, choisissez Fichier > Nouveau et sélectionnez Document Flash.
2 Dans le panneau des composants, double-cliquez sur le composant DataGrid pour l’ajouter sur
la scène.
3 Dans l’inspecteur des propriétés, entrez maGrilleDeDonnées comme nom d’occurrence.
4 Dans le panneau Actions, sur l’Image 1, entrez le code suivant :
maGrilleDeDonnées.dataProvider = occurrenceJeuEnregistrements;
Le jeu d’enregistrements Flash Remoting occurrenceJeuEnregistrements est affecté à la
propriété dataProvider de maGrilleDeDonnées.
5 Choisissez Contrôle > Tester l’animation.
Pour utiliser un fournisseur de données local afin d’ajouter un composant DataGrid à une
application :
1 Dans Flash, choisissez Fichier > Nouveau et sélectionnez Document Flash.
2 Dans le panneau des composants, double-cliquez sur le composant DataGrid pour l’ajouter sur
la scène.
3 Dans l’inspecteur des propriétés, entrez maGrilleDeDonnées comme nom d’occurrence.
Composant DataGrid (Flash Professionnel uniquement)
165
4 Dans le panneau Actions, sur l’Image 1, entrez le code suivant :
monDP = new Array({nom:"Chris", prix:"SansPrix"}, {nom:"Nigel",
prix:"Economique"});
maGrilleDeDonnées.dataProvider = monDP;
Les champs nom et prix sont utilisés comme en-têtes de colonne et leurs valeurs remplissent les
cellules dans chaque ligne.
5 Choisissez Contrôle > Tester l’animation.
Personnalisation du composant DataGrid (Flash Professionnel uniquement)
Vous pouvez transformer un composant DataGrid horizontalement et verticalement durant la
programmation et à l’exécution. Lors de la programmation, choisissez le composant sur la scène et
utilisez l’outil Transformer librement ou une commande de modification > transformation. A
l’exécution, utilisez la méthode setSize() (consultez UIObject.setSize()). Si aucune barre de
défilement horizontale n’est présente, la largeur des colonnes s’ajuste proportionnellement. Si une
modification de la taille des colonnes (et donc des cellules) intervient, le texte des cellules peut
être tronqué.
Utilisation des styles avec le composant DataGrid
Vous pouvez définir des propriétés de style afin de modifier l’aspect d’un composant DataGrid. Le
composant DataGrid hérite des styles de halo du composant List. Pour plus d’informations,
consultez Utilisation des styles avec le composant List, page 308. Le composant DataGrid prend
également en charge les styles de halo suivants :
Style
Description
backgroundColor
La couleur d’arrière-plan peut être définie pour l’ensemble de la
grille ou pour chaque colonne.
labelStyle
Le style de police peut être défini pour l’ensemble de la grille ou
pour chaque colonne.
headerStyle
Une déclaration de style CSS pour l’en-tête de colonne, pouvant
être appliquée à une grille ou à une colonne.
vGridLines
Valeur booléenne indiquant si les lignes verticales de la grille
doivent être affichées (true) ou non (false).
hGridLines
Valeur booléenne indiquant si les lignes horizontales de la grille
doivent être affichées (true) ou non (false).
vGridLineColor
Couleur des lignes verticales de la grille.
hGridLineColor
Couleur des lignes horizontales de la grille.
headerColor
Couleur des en-têtes de colonnes.
Si le tableau ci-dessus indique qu’un style peut être défini pour une colonne, vous pouvez utiliser
la syntaxe suivante pour définir le style :
grid.getColumnAt(3).setStyle("backgroundColor", 0xff00aa)
166
Chapitre 4 : Dictionnaire des composants
Utilisation d’enveloppes avec le composant DataGrid
Les enveloppes que le composant DataGrid utilise pour représenter ses états virtuels sont incluses
dans les sous-composants dont la grille de données est composée (ScrollPane et RectBorder). Pour
plus d’informations sur leurs enveloppes, consultez Utilisation des enveloppes avec le composant
ScrollPane, page 492 et Utilisation des enveloppes avec le composant List, page 309.
Toutefois, les sous-couches de sélection et de survol utilisent l’API de dessin d’ActionScript. Pour
appliquer des enveloppes à ces portions de la grille de données au cours de la programmation,
modifiez le code ActionScript dans les symboles d’enveloppes, dans le dossier Flash UI
Components 2/Themes/MMDefault/datagrid/skins states, dans la bibliothèque de l’un des
fichiers FLA de thèmes. Pour plus d’informations, consultez A propos de l’application des enveloppes
aux composants, page 38.
Classe DataGrid (Flash Professionnel uniquement)
Héritage mx.core.UIObject > mx.core.UIComponent > mx.core.View > mx.core.ScrollView >
mx.controls.listclasses.ScrollSelectList > mx.controls.List
Nom de classe ActionScript
mx.controls.DataGrid
Toutes les classes de composants ont une propriété version qui correspond à une propriété de
classe. Les propriétés de classe sont uniquement disponibles sur la classe elle-même. La propriété
version renvoie une chaîne qui indique la version du composant. Pour accéder à la propriété
version, utilisez le code suivant :
trace(mx.controls.DataGrid.version);
Remarque : Le code suivant renvoie la valeur undefined :
trace(occurrenceMaGrilleDeDonnées.version);.
Méthodes de la classe DataGrid
Méthode
Description
DataGrid.addColumn()
Ajoute une colonne à la grille de données.
DataGrid.addColumnAt()
Ajoute une colonne à la grille de données à un emplacement
spécifique.
DataGrid.addItem()
Ajoute un élément à la grille de données.
DataGrid.addItemAt()
Ajoute un élément à la grille de données à un emplacement
spécifique.
DataGrid.editField()
Remplace les données d’une cellule à un emplacement spécifié.
DataGrid.getColumnAt()
Obtient une référence à une colonne à un emplacement spécifié.
DataGrid.getColumnIndex()
Obtient l’index de la colonne.
DataGrid.removeAllColumns()
Supprime toutes les colonnes d’une grille de données.
DataGrid.removeColumnAt()
Supprime une colonne d’une grille de données à un
emplacement spécifié.
DataGrid.replaceItemAt()
Remplace un élément à un emplacement spécifié par un autre
élément.
DataGrid.spaceColumnsEqually() Espace les colonnes de manière égale.
Composant DataGrid (Flash Professionnel uniquement)
167
Hérite de toutes les propriétés des classes UIObject et UIComponent.
Propriétés de la classe DataGrid
Propriété
Description
DataGrid.columnCount
Lecture seule. Nombre de colonnes affichées.
DataGrid.columnNames
Tableau des noms de champs (affichés sous forme de colonnes)
de chaque élément.
DataGrid.dataProvider
Modèle de données d’une grille de données.
DataGrid.editable
Valeur booléenne indiquant si la grille de données est modifiable
(true) ou non (false).
DataGrid.focusedCell
Définit la cellule qui a le focus.
DataGrid.headerHeight
Hauteur des en-têtes de colonnes, en pixels.
DataGrid.hScrollPolicy
Indique si une barre de défilement horizontale est présente
("on"), non présente ("off") ou apparaît lorsque cela est
nécessaire ("auto").
DataGrid.resizableColumns
Valeur booléenne indiquant si les colonnes peuvent être
redimensionnées (true) ou non (false).
DataGrid.selectable
Valeur booléenne indiquant si la grille de données peut être
sélectionnée (true) ou non (false).
DataGrid.showHeaders
Valeur booléenne indiquant si les en-têtes de colonnes sont
visibles (true) ou non (false).
DataGrid.sortableColumns
Valeur booléenne indiquant si les colonnes peuvent être triées
(true) ou non (false).
Evénements de la classe DataGrid
168
Evénement
Description
DataGrid.cellEdit
Diffusé lorsque la valeur de la cellule a changé.
DataGrid.cellFocusIn
Diffusé lorsqu’une cellule reçoit le focus.
DataGrid.cellFocusOut
Diffusé lorsqu’une cellule perd le focus.
DataGrid.cellPress
Diffusé lorsque l’utilisateur clique dans une cellule.
DataGrid.change
Diffusé lorsqu’un élément a été sélectionné.
DataGrid.columnStretch
Diffusé lorsqu’une colonne est redimensionnée par un utilisateur.
DataGrid.headerRelease
Diffusé lorsqu’un utilisateur clique sur un en-tête puis le
désélectionne.
Chapitre 4 : Dictionnaire des composants
DataGrid.addColumn()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDeDonnées.addColumn(colonneGrilleDeDonnées)
maGrilleDeDonnées.addColumn(nom)
Paramètres
colonneGrilleDeDonnées
nom
Occurrence de la classe DataGridColumn.
Chaîne indiquant le nom d’un nouvel objet DataGridColumn à insérer.
Renvoie
Une référence à l’objet DataGridColumn qui a été ajouté.
Description
Méthode : ajoute une nouvelle colonne à la fin de la grille de données. Pour plus d’informations,
consultez Classe DataGridColumn (Flash Professionnel uniquement), page 187.
Exemple
Le code suivant permet d’ajouter un nouvel objet DataGridColumn nommé Violet :
import mx.controls.gridclasses.DataGridColumn;
maGrille.addColumn(new DataGridColumn("Violet"));
DataGrid.addColumnAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Usage 1 :
maGrilleDeDonnées.addColumnAt(index, nom)
Usage 2 :
maGrilleDeDonnées.addColumnAt(index, colonneGrilleDeDonnées)
Composant DataGrid (Flash Professionnel uniquement)
169
Paramètres
index
Position d’index à laquelle l’objet DataGridColumn est ajouté. La première position
est 0.
nom Chaîne indiquant le nom de l’objet DataGridColumn.
index ou le paramètre colonneGrilleDeDonnées.
colonneGrilleDeDonnées
Vous devez spécifier le paramètre
Occurrence de la classe DataGridColumn.
Renvoie
Une référence à l’objet DataGridColumn qui a été ajouté.
Description
Méthode : ajoute une nouvelle colonne à l’emplacement spécifié. Les colonnes sont déplacées vers
la droite et leur index est incrémenté. Pour plus d’informations, consultez Classe DataGridColumn
(Flash Professionnel uniquement), page 187.
Exemple
Dans l’exemple suivant, un nouvel objet DataGridColumn nommé "Vert" est inséré au niveau
de la deuxième et de la quatrième colonne :
import mx.controls.gridclasses.DataGridColumn;
maGrille.addColumnAt(1, "Vert");
maGrille.addColumnAt(3, new DataGridColumn("Violet"));
DataGrid.addItem()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDeDonnées.addItem(élément)
Paramètres
élément
Occurrence d’un objet à ajouter à la grille.
Renvoie
Une référence à l’occurrence qui a été ajoutée.
Description
Méthode : ajoute un élément à la fin de la grille (après le dernier index d’élément).
Remarque : Cette méthode diffère de la méthode List.addItem() dans la mesure où c’est un objet,
et non une chaîne, qui est transmis.
170
Chapitre 4 : Dictionnaire des composants
Exemple
L’exemple suivant permet d’ajouter un nouvel objet dans la grille maGrille :
var objet= {name:"Jim!!", age:30};
var objetAjouté = maGrille.addItem(objet);
DataGrid.addItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDeDonnées.addItemAt(index, élément)
Paramètres
index Ordre (parmi les nœuds enfants) dans lequel le nœud doit être ajouté. La première
position est 0.
élément
Chaîne qui affiche le nœud.
Renvoie
Une référence à l’occurrence d’objet qui a été ajoutée.
Description
Méthode : ajoute un élément à la grille à l’emplacement spécifié.
Exemple
L’exemple suivant permet d’insérer une occurrence d’objet dans la grille à la position d’index 4 :
var objet= {name:"Jim!!", age:30};
var objetAjouté = maGrille.addItemAt(4, objet);
DataGrid.cellEdit
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.cellEdit = function(objetEvt){
// insérez votre code ici
}
occurrenceMaGrilleDeDonnées.addEventListener("cellEdit", objetDécoute)
Composant DataGrid (Flash Professionnel uniquement)
171
Description
Evénement : diffusé à tous les objets d’écoute enregistrés lorsque la valeur d’une cellule a changé.
Les composants V2 utilisent un modèle d’événement dispatcher/écouteur. Le composant
DataGrid distribue un événement cellEdit lorsque la valeur d’une cellule a été modifiée ;
l’événement est géré par une fonction (également appelée gestionnaire) associée à un objet d’écoute
(objetDécoute) que vous créez. Vous appelez la méthode addEventListener() et lui
transmettez le nom du gestionnaire en tant que paramètre.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. L’objet événement de l’événement DataGrid.cellEdit possède quatre
propriétés supplémentaires :
columnIndex
itemIndex
oldValue
type
Nombre indiquant l’index de la colonne cible.
Nombre indiquant l’index de la ligne cible.
Valeur précédente de la cellule.
La chaîne "cellEdit".
Pour plus d’informations, consultez Objets événement, page 592.
Exemple
Dans l’exemple suivant, un gestionnaire appelé EcouteurDeMaGrilleDeDonnées est défini puis
transmis à la méthode maGrilleDeDonnées.addEventListener() en tant que second
paramètre. L’objet événement est capturé par le gestionnaire cellEdit dans le paramètre
objetEvt. Lorsque l’événement cellEdit est diffusé, une instruction trace est envoyée vers le
panneau de sortie, comme suit :
EcouteurDeMaGrilleDeDonnées = new Object();
EcouteurDemaGrilleDeDonnées.cellEdit = function(event){
var cellule = "(" + event.columnIndex + ", " + event.itemIndex + ")";
trace("La valeur de la cellule au niveau de " + cell + "a changé");
}
maGrilleDeDonnées.addEventListener("cellEdit", EcouteurDeMaGrilleDeDonnées);
Remarque : La grille doit être modifiable pour que ce code puisse fonctionner.
DataGrid.cellFocusIn
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.cellFocusIn = function(objetEvt){
// insérez votre code ici
}
occurrenceMaGrilleDeDonnées.addEventListener("cellFocusIn", objetDécoute)
172
Chapitre 4 : Dictionnaire des composants
Description
Evénement : diffusé à tous les objets d’écoute enregistrés lorsqu’une cellule reçoit le focus. Cet
événement est diffusé une fois que les événements editCell et cellFocusOut d’une cellule
préalablement modifiée sont diffusés.
Les composants V2 utilisent un modèle d’événement dispatcher/écouteur. Lorsqu’un composant
DataGrid distribue un événement cellFocusIn, cet événement est géré par une fonction
(également appelée gestionnaire) associée à un objet d’écoute (objetDécoute) que vous créez.
Vous appelez la méthode addEventListener() et lui transmettez le nom du gestionnaire en tant
que paramètre.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. L’objet événement de l’événement DataGrid.cellFocusIn possède trois
propriétés supplémentaires :
columnIndex
itemIndex
type
Nombre indiquant l’index de la colonne cible.
Nombre indiquant l’index de la ligne cible.
La chaîne "cellFocusIn".
Pour plus d’informations, consultez Objets événement, page 592.
Exemple
Dans l’exemple suivant, un gestionnaire appelé monEcouteur est défini puis transmis à la
méthode grid.addEventListener() comme second paramètre. L’objet événement est capturé
par le gestionnaire cellFocusIn dans le paramètre objetEvt. Lorsque l’événement cellFocusIn
est diffusé, une instruction trace est envoyée vers le panneau de sortie, comme suit :
var monEcouteur = new Object();
monEcouteur.cellFocusIn = function(event) {
var cellule = "(" + event.columnIndex + ", " + event.itemIndex + ")";
trace("La cellule au niveau de " + cell + " a obtenu le focus");
};
grid.addEventListener("cellFocusIn", monEcouteur);
Remarque : La grille doit être modifiable pour que ce code puisse fonctionner.
DataGrid.cellFocusOut
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.cellFocusOut = function(objetEvt){
// insérez votre code ici
}
occurrenceMaGrilleDeDonnées.addEventListener("cellFocusOut", objetDécoute)
Composant DataGrid (Flash Professionnel uniquement)
173
Description
Evénement : diffusé à tous les objets d’écoute enregistrés chaque fois qu’un utilisateur quitte une
cellule qui a le focus. Vous pouvez utiliser les propriétés de l’objet événement pour isoler la cellule
qui a été quittée. Cet événement est diffusé une fois que l’événement cellEdit est diffusé et
avant que les événements cellFocusIn consécutifs ne soient diffusés par la cellule suivante.
Les composants V2 utilisent un modèle d’événement dispatcher/écouteur. Lorsqu’un composant
DataGrid distribue un événement cellFocusOut, celui-ci est géré par une fonction (également
appelée gestionnaire) associée à un objet d’écoute que vous créez. Vous appelez la méthode
addEventListener() et lui transmettez le nom du gestionnaire en tant que paramètre.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. L’objet événement de l’événement DataGrid.cellFocusOut possède trois
propriétés supplémentaires :
columnIndex
itemIndex
type
Nombre indiquant l’index de la colonne cible. La première position est 0.
Nombre indiquant l’index de la ligne cible. La première position est 0.
La chaîne "cellFocusOut".
Pour plus d’informations, consultez Objets événement, page 592.
Exemple
Dans l’exemple suivant, un gestionnaire appelé monEcouteur est défini puis transmis à la
méthode grid.addEventListener() comme second paramètre. L’objet événement est capturé
par le gestionnaire cellFocusOut dans le paramètre objetEvt. Lorsque l’événement
cellFocusOut est diffusé, une instruction trace est envoyée vers le panneau de sortie, comme
suit :
var monEcouteur = new Object();
monEcouteur.cellFocusOut = function(event) {
var cellule = "(" + event.columnIndex + ", " + event.itemIndex + ")";
trace("La cellule au niveau de" + cell + " a le focus");
};
grille.addEventListener("cellFocusOut", monEcouteur);
Remarque : La grille doit être modifiable pour que ce code puisse fonctionner.
DataGrid.cellPress
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.cellPress = function(objetEvt){
// insérez votre code ici
}
occurrenceMaGrilleDeDonnées.addEventListener("cellPress", objetDécoute)
174
Chapitre 4 : Dictionnaire des composants
Description
Evénement : diffusé à tous les objets d’écoute enregistrés lorsqu’un utilisateur clique avec la souris
dans une cellule.
Les composants V2 utilisent un modèle d’événement dispatcher/écouteur. Lorsqu’un composant
DataGrid diffuse un événement cellPress, cet événement est géré par une fonction (également
appelée gestionnaire) associée à un objet d’écoute (objetDécoute) que vous créez. Vous appelez la
méthode addEventListener() et lui transmettez le nom du gestionnaire en tant que paramètre.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. L’objet événement de l’événement DataGrid.cellPress possède trois
propriétés supplémentaires :
columnIndex
itemIndex
type
Nombre indiquant l’index de la colonne cible. La première position est 0.
Nombre indiquant l’index de la ligne cible. La première position est 0.
La chaîne "cellPress".
Pour plus d’informations, consultez Objets événement, page 592.
Exemple
Dans l’exemple suivant, un gestionnaire appelé monEcouteur est défini puis transmis à la
méthode grid.addEventListener() comme second paramètre. L’objet événement est capturé
par le gestionnaire cellPress dans le paramètre objetEvt. Lorsque l’événement cellPress est
diffusé, une instruction trace est envoyée vers le panneau de sortie, comme suit :
var monEcouteur = new Object();
monEcouteur.cellPress = function(event) {
var cellule = "(" + event.columnIndex + ", " + event.itemIndex + ")";
trace("L’utilisateur a cliqué sur la cellule au niveau de" + cell);
};
grid.addEventListener("cellPress", monEcouteur);
DataGrid.change
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.change = function(objetEvt){
// insérez votre code ici
}
occurrenceMaGrilleDeDonnées.addEventListener("change", objetDécoute)
Composant DataGrid (Flash Professionnel uniquement)
175
Description
Evénement : diffusé à tous les objets d’écoute enregistrés lorsqu’un élément a été sélectionné.
Les composants V2 utilisent un modèle d’événement dispatcher/écouteur. Lorsqu’un composant
DataGrid distribue un événement change, cet événement est géré par une fonction (également
appelée gestionnaire) associée à un objet d’écoute (objetDécoute) que vous créez. Vous appelez la
méthode addEventListener() et lui transmettez le nom du gestionnaire en tant que paramètre.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. L’objet événement de l’événement DataGrid.change comprend une
propriété supplémentaire, type, dont la valeur est "change". Pour plus d’informations, consultez
Objets événement, page 592.
Exemple
Dans l’exemple suivant, un gestionnaire appelé monEcouteur est défini puis transmis à la
méthode grid.addEventListener() comme second paramètre. L’objet événement est capturé
par le gestionnaire change dans le paramètre objetEvt. Lorsque l’événement change est diffusé,
une instruction trace est envoyée au panneau Sortie, comme suit :
var monEcouteur = new Object();
monEcouteur.change = function(event) {
trace("La sélection a été remplacée par " + event.target.selectedIndex);
};
grille.addEventListener("change", monEcouteur);
DataGrid.columnCount
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDeDonnées.columnCount
Description
Propriété (lecture seule) : nombre de colonnes affichées.
Exemple
L’exemple suivant obtient le nombre de colonnes affichées dans l’occurrence DataGrid nommée
grille.
var c = grille.columnCount;
176
Chapitre 4 : Dictionnaire des composants
DataGrid.columnNames
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDeDonnées.columnNames
Description
Propriété : tableau des noms de champs (affichés sous forme de colonnes) de chaque élément.
Exemple
L’exemple suivant permet d’indiquer à l’occurrence grille de n’afficher que ces trois champs
comme colonnes :
grille.columnNames = ["Nom", "Description", "Prix"];
DataGrid.columnStretch
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.columnStretch = function(objetEvt){
// insérez votre code ici
}
occurrenceMaGrilleDeDonnées.addEventListener("columnStretch", objetDécoute)
Description
Evénement : diffusé à l’ensemble des écouteurs enregistrés lorsque un utilisateur redimensionne
une colonne horizontalement.
Les composants V2 utilisent un modèle d’événement dispatcher/écouteur. Lorsqu’un composant
DataGrid distribue un événement columnStretch, cet événement est géré par une fonction
(également appelée gestionnaire) associée à un objet d’écoute (objetDécoute) que vous créez.
Vous appelez la méthode addEventListener() et lui transmettez le nom du gestionnaire en tant
que paramètre.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. L’objet événement de l’événement DataGrid.columnStretch possède deux
propriétés supplémentaires :
columnIndex
Nombre indiquant l’index de la colonne cible. La première position est 0.
Composant DataGrid (Flash Professionnel uniquement)
177
type
La chaîne "columnStretch".
Pour plus d’informations, consultez Objets événement, page 592.
Exemple
Dans l’exemple suivant, un gestionnaire appelé monEcouteur est défini puis transmis à la
méthode grid.addEventListener() comme second paramètre. L’objet événement est capturé
par le gestionnaire columnStretch dans le paramètre objetEvt. Lorsque l’événement
columnStretch est diffusé, une instruction trace est envoyée vers le panneau de sortie, comme
suit :
var monEcouteur = new Object();
monEcouteur.columnStretch = function(event) {
trace("la colonne " + event.columnIndex + "a été redimensionnée");
};
grille.addEventListener("columnStretch", monEcouteur);
DataGrid.dataProvider
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDeDonnées.dataProvider
Description
Propriété : modèle de données des éléments affichés dans un composant DataGrid.
La grille de données ajoute des méthodes au prototype de la classe Array de façon à ce que chaque
objet Array soit conforme à l’interface DataProvider (voir le fichier DataProvider.as dans le dossier
Classes/mx/controls/listclasses). Tout tableau existant dans la même image ou le même écran
qu’une grille de données dispose automatiquement de toutes les méthodes (addItem(),
getItemAt(), etc.) requises pour en faire le modèle de données d’une grille de données. Il peut
être utilisé pour transmettre les modifications de modèle de données à plusieurs composants.
Dans un composant DataGrid, vous spécifiez les champs à afficher dans la propriété
DataGrid.columnNames.
Si vous ne définissez pas l’ensemble de colonnes (en définissant la propriété
DataGrid.columnNames ou en appelant la méthode DataGrid.addColumn()) de la grille de
données avant que la propriété DataGrid.dataProvider ne soit définie, la grille de données
génère des colonnes pour chaque champ dans le premier élément du fournisseur de données, une
fois cet élément généré.
Tout objet implémentant l’interface DataProvider peut être utilisé en tant que fournisseur de
données pour une grille de données (y compris les jeux d’enregistrements, les ensembles de
données et les tableaux Flash Remoting).
178
Chapitre 4 : Dictionnaire des composants
Exemple
L’exemple suivant permet de créer un tableau à utiliser comme fournisseur de données et
d’assigner directement ce dernier à la propriété dataProvider :
grille.dataProvider = [{nom:"Chris", prix:"Sans prix"}, {nom:"Nigel",
Prix:"Economique"}];
L’exemple suivant crée un nouvel objet Array (tableau) qui est décoré avec la classe DataProvider.
Il utilise une boucle for pour ajouter 20 éléments à la grille :
monFD = new Array();
for (var i=0; i<20; i++)
monDP.addItem({nom:"Nivesh", prix:"Sans prix"});
liste.dataProvider = monDP
DataGrid.editable
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDeDonnées.editable
Description
Propriété : détermine si la grille de données peut être modifiée par un utilisateur (true) ou non
(false). Cette propriété doit avoir la valeur true pour que les colonnes puissent être modifiées
individuellement et pour que les cellules puissent recevoir le focus. La valeur par défaut est false.
Exemple
L’exemple suivant permet de définir la position de défilement en haut de l’affichage :
maGrilleDeDonnées.editable = true;
DataGrid.editField()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDeDonnées.editField(index, nomCol, données)
Paramètres
index
nomCol
données
Index de la cellule cible. La numérotation de cette valeur commence à zéro.
Chaîne indiquant le nom de la colonne (champ) contenant la cellule cible.
Valeur à stocker dans la cellule cible. Ce paramètre peut être de tout type.
Composant DataGrid (Flash Professionnel uniquement)
179
Renvoie
Les données qui étaient dans la cellule.
Description
Méthode : remplace les données de la cellule à l’emplacement spécifié.
Exemple
L’exemple suivant permet de placer une valeur dans la grille :
var valeur = maGrille.editField(5, "Nom", "Neo");
DataGrid.focusedCell
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDeDonnées.focusedCell
Description
Propriété : en mode d’édition uniquement, occurrence d’objet définissant la cellule qui a le focus.
L’objet doit avoir les champs columnIndex et itemIndex, qui sont tous deux des entiers
indiquant l’index de la colonne et de l’élément de la cellule. L’origine est (0,0). La valeur par
défaut est undefined.
Exemple
L’exemple suivant permet de placer la cellule en surbrillance (ayant le focus) dans la quatrième
ligne de la troisièème colonne :
grille.focusedCell = {columnIndex:2, itemIndex:3};
DataGrid.getColumnAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDeDonnées.getColumnAt(index)
Paramètres
index Index de l’objet DataGridColumn à renvoyer. La numérotation de cette valeur
commence à zéro.
180
Chapitre 4 : Dictionnaire des composants
Renvoie
Un objet DataGridColumn.
Description
Méthode : obtient une référence à l’objet DataGridColumn au niveau de l’index spécifié.
Exemple
L’exemple suivant obtient l’objet DataGridColumn à l’index 4 :
var colonne = maGrille.getColumnAt(4);
DataGrid.getColumnIndex()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDeDonnées.getColumnIndex(index)
Paramètres
index
Index de l’objet DataGridColumn à renvoyer.
Renvoie
Un objet DataGridColumn.
Description
Méthode : obtient une référence à l’objet DataGridColumn au niveau de l’index spécifié.
DataGrid.headerHeight
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDeDonnées.headerHeight
Description
Propriété : hauteur de la barre d’en-tête de la grille de données. La valeur par défaut est 20.
Exemple
L’exemple suivant permet de définir la position de défilement en haut de l’affichage :
maGrilleDeDonnées.headerHeight = 30;
Composant DataGrid (Flash Professionnel uniquement)
181
DataGrid.headerRelease
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.headerRelease = function(objetEvt){
// insérez votre code ici
}
occurrenceMaGrilleDeDonnées.addEventListener("headerRelease", objetDécoute)
Description
Evénement : diffusé à l’ensemble des écouteurs enregistrés lorsque l’utilisateur désélectionne un
en-tête de colonne. Vous pouvez utiliser cet événement avec la propriété
DataGridColumn.sortOnHeaderRelease pour empêcher tout tri automatique et vous permettre
d’effectuer le tri selon vos préférences.
Les composants V2 utilisent un modèle d’événement dispatcher/écouteur. Lorsque le composant
DataGrid distribue un événement headerRelease, cet événement est géré par une fonction
(également appelée gestionnaire) associée à un objet d’écoute (objetDécoute) que vous créez.
Vous appelez la méthode addEventListener() et lui transmettez le nom du gestionnaire en tant
que paramètre.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. L’objet événement de l’événement DataGrid.headerRelease possède deux
propriétés supplémentaires :
columnIndex
type
Nombre indiquant l’index de la colonne cible.
La chaîne "headerRelease".
Pour plus d’informations, consultez Objets événement, page 592.
Exemple
Dans l’exemple suivant, un gestionnaire appelé monEcouteur est défini puis transmis à la
méthode grid.addEventListener() comme second paramètre. L’objet événement est capturé
par le gestionnaire headerRelease dans le paramètre objetEvt. Lorsque l’événement
headerRelease est diffusé, une instruction trace est envoyée vers le panneau de sortie, comme
suit :
var monEcouteur = new Object();
monEcouteur.headerRelease = function(event) {
trace("L’en-tête de colonne " + event.columnIndex + " a été activé");
};
grid.addEventListener("headerRelease", monEcouteur);
182
Chapitre 4 : Dictionnaire des composants
DataGrid.hScrollPolicy
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDeDonnées.hScrollPolicy
Description
Propriété : spécifie si la grille de données comprend une barre de défilement horizontale. Cette
propriété comporte trois valeurs : "on", "off" et "auto". La valeur par défaut est "off".
Si vous avez défini hScrollPolicy sur "off", les colonnes sont redimensionnées
proportionnellement pour être adaptées à la largeur déterminée.
Exemple
L’exemple suivant définit la régulation de défilement horizontal sur automatique :
maGrilleDonnées.hScrollPolicy = "auto";
DataGrid.removeAllColumns()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDonnées.removeAllColumns()
Paramètres
Aucun.
Renvoie
Rien.
Description
Méthode : supprime tous les objets DataGridColumn de la grille de données. L’appel de cette
méthode n’a aucun effet sur le fournisseur de données.
Exemple
L’exemple suivant supprime tous les objets DataGridColumn de maGrilleDonnées :
maGrilleDonnées.removeAllColumns();
Composant DataGrid (Flash Professionnel uniquement)
183
DataGrid.removeColumnAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDonnées.removeColumnAt(index)
Paramètres
index
Index de la colonne à supprimer.
Renvoie
Référence à l’objet DataGridColumn supprimé.
Description
Méthode : supprime l’objet DataGridColumn à l’index spécifié.
Exemple
L’exemple suivant supprime l’objet DataGridColumn à l’index 2 dans maGrilleDonnées :
maGrilleDonnées.removeColumnAt(2);
DataGrid.replaceItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDonnées.replaceItemAt(index, item)
Paramètres
index
item
Index de l’élément à remplacer.
Objet correspondant à la valeur de l’élément à utiliser comme valeur de remplacement.
Renvoie
La valeur précédente.
Description
Méthode : remplace l’élément à l’emplacement d’index spécifié.
184
Chapitre 4 : Dictionnaire des composants
Exemple
L’exemple suivant remplace l’élément à l’index 4 par l’élément défini dans uneNouvelleValeur :
var uneNouvelleValeur = {name:"Jean", value:"fatigué"};
var valPréc = maGrille.replaceItemAt(4, uneNouvelleValeur);
DataGrid.resizableColumns
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDonnées.resizableColumns
Description
Propriété : une valeur booléenne indiquant si les colonnes de la grille peuvent être étirées (true)
ou non (false) par l’utilisateur. Cette propriété doit être définie sur true pour que les colonnes
individuelles puissent être redimensionnées. La valeur par défaut est true.
Exemple
L’exemple suivant permet d’empêcher les utilisateurs de redimensionner les colonnes :
maGrilleDonnées.resizableColumns = false;
DataGrid.selectable
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDonnées.selectable
Description
Propriété : une valeur booléenne indiquant si l’utilisateur peut sélectionner (true) ou non
(false) la grille de données. La valeur par défaut est true.
Exemple
L’exemple suivant permet d’empêcher l’utilisateur de sélectionner la grille
maGrilleDonnées.selectable = false;
Composant DataGrid (Flash Professionnel uniquement)
185
DataGrid.showHeaders
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDonnées.showHeaders
Description
Propriété : une valeur booléenne indiquant si la grille de données doit afficher (true) ou non
(false) les en-têtes de colonnes. Les en-têtes de colonnes, gris, se distinguent facilement des
autres lignes d’une grille. Si DataGrid.sortableColumns est défini sur true, l’utilisateur peut
trier le contenu d’une colonne en cliquant sur son en-tête. La valeur par défaut est true.
Exemple
L’exemple suivant masque les en-têtes de colonnes :
maGrilleDonnées.showHeaders = false;
Voir aussi
DataGrid.sortableColumns
DataGrid.sortableColumns
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDonnées.sortableColumns
Description
Propriété : une valeur booléenne indiquant si les colonnes de la grille de données peuvent être
triées (true) ou non (false), lorsque l’utilisateur clique sur les en-têtes de colonne. Cette
propriété doit être définie sur true pour que les colonnes individuelles puissent être triées. Cette
propriété doit être définie sur true pour que l’événement headerRelease puisse être diffusé. La
valeur par défaut est true.
Exemple
L’exemple suivant désactive le tri :
maGrilleDonnées.sortableColumns = false;
Voir aussi
DataGrid.headerRelease
186
Chapitre 4 : Dictionnaire des composants
DataGrid.spaceColumnsEqually()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDonnées.spaceColumnsEqually()
Paramètres
Aucun.
Renvoie
Rien.
Description
Méthode : redimensionne les colonnes de façon égale.
Exemple
L’exemple suivant redimensionne les colonnes de maGrille lorsque l’utilisateur clique sur l’un des
en-têtes de colonnes :
maGrille.showHeaders = true
maGrille.dataProvider = [{guitar:"Flying V", name:"maggot"}, {guitar:"SG",
name:"dreschie"}, {guitar:"jagstang", name:"vitapup"}];
gridLO = new Object();
gridLO.headerRelease = function(){
maGrille.spaceColumnsEqually();
}
maGrille.addEventListener("headerRelease", gridLO);
Classe DataGridColumn (Flash Professionnel uniquement)
Nom de classe ActionScript
mx.controls.gridclassesDataGridColumn
Vous pouvez créer et configurer des objets DataGridColumn à utiliser en tant que colonnes d’une
grille de données. Un grand nombre de méthodes de la classe DataGrid est consacré à la gestion
des objets DataGridColumn. Dans la grille de données, les objets DataGridColumn sont triés
dans un tableau basé sur zéro ; 0 correspond à la colonne la plus à gauche. Une fois les colonnes
ajoutées ou créées, vous pouvez appeler DataGrid.getColumnAt(index) pour y accéder.
Il existe trois manières d’ajouter ou de créer des colonnes dans une grille. Si vous souhaitez
configurer les colonnes, il est préférable d’utiliser la deuxième ou la troisième méthode avant
d’ajouter des données dans une grille. Ainsi vous n’aurez pas à créer les colonnes deux fois.
• L’ajout d’un DataProvider ou d’un élément comprenant plusieurs champs à une grille qui n’a
pas d’objet DataGridColumn configuré génère automatiquement des colonnes pour chaque
champ en ordre inverse de la boucle for..in.
Composant DataGrid (Flash Professionnel uniquement)
187
•
•
DataGrid.columnNames récupère les noms de champs des champs d’éléments souhaités et
génère des objets DataGridColumn, dans l’ordre, pour chaque champ répertorié. Cette
approche vous permet de sélectionner et de classer rapidement les colonnes, en faisant appel à
un minimum de paramètres de configuration. Elle supprime toute information précédente liée
à la colonne.
La façon la plus souple d’ajouter des colonnes consiste à les précréer en tant qu’objets
DataGridColumn et à les ajouter à la grille de données en utilisant DataGrid.addColumn().
Cette approche est très pratique car elle permet d’ajouter des colonnes de taille et de format
adéquats alors que ces colonnes ne se trouvent pas encore dans la grille (le processeur est moins
sollicité). Pour plus d’informations, consultez Constructeur pour la classe DataGridColumn,
page 189.
Propriétés de la classe DataGridColumn
Propriété
Description
DataGridColumn.cellRenderer
L’identifiant de liaison d’un symbole à utiliser pour afficher
les cellules dans cette colonne.
DataGridColumn.columnName
Lecture seule. Le nom du champ associé à la colonne.
DataGridColumn.editable
Une valeur booléenne indiquant si une colonne est
modifiable (true) ou non (false).
DataGridColumn.headerRenderer
Le nom d’une classe à utiliser pour afficher l’en-tête de cette
colonne.
DataGridColumn.headerText
Le texte de l’en-tête de cette colonne.
DataGridColumn.labelFunction
Fonction qui détermine le champ d’un élément à afficher.
DataGridColumn.resizable
Une valeur booléenne indiquant si une colonne peut être
redimensionnée (true) ou non (false).
DataGridColumn.sortable
Une valeur booléenne indiquant si une colonne peut être
triée (true) ou non (false).
DataGridColumn.sortOnHeaderRelease Une valeur booléenne indiquant si une colonne peut être
triée (true) ou non (false) lorsque l’utilisateur clique sur l’en-
tête de cette dernière.
DataGridColumn.width
188
La largeur d’une colonne, en pixels.
Chapitre 4 : Dictionnaire des composants
Constructeur pour la classe DataGridColumn
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
new DataGridColumn(nom)
Paramètres
nom Chaîne indiquant le nom de l’objet DataGridColumn. Ce paramètre correspond au champ
de chaque élément à afficher.
Renvoie
Rien.
Description
Constructeur : crée un objet DataGridColumn. Utilisez ce constructeur pour créer des colonnes à
ajouter à un composant DataGrid. Une fois les objets DataGridColumn créés, vous pouvez les
ajouter à une grille de données en appelant DataGrid.addColumn().
Exemple
L’exemple suivant crée un objet DataGridColumn appelé Emplacement :
import mx.controls.gridclasses.DataGridColumn;
var colonne = new DataGridColumn("Emplacement");
DataGridColumn.cellRenderer
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDonnées.getColumnAt(index).cellRenderer
Description
Propriété : un identificateur de liaison pour un symbole à utiliser pour afficher des cellules dans
cette colonne. Toutes les classes utilisées pour cette propriété doivent implémenter l’interface
CellRenderer (consultez API CellRenderer, page 84.) La valeur par défaut est undefined.
Exemple
L’exemple suivant utilise un identificateur de liaison pour définir un nouvel objet cellRenderer :
maGrille.getColumnAt(3).cellRenderer = "MonCellRenderer";
Composant DataGrid (Flash Professionnel uniquement)
189
DataGridColumn.columnName
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDonnées.getColumnAt(index).columnName
Description
Propriété (lecture seule) : le nom du champ associé à cette colonne. La valeur par défaut est le
nom dont il est question dans le constructeur DataGridColumn.
Exemple
L’exemple suivant affecte le nom de la colonne située à la troisième position d’index à la variable
nom :
var nom = maGrille.getColumnAt(3).columnName;
Voir aussi
Constructeur pour la classe DataGridColumn
DataGridColumn.editable
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDonnées.getColumnAt(index).editable
Description
Propriété : détermine si l’utilisateur peut modifier (true) ou non (false) la colonne. La propriété
DataGrid.editable doit être définie sur true pour que les colonnes individuelles puissent être
modifiées, même lorsque DataGridColumn.editable est défini sur true. La valeur par défaut est
true.
Exemple
L’exemple suivant rend non modifiable la première colonne d’une grille :
maGrilleDonnées.getColumnAt(0).editable = false;
Voir aussi
DataGrid.editable
190
Chapitre 4 : Dictionnaire des composants
DataGridColumn.headerRenderer
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDonnées.getColumnAt(index).headerRenderer
Description
Propriété : une chaîne indiquant le nom de classe à utiliser pour afficher l’en-tête de cette
colonne. Toutes les classes utilisées pour cette propriété doivent implémenter l’interface
CellRenderer (consultez API CellRenderer, page 84). La valeur par défaut est undefined.
Exemple
L’exemple suivant utilise un identificateur de liaison pour définir un nouvel objet
headerRenderer :
maGrille.getColumnAt(3).headerRenderer = "MonHeaderRenderer";
DataGridColumn.headerText
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDonnées.getColumnAt(index).headerText
Description
Propriété : le texte de l’en-tête de colonne. La valeur par défaut est le nom de la colonne.
Exemple
L’exemple suivant définit l’en-tête de colonne sur "Le prix" :
var maColonne = new DataGridColumn("prix");
maColonne.headerText = "Le prix";
Composant DataGrid (Flash Professionnel uniquement)
191
DataGridColumn.labelFunction
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDonnées.getColumnAt(index).labelFunction
Description
Propriété : spécifie une fonction permettant de déterminer le champ (ou la combinaison de
champs) de chaque élément à afficher. Cette fonction reçoit un paramètre, item, qui correspond à
l’élément présenté et doit renvoyer une chaîne représentant le texte à afficher. Cette propriété peut
être utilisée pour créer des colonnes virtuelles qui n’ont pas de champ équivalent dans l’élément.
Exemple
L’exemple suivant crée une colonne virtuelle :
var maCol = maGrille.addColumn("Soustotal");
maCol.labelFunction = function(item) {
return "$" + (item.price + (item.price * salesTax));
};
DataGridColumn.resizable
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDonnées.getColumnAt(index).resizable
Description
Propriété : une valeur booléenne indiquant si l’utilisateur peut redimensionner (true) ou non
(false) une colonne. La propriété DataGrid.resizableColumns doit être définie sur true pour
que cette propriété prenne effet. La valeur par défaut est true.
Exemple
L’exemple suivant empêche l’utilisateur de redimensionner la colonne à l’index 1 :
maGrille.getColumnAt(1).resizable = false;
192
Chapitre 4 : Dictionnaire des composants
DataGridColumn.sortable
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDonnées.getColumnAt(index).sortable
Description
Propriété : une valeur booléenne indiquant si l’utilisateur peut trier (true) ou non (false) une
colonne. La propriété DataGrid.sortableColumns doit être définie sur true pour que cette
propriété prenne effet. La valeur par défaut est true.
Exemple
L’exemple suivant empêche l’utilisateur de trier la colonne à l’index 1 :
maGrille.getColumnAt(1).sortable = false;
DataGridColumn.sortOnHeaderRelease
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDonnées.getColumnAt(index).sortOnHeaderRelease
Description
Propriété : une valeur booléenne indiquant si la colonne peut être triée automatiquement (true)
ou non (false) lorsque l’utilisateur clique sur un en-tête. Cette propriété peut uniquement être
définie sur true si DataGridColumn.sortable est défini sur true. Si
DataGridColumn.sortOnHeaderRelease est défini sur false, vous pouvez utiliser l’événement
headerRelease et effectuer votre propre tri.
La valeur par défaut est true.
Exemple
L’exemple suivant vous permet d’utiliser l’événement headerRelease pour effectuer votre propre
tri :
maGrille.getColumnAt(7).sortOnHeaderRelease = false;
Composant DataGrid (Flash Professionnel uniquement)
193
DataGridColumn.width
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maGrilleDonnées.getColumnAt(index).width
Description
Propriété : un nombre qui indique la largeur d’une colonne, en pixels. La valeur par défaut est 50.
Exemple
L’exemple suivant divise par deux la valeur par défaut de la taille d’une colonne :
maGrille.getColumnAt(4).width = 25;
Composant DataHolder (Flash Professionnel uniquement)
Le composant DataHolder est un référentiel pour les données et un moyen de générer des
événements lors de la modification de ces données. Il permet essentiellement de stocker les
données et joue le rôle de connecteur entre d’autres composants, par l’intermédiaire de la liaison
de données.
Le composant DataHolder possède initialement une seule propriété de liaison, appelée data.
Vous pouvez ajouter davantage de propriétés via l’onglet Schéma du panneau Inspecteur de
composants (Fenêtre > Panneaux de développement > Inspecteur de composants). Pour plus
d’informations sur l’utilisation de l’onglet Schéma, consultez « Utilisation des schémas dans
l’onglet Schéma (Flash Professionnel uniquement) », dans le guide Utilisation de Flash de l’aide.
Vous pouvez affecter tout type de données à une propriété DataHolder, soit en créant une liaison
entre les données et une autre propriété, soit en utilisant votre propre code ActionScript. Lorsque
les valeurs des données sont modifiées, le composant DataHolder émet un événement dont le
nom est identique à celui de la propriété et exécute toute liaison associée à cette propriété.
Le composant DataHolder est particulièrement utile lorsqu’il est impossible d’associer
directement des composants (tels que des connecteurs, des composants d’interface utilisateur ou
des composants DataSet). Vous trouverez ci-dessous des scénarios dans lesquels vous pouvez
utiliser un composant DataHolder :
• Si une valeur de données est générée par ActionScript, vous pouvez l’associer à d’autres
composants. Dans ce cas, vous pouvez avoir un composant DataHolder qui contient des
propriétés associées à votre convenance. Lorsque de nouvelles valeurs sont affectées à ces
propriétés (à l’aide d’ActionScript, par exemple), ces valeurs sont distribuées à l’objet de liaison
des données.
194
Chapitre 4 : Dictionnaire des composants
• Vous pouvez par exemple avoir une valeur de données résultant d’une liaison des données
indexée et complexe, comme dans le diagramme suivant :
Méthode de
service Web
getMovies
Résultat
Zone de liste de
l'interface utilisateur
movieList
Résultat[movieList.selectedIndex]
Modèle de données
monModèleDeDonnées
data.movieTitle
Zone de texte
Titre
data.movieRating
Zone de texte
Classification
data.movieTimes
Zone de texte
Horaires
Dans ce cas, il est pratique de lier la valeur de données à un composant DataHolder (appelé
DataModel dans cette illustration), puis de l’utiliser pour des liaisons avec l’interface utilisateur.
Création d’une application avec le composant DataHolder (Flash
Professionnel uniquement)
Dans cet exemple, vous ajoutez une propriété Array à un schéma du composant DataHolder (un
tableau) dont la valeur est déterminée par le code ActionScript que vous rédigez. Liez ensuite cette
propriété Array à la propriété dataProvider d’un composant DataGrid, en utilisant l’onglet
Liaisons du panneau Inspecteur de composants.
Pour utiliser le composant DataHolder dans une application simple :
1 Dans Flash MX Professionnel 2004, créez un nouveau fichier.
2 Ouvrez le panneau Composants (Fenêtre > Panneaux de développement > Composants), faites
3
4
5
6
7
8
glisser un composant DataHolder sur la scène et nommez-le dataHolder.
Faites glisser un composant DataGrid sur la scène et nommez-le grilleNoms.
Sélectionnez le composant DataHolder, puis ouvrez le panneau Inspecteur de composants
(Fenêtre > Panneaux de développement > Inspecteur de composants).
Dans le panneau Inspecteur de composants, cliquez sur l’onglet Schéma.
Cliquez sur le bouton Ajouter une propriété de composant (+), situé dans le panneau supérieur
de l’onglet Schéma.
Dans le panneau inférieur de l’onglet Schéma, tapez tableauNoms dans le champ Nom du
champ et sélectionnez Array dans le menu déroulant Types de données.
Dans le panneau Inspecteur de composants, cliquez sur l’onglet Liaisons et ajoutez une liaison
entre la propriété tableauNoms du composant DataHolder et la propriété dataProvider du
composant DataGrid.
Pour plus d’informations sur la création de liaisons à partir de l’onglet Liaisons, consultez
« Utilisation des liaisons dans l’onglet Liaisons (Flash Professionnel uniquement) », dans le
guide Utilisation de Flash de l’aide.
Composant DataHolder (Flash Professionnel uniquement)
195
9 Dans le Scénario (Fenêtre > Scénario), sélectionnez la première image du Calque 1, puis ouvrez
le panneau Actions (Fenêtre > Panneaux de développement > Actions).
10 Entrez le code suivant dans le panneau Actions :
dataHolder.tableauNoms= [{name:"Tom"},{name:"Paul"},{name:"Jean"}];
Ce code remplit le tableau tableauNoms avec plusieurs objets. Lorsque l’affectation de variable
s’exécute, la liaison que vous avez établie précédemment entre le composant DataHolder et le
composant DataGrid s’exécute.
11 Testez le fichier en sélectionnant Contrôle > Tester l’animation.
Propriétés de la classe DataHolder
Propriété
Description
DataHolder.data
Propriété de liaison par défaut du composant DataHolder.
DataHolder.data
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
dataHolder.data
Description
Propriété : l’élément par défaut dans un schéma d’objet DataHolder. Cette propriété n’est pas un
membre « permanent » du composant DataHolder. Il s’agit plutôt de la propriété de liaison par
défaut pour chaque occurrence du composant. Vous pouvez ajouter vos propres propriétés de
liaison ou supprimer la propriété data par défaut, dans l’onglet Schéma du panneau Inspecteur de
composants.
Pour plus d’informations sur l’utilisation de l’onglet Schéma, consultez « Utilisation des schémas
dans l’onglet Schéma (Flash Professionnel uniquement) », dans le guide Utilisation de Flash de
l’aide.
Exemple
Pour obtenir un exemple d’utilisation de ce composant, consultez Création d’une application avec
le composant DataHolder (Flash Professionnel uniquement), page 195.
API DataProvider
Nom de classe ActionScript
mx.controls.listclasses.DataProvider
L’API DataProvider est un jeu de méthodes et de propriétés que doit posséder une source de
données pour qu’une classe basée sur des listes puisse communiquer avec elle. Arrays, RecordSets
et DataSet implémentent tous cette API. Vous pouvez créer une classe compatible DataProvider
en implémentant toutes les méthodes et propriétés présentées dans ce manuel. Un composant
basé sur des listes peut ensuite utiliser cette classe comme fournisseur de données.
196
Chapitre 4 : Dictionnaire des composants
Les méthodes de l’API DataProvider vous permettent d’interroger et de modifier les données de
n’importe quel composant affichant des données (également appelé affichage). L’API DataProvider
diffuse également des événements change lorsque les données sont modifiées. Plusieurs affichages
peuvent utiliser le même fournisseur de données et recevoir tous les événements change.
Un fournisseur de données est un ensemble linéaire (comme un tableau) d’éléments. Chaque
élément est un objet composé de plusieurs champs de données. Vous pouvez accéder à ces
éléments via leur index (comme dans un tableau), en utilisant DataProvider.getItemAt().
Les fournisseurs de données sont fréquemment utilisés dans les tableaux. Les composants de
données appliquent toutes les méthodes de l’API DataProvider à Array.prototype lorsqu’un
objet Array se trouve dans la même image ou dans le même écran qu’un composant de données.
Cela vous permet d’utiliser tout tableau existant en tant que données pour les affichages qui ont
une propriété dataProvider.
Du fait de l’API DataProvider, les composants v2 qui permettent l’affichage des données
(DataGrid, List, Tree, etc.) peuvent également afficher Flash Remoting RecordSets et des données
du composant DataSet. L’API DataProvider est le langage qu’utilisent les composants de données
pour communiquer avec leurs fournisseurs de données.
Dans la documentation Macromedia Flash, « DataProvider » est le nom de l’API, dataProvider
est une propriété de chaque composant qui agit comme un affichage pour les données, et
« fournisseur de données » est le terme générique utilisé pour désigner une source de données.
Méthodes de l’API DataProvider
Nom
Description
DataProvider.addItem()
Ajoute un élément à la fin du fournisseur de données.
DataProvider.addItemAt()
Ajoute un élément au fournisseur de données à l’emplacement
spécifié.
DataProvider.editField()
Modifie un champ du fournisseur de données.
DataProvider.getEditingData() Obtient les données en vue d’une modification à partir d’un
fournisseur de données.
DataProvider.getItemAt()
Obtient une référence à l’élément à l’emplacement spécifié.
DataProvider.getItemID()
Renvoie l’ID unique de l’élément.
DataProvider.removeAll()
Supprime tous les éléments du fournisseur de données.
DataProvider.removeItemAt()
Supprime un élément du fournisseur de données à l’emplacement
spécifié.
DataProvider.replaceItemAt()
Remplace l’élément à l’emplacement spécifié par un autre
élément.
DataProvider.sortItems()
Trie les éléments d’un fournisseur de données.
DataProvider.sortItemsBy()
Trie les éléments d’un fournisseur de données à l’aide de la
fonction de comparaison spécifiée.
API DataProvider
197
Propriétés de l’API DataProvider
Nom
Description
DataProvider.length
Le nombre d’éléments dans un fournisseur de données.
Evénements de l’API DataProvider
Nom
Description
DataProvider.modelChanged
Diffusé lorsque le fournisseur de données est modifié.
DataProvider.addItem()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monFD.addItem(item)
Paramètres
item
Un objet contenant des données. Y compris un élément d’un fournisseur de données.
Renvoie
Rien.
Description
Méthode : ajoute un nouvel élément à la fin du fournisseur de données.
Cette méthode déclenche l’événement modelChanged avec l’événement addItems.
Exemple
L’exemple suivant ajoute un élément à la fin du fournisseur de données monFD :
monFD.addItem({ label : "ceci est un élément"});
DataProvider.addItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monFD.addItemAt(index, item)
198
Chapitre 4 : Dictionnaire des composants
Paramètres
Nombre supérieur ou égal à 0. La position à laquelle insérer l’élément, l’index du nouvel
index
élément.
item
Un objet contenant les données de l’élément.
Renvoie
Rien.
Description
Méthode : ajoute un nouvel élément au fournisseur de données à l’index spécifié. Les index
supérieurs à la longueur du fournisseur de données sont ignorés.
Cette méthode déclenche l’événement modelChanged avec l’événement addItems.
Exemple
L’exemple suivant ajoute un élément au fournisseur de données monFD à la quatrième place :
monFD.addItemAt(3, {label : "c’est le quatrième élément"});
DataProvider.editField()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monFD.editField(index, nomDeChamp, nouvellesDonnées)
Paramètres
index
Nombre supérieur ou égal à 0. L’index de l’élément.
nomDeChamp
Chaîne indiquant le nom du champ dans l’élément à modifier.
nouvellesDonnées
Nouvelles données à placer dans le fournisseur de données.
Renvoie
Rien.
Description
Méthode : modifie un champ dans le fournisseur de données.
Cette méthode déclenche l’événement modelChanged avec l’événement updateField.
Exemple
Le code suivant modifie le champ étiquette du troisième élément :
monFD.editField(2, "étiquette", "mesNouvellesDonnées");
API DataProvider
199
DataProvider.getEditingData()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monFD.getEditingData(index, nomDeChamp)
Paramètres
Nombre supérieur ou égal à 0 et inférieur à DataProvider.length. Index de l’élément à
récupérer.
index
nomDeChamp
Chaîne indiquant le nom du champ qui est modifié.
Renvoie
Les données formatées modifiables à utiliser.
Description
Méthode : récupère les données en vue d’une modification à partir d’un fournisseur de données.
Cela permet au modèle de données de proposer plusieurs formats de données pour modification
et affichage.
Exemple
Le code suivant obtient une chaîne modifiable pour le champ prix :
trace(monFD.getEditingData(4, "prix");
DataProvider.getItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monFD.getItemAt(index)
Paramètres
Nombre supérieur ou égal à 0 et inférieur à DataProvider.length. Index de l’élément à
récupérer.
index
Renvoie
Une référence à l’élément récupéré, undefined si l’index est en dehors des limites.
Description
Méthode : récupère une référence à l’élément à un emplacement spécifié.
200
Chapitre 4 : Dictionnaire des composants
Exemple
Le code suivant affiche l’étiquette du cinquième élément :
trace(monFD.getItemAt(4).label);
DataProvider.getItemID()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004 Professionnel.
Usage
monFD.getItemID(index)
Paramètres
index
Nombre supérieur ou égal à 0.
Renvoie
Un nombre correspondant à l’ID unique de l’élément.
Description
Méthode : renvoie un ID unique de l’élément. Cette méthode est principalement utilisée pour
suivre la sélection. Cet ID est utilisé dans les composants de données pour conserver les listes des
éléments sélectionnés.
Exemple
Cet exemple obtient l’ID du quatrième élément :
var ID = monFD.getItemID(3);
DataProvider.modelChanged
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.modelChanged = function(objetEvt){
// insérez votre code ici
}
monMenu.addEventListener("modelChanged", objetDécoute
Description
Evénement : diffusé à tous ses écouteurs d’affichage lorsque le fournisseur de données est modifié.
Un écouteur est en général ajouté à un modèle en affectant sa propriété dataProvider.
API DataProvider
201
Les composants V2 utilisent un modèle d’événement dispatcher/écouteur. Lorsqu’un fournisseur
de données est modifié de quelque manière que ce soit, il diffuse un événement modelChanged,
récupéré par les composants de données qui mettent à jour leurs affichages pour faire apparaître
les modifications.
L’objet événement de l’événement Menu.modelChanged compte cinq propriétés supplémentaires :
•
•
•
•
•
eventName La propriété eventName permet de séparer en sous-catégories des événements
modelChanged. Les composants de données utilisent cette information pour éviter d’actualiser
l’occurrence de composant (affichage) qui utilise le fournisseur de données. Les valeurs
supportées de la propriété eventName sont les suivantes :
■ updateAll
L’intégralité de la vue doit être actualisée, en excluant la position de
défilement.
■ addItems
Une série d’éléments a été ajoutée.
■ removeItems
Une série d’éléments a été supprimée.
■ updateItems
Une série d’éléments doit être actualisée.
■ sort
Les données ont été triées.
■ updateField
Un champ au sein d’un élément doit être modifié et actualisé.
■ updateColumn
Une définition de champ complète au sein de dataProvider doit être
actualisée.
■ filterModel
Le modèle a été filtré et l’affichage doit être actualisé (réinitialiser
scrollPosition).
■ schemaLoaded
La définition de champ de dataProvider a été déclarée.
firstItem L’index du premier élément affecté.
lastItem L’index du dernier élément affecté. La valeur est égale à firstItem si seul un
élément est affecté.
removedIDs Un tableau des identificateurs d’éléments supprimés.
fieldName Une chaîne indiquant le nom du champ affecté.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
Dans l’exemple suivant, un gestionnaire appelé listener est défini et transmis à la méthode
addEventListener() en tant que second paramètre. L’objet événement est capturé par le
gestionnaire modelChanged dans le paramètre evt. Lorsque l’événement modelChanged est
diffusé, une instruction trace est envoyée vers le panneau de sortie, comme suit :
listener = new Object();
listener.modelChanged = function(evt){
trace(evt.eventName);
}
maListe.addEventListener("modelChanged", listener);
202
Chapitre 4 : Dictionnaire des composants
DataProvider.length
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monFD.length
Description
Propriété (lecture seule) : nombre d’éléments dans le fournisseur de données.
Exemple
Cet exemple envoie le nombre d’éléments du fournisseur de données monTableau vers le panneau
de sortie :
trace(monTableau.length);
DataProvider.removeAll()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monFD.removeAll()
Paramètres
Aucun.
Renvoie
Rien.
Description
Méthode : supprime tous les éléments du fournisseur de données.
Cette méthode déclenche l’événement modelChanged avec l’événement removeItems.
Exemple
Cet exemple supprime tous les éléments du fournisseur de données :
monFD.removeAll();
API DataProvider
203
DataProvider.removeItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monFD.removeItemAt(index)
Paramètres
index
Nombre supérieur ou égal à 0. L’index de l’élément à supprimer.
Renvoie
Rien.
Description
Méthode : supprime l’élément à l’emplacement d’index spécifié. Un index disparaît parmi les
index situés après l’index supprimé.
Cette méthode déclenche l’événement modelChanged avec l’événement removeItems.
Exemple
Cet exemple supprime l’élément situé en quatrième position :
monFD.removeItemAt(3);
DataProvider.replaceItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monFD.replaceItemAt(index, item)
Paramètres
index
item
Nombre supérieur ou égal à 0. L’index de l’élément à modifier.
Un objet qui est le nouvel élément.
Renvoie
Rien.
Description
Méthode : remplace le contenu de l’élément à l’index spécifié.
Cette méthode déclenche l’événement modelChanged avec l’événement removeItems.
204
Chapitre 4 : Dictionnaire des composants
Exemple
Cet exemple remplace l’élément à l’index 3 par l’élément possédant l’étiquette "nouvelle
étiquette" :
monFD.replaceItemAt(3, {label : "nouvelle étiquette"});
DataProvider.sortItems()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monFD.sortItems([compareFunc], [optionsFlag])
Paramètres
Référence à une fonction utilisée pour comparer deux éléments, afin de
déterminer leur ordre de tri. Pour plus d’informations, consultez Array.sort() dans le
Dictionnaire ActionScript de l’aide. Ce paramètre est facultatif.
compareFunc
Permet d’effectuer plusieurs types de tri dans un seul tableau sans avoir à
répliquer l’intégralité du tableau ou à le trier à plusieurs reprises. Ce paramètre est facultatif.
optionsFlag
Les valeurs possibles pour optionsFlag sont les suivantes :
•
•
•
•
•
Array.DESCENDING—trie
par ordre décroissant.
Array.CASEINSENSITIVE—trie sans respecter la casse.
Array.NUMERIC—trie par ordre numérique si les deux éléments comparés sont des nombres.
S’il ne s’agit pas de nombres, effectuez une comparaison de type chaîne (qui peut être non
sensible à la casse si l’indicateur est spécifié).
Array.UNIQUESORT—si deux objets du tableau sont identiques ou comportent des champs de
tri identiques, cette méthode renvoie un code d’erreur (0) au lieu d’un tableau trié.
Array.RETURNINDEXEDARRAY—renvoie un tableau d’index d’entiers correspondant au résultat
du tri. Par exemple, si le tableau suivant est trié avec le paramètre optionsFlag contenant la
valeur Array.RETURNINDEXEDARRAY, il renvoie la seconde ligne de code et le tableau reste
inchangé :
["a", "d", "c", "b"]
[0, 3, 2, 1]
Vous pouvez associer ces options au sein d’une valeur. Par exemple, le code suivant associe les
options 3 et 1 :
array.sort (Array.NUMERIC | Array.DESCENDING)
Renvoie
Rien.
API DataProvider
205
Description
Méthode : trie les éléments dans le fournisseur de données selon la fonction de comparaison
spécifiée par le paramètre compareFunc ou selon une ou plusieurs options de tri spécifiées par le
paramètre optionsFlag.
Cette méthode déclenche l’événement modelChanged avec l’événement sort.
Exemple
Cet exemple trie selon des étiquettes majuscules. Les éléments a et b sont transmis à la fonction et
possèdent les champs label et data :
maListe.sortItems(upperCaseFunc);
function upperCaseFunc(a,b){
return a.label.toUpperCase() > b.label.toUpperCase();
}
DataProvider.sortItemsBy()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monFD.sortItemsBy(nomDeChamp, ordre, [optionsFlag])
Paramètres
nomDeChamp Une chaîne spécifiant
général "label" ou "data".
le nom du champ à utiliser pour le tri. Cette valeur est en
ordre Une chaîne spécifiant le tri des éléments par ordre croissant ("ASC") ou décroissant
("DESC").
Permet d’effectuer plusieurs types de tri dans un seul tableau sans avoir à
répliquer l’intégralité du tableau ou à le trier à plusieurs reprises. Ce paramètre est facultatif.
optionsFlag
Les valeurs possibles pour optionsFlag sont les suivantes :
•
•
•
•
•
Array.DESCENDING—trie
par ordre décroissant.
Array.CASEINSENSITIVE—trie sans respecter la casse.
Array.NUMERIC—trie par ordre numérique si les deux éléments comparés sont des nombres.
S’il ne s’agit pas de nombres, effectuez une comparaison de type chaîne (qui peut être non
sensible à la casse si l’indicateur est spécifié).
Array.UNIQUESORT—si deux objets du tableau sont identiques ou comportent des champs de
tri identiques, cette méthode renvoie un code d’erreur (0) au lieu d’un tableau trié.
Array.RETURNINDEXEDARRAY—renvoie un tableau d’index d’entiers correspondant au résultat
du tri. Par exemple, si le tableau suivant est trié avec le paramètre optionsFlag contenant la
valeur Array.RETURNINDEXEDARRAY, il renverra la seconde ligne de code et le tableau restera
inchangé :
["a", "d", "c", "b"]
[0, 3, 2, 1]
206
Chapitre 4 : Dictionnaire des composants
Vous pouvez associer ces options au sein d’une valeur. Par exemple, le code suivant associe les
options 3 et 1 :
array.sort (Array.NUMERIC | Array.DESCENDING)
Renvoie
Rien.
Description
Méthode : trie les éléments du fournisseur de données par ordre alphabétique ou numérique, dans
l’ordre spécifié, avec le nom de champ spécifié. Si les éléments nomDeChamp sont une combinaison
de chaînes de texte et d’entiers, ce sont les éléments entiers qui sont indiqués en premier. Le
paramètre nomDeChamp est généralement label ou data, mais les programmeurs expérimentés
peuvent spécifier n’importe quelle primitive. Vous pouvez également utiliser le paramètre
optionsFlag pour spécifier un type de tri.
Cette méthode déclenche l’événement modelChanged avec l’événement sort.
Exemple
Le code suivant trie les éléments d’une liste par ordre croissant en utilisant leurs étiquettes.
monFD.sortItemsBy("label", "ASC");
Composant DataSet (Flash Professionnel uniquement)
Le composant DataSet vous permet d’utiliser les données en tant que collections d’objets pouvant
être indexés, triés, recherchés, filtrés et modifiés.
La fonctionnalité du composant DataSet comprend DataSetIterator, jeu de méthodes pour
parcourir et manipuler une collection de données, et DeltaPacket, jeu d’interfaces et de classes
pour utiliser des mises à jour d’une collection de données. Dans la plupart des cas, vous n’utilisez
pas directement ces classes et interfaces. Vous les utilisez indirectement par l’intermédiaire de
méthodes fournies par la classe DataSet.
Les éléments gérés par le composant DataSet sont également appelés objets de transfert. Un objet
de transfert expose les données métier qui résident sur le serveur avec des attributs publics ou des
méthodes d’accesseur pour lire et écrire des données. Le composant DataSet permet aux
développeurs d’utiliser des objets complexes côté client qui reflètent à l’identique les objets côté
serveur ou, plus simplement, d’utiliser une collection d’objets anonymes, avec des attributs
publics, représentant les champs d’un enregistrement de données. Pour plus d’informations sur les
objets de transfert, consultez la page Core J2EE Patterns Transfer Object à l’adresse suivante :
java.sun.com/blueprints/corej2eepatterns/Patterns/TransferObject.html.
Remarque : Le composant DataSet requiert Flash Player 7 ou version ultérieure.
Utilisation du composant DataSet (Flash Professionnel uniquement)
En règle générale, vous utilisez le composant DataSet dans une application avec d’autres
composants pour manipuler et mettre à jour une source de données : un composant Connector
pour la connexion vers une source de données externe, des composants d’interface utilisateur pour
l’affichage des données en provenance de la source de données et un composant Resolver pour la
conversion des mises à jour de l’ensemble de données au format approprié, pour l’envoi vers la
source de données externe. Vous pouvez ensuite utiliser une liaison de données pour lier entre
elles les propriétés de ces différents composants.
Composant DataSet (Flash Professionnel uniquement)
207
Pour plus d’informations sur le composant DataSet et sur son utilisation avec d’autres
composants, consultez « Gestion des données (Flash Professionnel uniquement) », dans le guide
Utilisation de Flash de l’aide.
Paramètres du composant DataSet
Les paramètres suivants sont des paramètres de programmation que vous pouvez définir pour
chaque occurrence de composant DataSet dans l’inspecteur des propriétés ou des composants :
itemClassName Le nom de la classe d’objet de transfert instanciée chaque fois qu’un nouvel
élément est nécessaire.
Remarque : Pour que la classe spécifiée soit disponible à l’exécution, vous devez également inclure
une référence pleinement qualifiée à cette classe dans le code de votre fichier SWF (par exemple :
var monElément:my.package.monElément;).
filtered Si la valeur est true, un filtre est appliqué à l’ensemble de données de sorte qu’il
contienne uniquement les objets correspondant au critère défini dans le filtre.
logChanges Si la valeur est true, l’ensemble de données garde une trace de tous les
changements (de données ou d’appels de méthodes) dans sa propriété deltaPacket.
readOnly
Si la valeur est true, l’ensemble de données ne peut pas être modifié.
Vous pouvez utiliser ActionScript pour contrôler ces options ainsi que d’autres options du
composant DataSet à l’aide des propriétés, méthodes et événements ActionScript. Pour plus
d’informations, consultez Classe DataSet (Flash Professionnel uniquement), page 210.
Création d’une application avec le composant DataSet
Généralement, vous utilisez le composant DataSet avec d’autres composants d’interface
utilisateur, et souvent avec un composant Connector comme le composant XMLConnector ou
WebServiceConnector. Les éléments de l’ensemble de données sont remplis via le composant
Connector ou au moyen de données ActionScript brutes, puis liés aux contrôles de l’interface
utilisateur (tels que les composants List ou DataGrid).
Pour créer une application avec le composant DataSet :
1 Dans Flash MX Professionnel 2004, Sélectionnez Fichier > Nouveau. Dans la colonne Type,
sélectionnez Document Flash et cliquez sur OK.
2 Ouvrez le panneau Composants (Fenêtre > Panneaux de développement > Composants) s’il
n’est pas déjà ouvert.
3 Faites glisser un composant DataSet du panneau Composants jusqu’à la scène. Dans
l’inspecteur des propriétés, nommez-le donnéesUtilisateur.
4 Faites glisser un composant DataGrid jusqu’à la scène et nommez-le grilleUtilisateur.
5 Redimensionnez le composant DataGrid pour qu’il compte environ 300 pixels de large et
100 pixels de haut.
6 Faites glisser un composant Button jusqu’à la scène et nommez-le btnSuiv.
7 Dans le scénario, sélectionnez la première image dans le calque 1 et ouvrez le panneau Actions
(Fenêtre > Panneaux de développement > Actions).
208
Chapitre 4 : Dictionnaire des composants
8 Ajoutez le code suivant au panneau Actions
var recData = [{id:0, firstName:"Michel", lastName:"Jourdain"},
{id:1, firstName:"Jean", lastName:"Sadourni"},
{id:2, firstName:"Paul", lastName:"Simon"}];
donnéesUtilisateur.items = recData;
Cela remplit la propriété items de l’objet DataSet avec un tableau d’objets, chacun d’entre eux
possédant trois propriétés : firstName, lastName et id.
9 Pour lier le contenu du composant DataSet au contenu du composant DataGrid, ouvrez le
panneau Inspecteur de composants (Fenêtre > Panneaux de développement > Inspecteur de
composants) et cliquez sur l’onglet Liaisons.
10 Sélectionnez le composant DataGrid (grilleUtilisateur) sur la scène et cliquez sur le bouton
Ajouter une liaison (+) dans le panneau Inspecteur de composants.
11 Dans la boîte de dialogue Ajouter une liaison, sélectionnez « dataProvider : Array » et cliquez
sur OK.
12 Dans le panneau Inspecteur de composants, double-cliquez sur le champ bound to.
13 Dans la boîte de dialogue Lié à qui apparaît, sélectionnez « Ensemble de données
<donnéesUtilisateur> » dans la colonne Chemin du composant, puis sélectionnez
« dataProvider : Array » dans la colonne Emplacement du schéma.
14 Pour lier l’index sélectionné du composant DataSet à l’index sélectionné du composant
DataGrid, cliquez à nouveau sur le bouton Ajouter une liaison (+) dans le panneau Inspecteur
de composants.
15 Dans la boîte de dialogue qui apparaît, sélectionnez « selectedIndex : Number ». Cliquez
sur OK.
16 Pour ouvrir la boîte de dialogue Lié à, double-cliquez sur le champ bound to dans le panneau
Inspecteur de composants.
17 Dans le champ Chemin du composant, sélectionnez « Ensemble de données
<donnéesUtilisateur> » dans la colonne Chemin du composant et sélectionnez « selectedIndex :
Number » dans la colonne Emplacement du schéma.
18 Sélectionnez le composant Button (btnSuiv) et ouvrez le panneau Actions (Fenêtre > Panneaux
de développement > Actions), si ce dernier n’est pas déjà ouvert.
19 Entrez le code suivant dans le panneau Actions :
on(click) {
_parent.userData.next();
}
Ce code utilise la méthode DataSet.next() pour naviguer vers l’élément suivant dans la
collection d’éléments de l’objet DataSet. Comme vous avez lié la propriété selectedIndex de
l’objet DataGrid à la même propriété de l’objet DataSet, une modification apportée à l’élément
courant dans l’objet DataSet se répercute également sur l’élément courant (sélectionné) dans
l’objet DataGrid.
20 Enregistrez le fichier, puis, pour tester le fichier SWF, sélectionnez Contrôle > Tester
l’animation.
L’objet DataGrid est rempli avec les éléments spécifiés. Notez que lorsque vous cliquez sur le
bouton, l’élément sélectionné dans l’objet DataGrid change.
Composant DataSet (Flash Professionnel uniquement)
209
Classe DataSet (Flash Professionnel uniquement)
Nom de classe ActionScript
mx.data.components.DataSet
Méthodes de la classe DataSet
Méthode
Description
DataSet.addItem()
Ajoute l’élément spécifié à la collection.
DataSet.addSort()
Crée un nouvel affichage trié des éléments de la collection.
DataSet.applyUpdates()
Indique aux écouteurs que les modifications de l’objet DataSet sont
prêtes.
DataSet.changesPending()
Indique s’il y a des éléments dans l’objet DeltaPacket.
DataSet.clear()
Efface tous les éléments de l’affichage courant de la collection.
DataSet.createItem()
Renvoie un élément de collection nouvellement initialisé.
DataSet.disableEvents()
Arrête l’envoi d’événements DataSet aux écouteurs.
DataSet.enableEvents()
Relance l’envoi d’événements DataSet aux écouteurs.
DataSet.find()
Localise un élément dans l’affichage courant de la collection.
DataSet.findFirst()
Localise la première occurrence d’un élément dans l’affichage
courant de la collection.
DataSet.findLast()
Localise la dernière occurrence d’un élément dans l’affichage
courant de la collection.
DataSet.first()
Effectue un déplacement vers le premier élément dans l’affichage
courant de la collection.
DataSet.getItemId()
Renvoie l’ID unique de l’élément spécifié.
DataSet.getIterator()
Renvoie un clone de l’itérateur courant.
DataSet.hasNext()
Indique si l’itérateur courant est parvenu à la fin de l’affichage de la
collection.
DataSet.hasPrevious()
Indique si l’itérateur courant est parvenu au début de l’affichage de
la collection.
DataSet.hasSort()
Indique si le tri spécifié existe.
DataSet.isEmpty()
Indique si la collection contient des éléments.
DataSet.last()
Déplace le dernier élément dans l’affichage courant de la collection.
DataSet.loadFromSharedObj() Récupère le contenu d’un objet DataSet à partir d’un objet partagé.
210
DataSet.locateById()
Déplace l’itérateur courant vers l’élément possédant l’ID spécifié.
DataSet.next()
Effectue un déplacement vers l’élément suivant dans l’affichage
courant de la collection.
DataSet.previous()
Effectue un déplacement vers l’élément précédent dans l’affichage
courant de la collection.
DataSet.removeAll()
Supprime tous les éléments de la collection.
Chapitre 4 : Dictionnaire des composants
Méthode
Description
DataSet.removeItem()
Supprime l’élément spécifié de la collection.
DataSet.removeRange()
Supprime les paramètres d’étendue de l’itérateur courant.
DataSet.removeSort()
Supprime le tri spécifié de l’objet DataSet.
DataSet.saveToSharedObj()
Enregistre les données de l’objet DataSet dans un objet partagé.
DataSet.setIterator()
Définit l’itérateur courant pour l’objet DataSet.
DataSet.setRange()
Définit les paramètres d’étendue de l’itérateur courant.
DataSet.skip()
Effectue un déplacement vers l’avant ou vers l’arrière selon un
nombre spécifié d’éléments dans l’affichage courant de la
collection.
DataSet.useSort()
Le tri spécifié devient actif.
Propriétés de la classe DataSet
Propriété
Description
DataSet.currentItem
Renvoie l’élément courant dans la collection.
DataSet.dataProvider
Renvoie l’interface DataProvider.
DataSet.deltaPacket
Renvoie les modifications apportées à la collection ou affecte des
modifications à apporter à la collection.
DataSet.filtered
Indique si les éléments sont filtrés.
DataSet.filterFunc
Fonction définie par l’utilisateur pour filtrer des éléments dans la
collection.
DataSet.items
Eléments de la collection.
DataSet.itemClassName
Objet à créer lors de l’affectation des éléments.
DataSet.length
Spécifie le nombre d’éléments dans l’affichage courant de la
collection.
DataSet.logChanges
Indique si les modifications apportées à la collection ou à ses
éléments sont enregistrées.
DataSet.properties
Contient les propriétés (champs) pour tout objet de transfert au sein
de cette collection.
DataSet.readOnly
Indique si la collection peut être modifiée.
DataSet.schema
Spécifie le schéma de la collection au format XML.
DataSet.selectedIndex
Contient l’index de l’élément courant au sein de la collection.
Evénements de la classe DataSet
Evénement
Description
DataSet.addItem
Diffusé avant l’ajout d’un élément à la collection.
DataSet.afterLoaded
Diffusé après l’affectation de la propriété items.
Composant DataSet (Flash Professionnel uniquement)
211
Evénement
Description
DataSet.deltaPacketChanged
Diffusé lorsque le DeltaPacket de l’objet DataSet a été modifié et
qu’il est prêt à être utilisé.
DataSet.calcFields
Diffusé lorsque les champs calculés doivent être mis à jour.
DataSet.iteratorScrolled
Diffusé lorsque la position de l’itérateur est modifiée.
DataSet.modelChanged
Diffusé lorsque les éléments de la collection ont été modifiés de
quelque manière que ce soit.
DataSet.newItem
Diffusé lorsqu’un nouvel élément est construit par l’objet DataSet,
mais avant son ajout à la collection.
DataSet.removeItem
Diffusé avant la suppression d’un élément.
DataSet.resolveDelta
Diffusé lorsqu’un objet DeltaPacket est affecté à l’objet DataSet qui
contient des messages.
DataSet.addItem
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
on(addItem) {
// insérez votre code ici
}
objetDécoute = new Object();
objetDécoute.addItem = function (objEvt) {
// insérez votre code ici
}
dataSet.addEventListener("addItem", objetDécoute)
Description
Evénement : généré juste avant l’insertion d’un nouvel objet de transfert dans cette collection.
Si vous définissez la propriété result de l’objet événement sur false, l’opération d’ajout est
annulée. Si vous la définissez sur true, l’opération d’ajout est autorisée.
L’objet événement (objEvt) possède les propriétés suivantes :
target
L’objet DataSet qui a généré l’événement.
type
La chaîne "addItem".
item
Une référence à l’élément de la collection à ajouter.
result Une valeur booléenne indiquant si l’élément spécifié doit être ajouté. Par défaut, cette
valeur est true.
212
Chapitre 4 : Dictionnaire des composants
Exemple
Le gestionnaire d’événement on(addItem) suivant (associé à un objet DataSet) annule l’ajout du
nouvel élément si une fonction, appelée userHasAdminPrivs(), définie par l’utilisateur, renvoie
la valeur false ; sinon l’ajout de l’élément est autorisé.
on(addItem) {
if(globalObj.userHasAdminPrivs()) {
// Autoriser l’ajout de l’élément.
objEvt.result = true;
} else {
// Ne pas autoriser l’ajout de l’élément. L’utilisateur ne dispose pas des
droits d’administrateur.
objEvt.result = false;
}
}
Voir aussi
DataSet.removeItem
DataSet.addItem()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.addItem([obj])
Paramètres
obj
Un objet à ajouter à cette collection. Ce paramètre est facultatif.
Renvoie
Renvoie true si l’élément a été ajouté à la collection ; sinon, renvoie false.
Description
Méthode : ajoute l’objet de transfert spécifié à la collection pour gestion. L’élément qui vient
d’être ajouté devient l’élément courant de l’ensemble de données. Si aucun paramètre obj n’est
spécifié, un nouvel objet est créé automatiquement au moyen de DataSet.createItem().
L’emplacement du nouvel élément dans la collection varie selon qu’un tri a été spécifié pour
l’itérateur courant. Si aucun tri n’est défini, l’élément spécifié est ajouté à la fin de la collection. Si
un tri est défini, l’élément est ajouté à la collection en fonction de sa position dans le tri courant.
Pour plus d’informations sur l’initialisation et la construction de l’objet de transfert, consultez
DataSet.createItem().
Exemple
monEnsembleDeDonnées.addItem(monEnsembleDeDonnées.createItem());
Voir aussi
DataSet.createItem()
Composant DataSet (Flash Professionnel uniquement)
213
DataSet.addSort()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.addSort(nom, listeChamps, optionsTri)
Paramètres
nom
Une chaîne spécifiant le nom du tri.
listeChamps
Un tableau de chaînes spécifiant les noms des champs à trier.
Une ou plusieurs des valeurs entières (constantes) suivantes, indiquant les options
choisies pour ce tri. Sépare plusieurs valeurs en utilisant l’opérateur OR (|) au niveau du bit. Ces
valeurs peuvent être :
optionsTri
•
•
•
•
DataSetIterator.Ascending Trie les éléments par ordre croissant. Il s’agit de l’option de tri
par défaut lorsque aucune option de tri n’est spécifiée.
DataSetIterator.Descending Trie les éléments par ordre décroissant en fonction des
propriétés d’éléments spécifiées.
DataSetIterator.Unique Empêche le tri si des champs ont des valeurs similaires.
DataSetIterator.CaseInsensitive Ignore la casse lors de la comparaison de deux
chaînes, au cours du tri. Par défaut, le tri est sensible à la casse lorsque la propriété triée est une
chaîne.
Une exception DataSetError est émise lorsque DataSetIterator.Unique est spécifié en tant
qu’option de tri et que les données triées ne sont pas uniques, lorsque le nom de tri spécifié a déjà
été ajouté ou lorsqu’une propriété spécifiée dans le tableau listeChamps n’existe pas dans cet
ensemble de données.
Renvoie
Rien.
Description
Méthode : crée un nouveau tri croissant ou décroissant pour l’itérateur courant basé sur les
propriétés spécifiées par le paramètre listeChamps. Le nouveau tri est automatiquement affecté à
l’itérateur courant après sa création et son stockage dans la collection de tri pour une utilisation
ultérieure.
Exemple
Le code suivant crée un nouveau tri, appelé rank. Celui -ci réalise un tri unique par ordre
décroissant, sensible à la casse, sur le champ classRank de l’objet DataSet.
monEnsembleDeDonnées.addSort("rank", ["classRank"], DataSetIterator.Descending
| DataSetIterator.Unique | DataSetIterator.CaseInsensitive);
214
Chapitre 4 : Dictionnaire des composants
Voir aussi
DataSet.removeSort()
DataSet.afterLoaded
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
on(afterLoaded) {
// insérez votre code ici
}
objetDécoute = new Object();
objetDécoute.afterLoaded = function (objEvt) {
// insérez votre code ici
}
dataSet.addEventListener("afterLoaded", objetDécoute)
Description
Evénement : diffusé immédiatement après l’affectation de la propriété DataSet.items.
L’objet événement (objEvt) possède les propriétés suivantes :
target
type
L’objet DataSet qui a généré l’événement.
La chaîne afterLoaded.
Exemple
Dans cet exemple, un formulaire appelé formContact (masqué) devient visible une fois que les
éléments dans DataSet contact_ds ont été affectés.
contact_ds.addEventListener("afterLoaded", loadListener);
loadListener = new Object();
loadListener.afterLoaded = function (objEvt) {
if(objEvt.target == "contact_ds") {
formContact.visible = true;
}
}
Composant DataSet (Flash Professionnel uniquement)
215
DataSet.applyUpdates()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.applyUpdates()
Renvoie
Rien.
Description
Méthode : signale que la propriété DataSet.deltaPacket possède une valeur à laquelle vous
pouvez accéder en utilisant la liaison de données ou directement via ActionScript. Avant l’appel
de cette méthode, la propriété DataSet.deltaPacket est null. Cette méthode n’a aucun effet si
des événements ont été désactivés au moyen de la méthode DataSet.disableEvents().
L’appel de cette méthode crée également un ID de transaction pour la propriété
courante et émet un événement deltaPacketChanged. Pour plus
d’informations, consultez DataSet.deltaPacket.
DataSet.deltaPacket
Exemple
Le code suivant appelle la méthode applyUpdates() sur monEnsembleDeDonnées.
monEnsembleDeDonnées.applyUpdates();
Voir aussi
DataSet.deltaPacket
DataSet.calcFields
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
on(calcFields) {
// insérez votre code ici
}
objetDécoute = new Object();
objetDécoute.calcFields = function (objEvt) {
// insérez votre code ici
}
dataSet.addEventListener("calcFields", objetDécoute)
216
Chapitre 4 : Dictionnaire des composants
Description
Evénement : généré lorsque des valeurs des champs calculés pour l’élément courant dans la
collection doivent être déterminées. Un champ calculé est un champ dont la propriété Kind est
définie sur Calculated dans l’onglet Schéma du panneau Inspecteur de composants. L’écouteur
d’événement calcFields que vous créez doit effectuer le calcul requis et définir la valeur du
champ calculé.
Cet événement est également appelé lorsque la valeur d’un champ non calculé (champ dont la
propriété Kind est définie sur Data dans l’onglet Schéma du panneau Inspecteur de composants)
est mise à jour.
Pour plus d’informations sur la propriété Kind, consultez « Types de schéma (Flash Professionnel
uniquement) », dans le guide Utilisation de Flash de l’aide.
Attention : Ne modifiez pas les valeurs des champs non calculés dans cet événement car cela risque
de provoquer une « boucle sans fin ». Définissez uniquement les valeurs des champs calculés au sein
de l’événement calcFields.
DataSet.changesPending()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.changesPending()
Renvoie
Une valeur booléenne.
Description
Méthode : renvoie true si la collection ou n’importe quel élément de la collection a des
modifications en attente et que ces dernières n’ont pas encore été envoyées dans un objet
DeltaPacket ; sinon, renvoie false.
Exemple
Le code suivant active un bouton Enregistrer les changements (masqué) si la collection DataSet,
ou n’importe quel élément de cette collection, a fait l’objet de modifications qui n’ont pas été
implémentées dans un objet DeltaPacket.
if( data_ds.changesPending() ) {
EnregistrerChangements_btn.enabled = true;
}
Composant DataSet (Flash Professionnel uniquement)
217
DataSet.clear()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.clear()
Renvoie
Rien.
Description
Méthode : supprime les éléments de l’affichage courant de la collection. Les éléments qui peuvent
être affichés dépendent des paramètres de filtre et d’étendue courants de l’itérateur actuel. Par
conséquent, l’appel de cette méthode risque de ne pas supprimer tous les éléments de la
collection. Pour supprimer tous les éléments de la collection quel que soit l’affichage de l’itérateur
actuel, utilisez DataSet.removeAll().
Si DataSet.logChanges est défini sur true lorsque vous invoquez cette méthode, les entrées
« supprimées » sont ajoutées à DataSet.deltaPacket pour tous les éléments de la collection.
Exemple
Cet exemple supprime tous les éléments de l’affichage courant de la collection DataSet. La
propriété logChanges étant définie sur true, la suppression de ces éléments est enregistrée.
monEnsembleDeDonnées.logChanges= true;
monEnsembleDeDonnées.clear();
Voir aussi
DataSet.deltaPacket, DataSet.logChanges
DataSet.createItem()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.createItem([itemData])
Paramètres
itemData
Données associées à l’élément. Ce paramètre est facultatif.
Renvoie
L’élément qui vient d’être construit.
218
Chapitre 4 : Dictionnaire des composants
Description
Méthode : crée un élément qui n’est pas associé à la collection. Vous pouvez spécifier la classe de
l’objet créée avec la propriété DataSet.itemClassName. Si aucune valeur
DataSet.itemClassName n’est spécifiée et que le paramètre itemData est omis, un objet
anonyme est construit. Les propriétés de cet objet anonyme sont définies aux valeurs par défaut à
partir du schéma actuellement spécifié par DataSet.schema.
Lorsque cette méthode est invoquée, tous les écouteurs de l’événement DataSet.newItem sont
notifiés et en mesure de manipuler l’élément avant qu’il ne soit renvoyé par cette méthode. Les
données d’éléments facultatives spécifiées sont utilisées pour initialiser la classe spécifiée avec la
propriété DataSet.itemClassName ou comme élément si DataSet.itemClassName est vide.
Une exception DataSetError est émise lorsque la classe
DataSet.itemClassName ne peut pas être chargée.
spécifiée avec la propriété
Exemple
contact.itemClassName = "Contact";
var itemData = new XML("<contact_info><name>John Smith</
name><phone>555.555.4567</phone><zip><pre>94025</pre><post>0556</post></
zip></contact_info>");
contact.addItem(contact.createItem(itemData));
Voir aussi
DataSet.itemClassName, DataSet.newItem, DataSet.schema
DataSet.currentItem
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.currentItem
Description
Propriété (lecture seule) : renvoie l’élément courant dans la collection DataSet ou null si la
collection est vide ou si l’affichage de la collection de l’itérateur courant est vide.
Cette propriété offre un accès direct à l’élément au sein de la collection. Les modifications
apportées en accédant directement à l’objet ne sont pas suivies (dans la propriété
DataSet.deltaPacket) et les paramètres de schéma ne sont pas appliqués aux propriétés de cet
objet.
Exemple
L’exemple suivant affiche la valeur de la propriété customerName définie dans l’élément courant
dans l’ensemble de données appelé customerData.
trace(customerData.currentItem.customerName);
Composant DataSet (Flash Professionnel uniquement)
219
DataSet.dataProvider
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.dataProvider
Description
Propriété : l’interface DataProvider pour cet ensemble de données. Cette propriété fournit des
données aux contrôles de l’interface utilisateur, comme les composants List et DataGrid.
Exemple
Le code suivant affecte la propriété dataProvider d’un objet DataSet à la propriété
correspondante d’un composant DataGrid.
maGrille.dataProvider = monEnsembleDeDonnées.dataProvider;
DataSet.deltaPacket
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.deltaPacket
Description
Propriété : renvoie un objet DeltaPacket contenant toutes les opérations de modification réalisées
sur la collection dataSet et ses éléments. Cette propriété est null tant que
DataSet.applyUpdates() est appelée sur dataSet.
Lorsque DataSet.applyUpdates() est appelée, un ID de transaction est affecté à l’objet
DeltaPacket. Cet ID de transaction permet d’identifier l’objet DeltaPacket sur une boucle de mise
à jour à partir du serveur vers le client. Toute affectation ultérieure à la propriété deltaPacket via
un objet DeltaPacket possédant un ID de transaction correspondant est considérée comme étant
la réponse du serveur aux modifications envoyées précédemment. Un objet DeltaPacket possédant
un ID correspondant est utilisé pour mettre à jour la collection et rapporter les erreurs spécifiées
au sein du paquet.
Les erreurs et les messages du serveur sont rapportés aux écouteurs de l’événement
DataSet.resolveDelta. Notez que les paramètres DataSet.logChanges sont ignorés lorsqu’un
objet DeltaPacket possédant un ID correspondant est affecté à DataSet.deltaPacket. Un objet
DeltaPacket sans ID de transaction correspondant met à jour la collection, comme si les API
DataSet étaient utilisées directement. Cela peut créer des entrées delta supplémentaires, en
fonction du paramètre DataSet.logChanges courant de dataSet et de l’objet DeltaPacket.
220
Chapitre 4 : Dictionnaire des composants
Une exception DataSetError est émise si un objet DeltaPacket est affecté avec un ID de
transaction correspondant et que l’un des éléments de l’objet DeltaPacket nouvellement affecté est
introuvable dans l’objet DeltaPacket d’origine.
Voir aussi
DataSet.applyUpdates(), DataSet.logChanges, DataSet.resolveDelta
DataSet.deltaPacketChanged
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
on(deltaPacketChanged) {
// insérez votre code ici
}
objetDécoute = new Object();
objetDécoute.deltaPacketChanged = function (objEvt) {
// insérez votre code ici
}
dataSet.addEventListener("deltaPacketChanged", objetDécoute)
Description
Evénement : diffusé lorsque la propriété deltaPacket de l’objet DataSet spécifié a été modifiée et
qu’elle est prête à être utilisée.
Voir aussi
DataSet.deltaPacket
DataSet.disableEvents()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.disableEvents()
Renvoie
Rien.
Composant DataSet (Flash Professionnel uniquement)
221
Description
Méthode : désactive des événements pour l’objet DataSet. Lorsque des événements sont
désactivés, aucun contrôle de l’interface utilisateur (tel qu’un composant DataGrid) n’est mis à
jour lorsque des éléments de la collection sont modifiés ou lorsque l’objet DataSet atteint un
nouvel élément de la collection.
Pour réactiver des événements, vous devez appeler DataSet.enableEvents(). Pour réactiver la
distribution d’événements, la méthode disableEvents() peut être appelée plusieurs fois, mais
enableEvents() doit être appelée autant de fois.
Exemple
Dans cet exemple, les événements sont désactivés avant modification des éléments de la
collection ; ainsi l’objet DataSet ne peut pas actualiser les contrôles et avoir une incidence sur les
performances.
// Désactiver des événements pour l’ensemble de données
monEnsembleDeDonnées.disableEvents();
monEnsembleDeDonnées.last();
while(monEnsembleDeDonnées.hasPrevious()) {
var prix = monEnsembleDeDonnées.price;
prix = price * 0.5; // Réduction de 50 % !
monEnsembleDeDonnées.price = prix;
monEnsembleDeDonnées.previous();
}
// Indiquer à l’ensemble de données qu’il doit mettre à jour les contrôles
maintenant.
monEnsembleDeDonnées.enableEvents();
Voir aussi
DataSet.enableEvents()
DataSet.enableEvents()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.enableEvents()
Renvoie
Rien.
Description
Méthode : réactive des événements pour les objets DataSet une fois les événements désactivés par
un appel à DataSet.disableEvents(). Pour réactiver des événements pour l’objet DataSet, la
méthode enableEvents() doit être appelée au moins autant de fois que la méthode
disableEvents() a été appelée.
222
Chapitre 4 : Dictionnaire des composants
Exemple
Dans cet exemple, les événements sont désactivés avant modification des éléments de la
collection ; ainsi l’objet DataSet ne peut pas actualiser les contrôles et avoir une incidence sur les
performances.
// Désactiver des événements pour l’ensemble de données
monEnsembleDeDonnées.disableEvents();
monEnsembleDeDonnées.last();
while(monEnsembleDeDonnées.hasPrevious()) {
var prix = monEnsembleDeDonnées.price;
prix = price * 0.5; // Réduction de 50 % !
monEnsembleDeDonnées.price = prix;
monEnsembleDeDonnées.previous();
}
// Indiquer à l’ensemble de données qu’il doit mettre à jour les contrôles
maintenant
monEnsembleDeDonnées.enableEvents();
Voir aussi
DataSet.disableEvents()
DataSet.filtered
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.filtered
Description
Propriété : une valeur booléenne indiquant si les données de l’itérateur courant sont filtrées.
Lorsqu’elle est définie sur true, la fonction de filtre spécifiée par DataSet.filterFunc est
appelée pour chaque élément de la collection.
Exemple
Dans l’exemple suivant, le filtre est activé sur l’objet DataSet appelé ed_personnel. Supposons
que chaque enregistrement de la collection possède un champ nommé typePerso. La fonction de
filtre suivante renvoie true si le champ typePerso dans l’élément courant est défini sur
"gestion" ; sinon, elle renvoie false.
ed_personnel.filtered = true;
ed_personnel.filterFunc = function(item:Object) {
// Filtrer le personnel au poste de responsable...
return(item.empType != "gestion");
}
Voir aussi
DataSet.filterFunc
Composant DataSet (Flash Professionnel uniquement)
223
DataSet.filterFunc
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.filterFunc = function(item:Object) {
// renvoyer true|false;
};
Description
Propriété : spécifie une fonction qui détermine les éléments inclus dans l’affichage courant de la
collection. Lorsque DataSet.filtered est définie sur true, la fonction affectée à cette propriété
est appelée pour chaque objet de transfert de la collection. Pour chaque élément transmis à la
fonction, elle doit renvoyer true si l’élément doit être inclus dans l’affichage courant ou false
dans le cas contraire.
Exemple
Dans l’exemple suivant, le filtre est activé sur l’objet DataSet appelé ed_personnel. La fonction
de filtre spécifiée renvoie true si le champ typePerso dans chaque élément est défini sur
"gestion" ; sinon, elle renvoie false.
ed_personnel.filtered = true;
ed_personnel.filterFunc = function(item:Object) {
// Filtrer le personnel au poste de responsable...
return(item.empType != "gestion");
}
Voir aussi
DataSet.filtered
DataSet.find()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.find(valeursRecherche)
Paramètres
Un tableau contenant une ou plusieurs valeurs de champ pouvant être
localisées dans le tri courant.
valeursRecherche
Renvoie
Renvoie true si les valeurs sont trouvées ; sinon, renvoie false.
224
Chapitre 4 : Dictionnaire des composants
Description
Méthode : cherche dans l’affichage courant de la collection un élément avec des valeurs de champ
spécifiées par valeursRecherche. Les éléments qui se trouvent dans l’affichage courant
dépendent des paramètres de filtre et d’étendue courants. Lorsqu’un élément est trouvé, celui-ci
devient l’élément courant dans l’objet DataSet.
Les valeurs spécifiées par valeursRecherche doivent être dans le même ordre que la liste de
champs spécifiée par le tri courant (consultez l’exemple ci-dessous).
Si le tri courant n’est pas unique, l’objet de transfert trouvé est non déterminant. Si vous souhaitez
trouver la première ou la dernière occurrence d’un objet de transfert dans un tri qui n’est pas
unique, utilisez DataSet.findFirst() ou DataSet.findLast().
La conversion des données spécifiées est basée sur le type du champ sous-jacent, ainsi que sur celui
spécifié dans le tableau. Par exemple, si vous spécifiez ["05-02-02"] comme valeur de recherche,
le champ de date sous-jacent est utilisé pour convertir la valeur en utilisant la méthode
DataType.setAsString() de la date. Si vous spécifiez [new Date().getTime()], la méthode
DataType.setAsNumber() de la date est utilisée.
Exemple
Cet exemple recherche un élément dans la collection courante dont les champs nom et id
contiennent respectivement les valeurs "Paul" et 105. Si l’élément est trouvé, la méthode
DataSet.getItemId() est utilisée pour obtenir l’identifiant unique de l’élément dans la
collection et la méthode DataSet.locateById() permet de positionner l’itérateur courant sur
cet élément.
var idEtudiant:String = null;
donnéesEtudiant.addSort("id", ["nom","id"]);
// Localiser l’objet de transfert identifié par "Paul" et 105.
// Notez que l’ordre des champs de recherche correspond aux champs
// spécifiés dans la méthode addSort().
if(donnéesEtudiant.find(["Paul", 105])) {
idEtudiant = donnéesEtudiant.getItemId();
}
// A présent, utilisez la méthode locateByID() pour positionner l’itérateur
// courant sur l’élément de la collection dont l’ID correspond à idEtudiant
if(idEtudiant != null) {
donnéesEtudiant.locateById(idEtudiant);
}
Voir aussi
DataSet.applyUpdates(), DataSet.getItemId(), DataSet.locateById()
DataSet.findFirst()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.findFirst(valeursRecherche)
Composant DataSet (Flash Professionnel uniquement)
225
Paramètres
Un tableau contenant une ou plusieurs valeurs de champ pouvant être
localisées dans le tri courant.
valeursRecherche
Renvoie
Renvoie true si les éléments sont trouvés ; sinon, renvoie false.
Description
Méthode : recherche dans l’affichage courant de la collection le premier élément avec les valeurs
de champ spécifiées par valeursRecherche. Les éléments qui se trouvent dans l’affichage courant
dépendent des paramètres de filtre et d’étendue courants.
Les valeurs spécifiées par valeursRecherche doivent être dans le même ordre que la liste de
champs spécifiée par le tri courant (consultez l’exemple ci-dessous).
La conversion des données spécifiées est basée sur le type du champ sous-jacent, ainsi que sur celui
spécifié dans le tableau. Par exemple, si la valeur de recherche spécifiée est ["05-02-02"], le
champ de date sous-jacent est utilisé pour convertir la valeur à l’aide de la méthode setAsString()
de la date. Si la valeur spécifiée est [new Date().getTime()], la méthode setAsNumber() de la
date est utilisée.
Exemple
Cet exemple recherche le premier élément de la collection courante dont les champs nom et âge
contiennent "Paul" et "13". Si l’élément est trouvé, DataSet.getItemId() est utilisée pour
obtenir l’identifiant unique de l’élément dans la collection et DataSet.locateById() permet de
positionner l’itérateur courant sur cet élément.
var idEtudiant:String = null;
donnéesEtudiant.addSort("nameAndAge", ["nom", "âge");
// Localiser le premier objet de transfert ayant les valeurs spécifiées.
// Notez que l’ordre des champs de recherche correspond aux champs
// spécifiés dans la méthode addSort().
if(donnéesEtudiant.findFirst(["Paul", "13"])) {
idEtudiant = donnéesEtudiant.getItemId();
}
// A présent, utilisez la méthode locateByID() pour positionner l’itérateur
// courant sur l’élément de la collection dont l’ID correspond à idEtudiant
if(idEtudiant != null) {
donnéesEtudiant.locateById(idEtudiant);
}
Voir aussi
DataSet.applyUpdates(), DataSet.getItemId(), DataSet.locateById()
226
Chapitre 4 : Dictionnaire des composants
DataSet.findLast()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.findLast(valeursRecherche)
Paramètres
Un tableau contenant une ou plusieurs valeurs de champ pouvant être
localisées dans le tri courant.
valeursRecherche
Renvoie
Renvoie true si les éléments sont trouvés ; sinon, renvoie false.
Description
Méthode : recherche dans l’affichage courant de la collection le dernier élément ayant les valeurs
de champ spécifiées par valeursRecherche. Les éléments qui se trouvent dans l’affichage courant
dépendent des paramètres de filtre et d’étendue courants.
Les valeurs spécifiées par valeursRecherche doivent être dans le même ordre que la liste de
champs spécifiée par le tri courant (consultez l’exemple ci-dessous).
La conversion des données spécifiées est basée sur le type du champ sous-jacent, ainsi que sur celui
spécifié dans le tableau. Par exemple, si la valeur de recherche spécifiée est ["05-02-02"], le
champ de date sous-jacent est utilisé pour convertir la valeur à l’aide de la méthode
setAsString() de la date. Si la valeur spécifiée est [new Date().getTime()], la méthode
setAsNumber() de la date est utilisée.
Exemple
Cet exemple recherche le dernier élément de la collection courante dont les champs nom et âge
contiennent "Paul" et "13". Si l’élément est trouvé, la méthode DataSet.getItemId() est
utilisée pour obtenir l’identifiant unique de l’élément dans la collection et la méthode
DataSet.locateById() permet de positionner l’itérateur courant sur cet élément.
var idEtudiant:String = null;
donnéesEtudiant.addSort("nameAndAge", ["nom", "âge");
// Localiser le dernier objet de transfert ayant les valeurs spécifiées.
// Notez que l’ordre des champs de recherche correspond aux champs
// spécifiés dans la méthode addSort().
if(donnéesEtudiant.findLast(["Paul", "13"])) {
idEtudiant = donnéesEtudiant.getItemId();
}
// A présent, utilisez la méthode locateByID() pour positionner l’itérateur
// itérateur sur l’élément de la collection dont l’ID correspond à idEtudiant.
if(idEtudiant != null) {
donnéesEtudiant.locateById(idEtudiant);
}
Composant DataSet (Flash Professionnel uniquement)
227
Voir aussi
DataSet.applyUpdates(), DataSet.getItemId(), DataSet.locateById()
DataSet.first()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.first()
Renvoie
Rien.
Description
Méthode : transforme le premier élément de l’affichage courant de la collection en élément
courant. Les éléments qui se trouvent dans l’affichage courant dépendent des paramètres de filtre
et d’étendue courants.
Exemple
Le code suivant positionne les donnéesUtilisateur DataSet au premier élément de sa
collection, puis affiche la valeur de la propriété price que contient cet élément en utilisant la
propriété DataSet.currentItem.
inventoryData.first();
trace("Le prix du premier élément est :" + inventoryData.currentItem.price);
Voir aussi
DataSet.last()
DataSet.getItemId()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.getItemId([index])
Paramètres
Un nombre spécifiant l’élément de l’affichage courant d’éléments dont l’ID est
recherché. Ce paramètre est facultatif.
index
Renvoie
Une chaîne.
228
Chapitre 4 : Dictionnaire des composants
Description
Méthode : renvoie l’identifiant de l’élément courant de la collection ou celui de l’élément spécifié
par l’index. Cet identifiant est unique uniquement dans cette collection et est affecté
automatiquement par DataSet.addItem().
Exemple
Le code suivant obtient l’ID unique pour l’élément courant de la collection et l’affiche dans le
panneau de sortie.
var numElément:String = monEnsembleDeDonnées.getItemId();
trace("id Personnel("+ numElément+ ")");
Voir aussi
DataSet.addItem()
DataSet.getIterator()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.getIterator()
Renvoie
Un objet ValueListIterator.
Description
Méthode : renvoie un nouvel itérateur pour cette collection. Cet itérateur est le clone de l’itérateur
courant, notamment de sa position courante dans la collection. Cette méthode s’adresse
principalement aux utilisateurs expérimentés souhaitant avoir accès à plusieurs affichages
simultanés de la même collection.
Exemple
monItérateur:ValueListIterator = monEnsembleDeDonnées.getIterator();
monItérateur.sortOn(["name"]);
monItérateur.find({name:"Jean Simon"}).phone = "555-1212";
DataSet.hasNext()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.hasNext()
Composant DataSet (Flash Professionnel uniquement)
229
Renvoie
Une valeur booléenne.
Description
Méthode : renvoie false si l’itérateur courant est à la fin de l’affichage de la collection ; sinon,
renvoie true.
Exemple
Cet exemple itère sur tous les éléments de l’affichage courant de la collection (en commençant par
le début), puis effectue un calcul relatif à la propriété price de chaque élément.
monEnsembleDeDonnées.first();
while (monEnsembleDeDonnées.hasNext() ) {
var prix = monEnsembleDeDonnées.currentItem.price;
prix = price * 0.5; // Réduction de 50 % !
monEnsembleDeDonnées.currentItem.price = prix;
monEnsembleDeDonnées.next();
}
Voir aussi
DataSet.currentItem, DataSet.first(), DataSet.next()
DataSet.hasPrevious()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.hasPrevious()
Renvoie
Une valeur booléenne.
Description
Méthode : renvoie false si l’itérateur courant est au début de l’affichage de la collection ; sinon,
renvoie true.
Exemple
Cet exemple itère sur tous les éléments de l’affichage courant de la collection (en commençant par
le dernier élément), puis effectue un calcul relatif à la propriété price de chaque élément.
monEnsembleDeDonnées.last();
while(monEnsembleDeDonnées.hasPrevious()) {
var prix = monEnsembleDeDonnées.currentItem.price;
prix = price * 0.5; // Réduction de 50 % !
monEnsembleDeDonnées.currentItem.price = prix;
monEnsembleDeDonnées.previous();
}
230
Chapitre 4 : Dictionnaire des composants
Voir aussi
DataSet.currentItem, DataSet.skip(), DataSet.previous()
DataSet.hasSort()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.hasSort(nomTri)
Paramètres
nomTri
Une chaîne qui contient le nom d’un tri créé avec DataSet.addSort()
Renvoie
Une valeur booléenne.
Description
Méthode : renvoie true si le tri spécifié par nomTri existe ; sinon, renvoie false.
Exemple
Le code suivant vérifie qu’un tri nommé « triClient » existe. Si le tri existe déjà, il devient le tri
courant via la méthode DataSet.useSort(). Si un tri de ce nom n’existe pas, il est créé au moyen
de la méthode DataSet.addSort().
if(monEnsembleDeDonnées.hasSort("triClient"))
monEnsembleDeDonnées.useSort("triClient");
} else {
monEnsembleDeDonnées.addSort("triClient", ["client"],
DataSetIterator.Descending);
}
Voir aussi
DataSet.applyUpdates(), DataSet.useSort()
DataSet.isEmpty()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.isEmpty()
Composant DataSet (Flash Professionnel uniquement)
231
Renvoie
Une valeur booléenne.
Description
Méthode : renvoie true si l’objet DataSet spécifié ne contient aucun objet (si
dataSet.length == 0).
Exemple
L’exemple suivant désactive un bouton Supprimer l’enregistrement (masqué) si l’objet DataSet
auquel il s’applique est vide.
if(donnéesUtilisateur.isEmpty()){
delete_btn.enabled = false;
}
Voir aussi
DataSet.length
DataSet.items
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
monEnsembleDeDonnées.items
Description
Propriété : un tableau d’éléments gérés par monEnsembleDeDonnées.
Exemple
Cet exemple affecte un tableau d’objets à une propriété items de l’objet DataSet.
var recData = [{id:0, firstName:"Michel", lastName:"Jourdain"},
{id:1, firstName:"Jean", lastName:"Sadourni"},
{id:2, firstName:"Paul", lastName:"Simon"}];
monEnsembleDeDonnées.items = recData;
DataSet.itemClassName
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.itemClassName
232
Chapitre 4 : Dictionnaire des composants
Description
Propriété : une chaîne indiquant le nom de la classe qui doit être créée lorsque des éléments sont
ajoutés à la collection. La classe que vous spécifiez doit implémenter l’interface TransferObject,
comme indiqué ci-dessous.
interface mx.data.to.TransferObject {
function clone():Object;
function getPropertyData():Object;
function setPropertyData(propData:Object):Void;
}
Vous pouvez également définir cette propriété dans l’inspecteur des propriétés.
Pour que cette classe soit disponible à l’exécution, vous devez également inclure une référence
pleinement qualifiée à cette classe au sein du code de votre fichier SWF, comme dans le code
suivant :
var monElément:my.package.monElément;
Une exception DataSetError est émise si vous essayez de modifier la valeur de cette propriété
après le chargement du tableau DataSet.items.
Pour plus d’informations sur l’interface TransferObject, consultez Interface TransferObject,
page 556.
DataSet.iteratorScrolled
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
on(iteratorScrolled) {
// insérez votre code ici
}
objetDécoute = new Object();
objetDécoute.iteratorScrolled = function (objEvt) {
// insérez votre code ici
}
dataSet.addEventListener("iteratorScrolled", objetDécoute)
Description
Evénement : généré immédiatement lorsque l’itérateur courant a atteint un nouvel élément de la
collection.
L’objet événement (objEvt) possède les propriétés suivantes :
L’objet DataSet qui a généré l’événement.
target
type
La chaîne "iteratorScrolled".
Un nombre qui spécifie le nombre d’éléments que l’itérateur a fait défiler ; les valeurs
positives indiquent que l’itérateur a défilé vers le bas dans la collection et les valeurs négatives que
l’itérateur a défilé vers le haut dans la collection.
scrolled
Composant DataSet (Flash Professionnel uniquement)
233
Exemple
Dans cet exemple, la barre d’état d’une application (masquée) est mise à jour lorsque la position
de l’itérateur courant change.
on(iteratorScrolled) {
var dataSet:mx.data.components.DataSet = eventObj.target;
var texteBarreEtat = dataSet.fullname+" Acct #:
"+dataSet.getField("acctnum").getAsString();
setStatusBar(texteBarreEtat);
}
DataSet.last()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.last()
Renvoie
Rien.
Description
Méthode : transforme le dernier élément de l’affichage courant de la collection en élément
courant.
Exemple
Le code suivant, associé à un composant Button, permet d’atteindre le dernier élément de la
collection DataSet.
function goLast(objEvt:obj) {
inventoryData.last();
}
goLast_btn.addEventListener("click", goLast);
Voir aussi
DataSet.first()
DataSet.length
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.length
234
Chapitre 4 : Dictionnaire des composants
Description
Propriété (lecture seule) : spécifie le nombre d’éléments dans l’affichage courant de la collection.
Le nombre d’éléments pouvant être affichés est basé sur les paramètres de filtre et d’étendue
courants.
Exemple
L’exemple suivant prévient les utilisateurs lorsque ceux-ci n’ont pas intégré suffisamment d’entrées
dans l’ensemble de données, probablement en utilisant un composant DataGrid modifiable.
if(monEnsembleDeDonnées.length < MIN_REQUIRED) {
alert("Vous avez besoin d’au moins "+MIN_REQUIRED);
}
DataSet.loadFromSharedObj()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.loadFromSharedObj(nomObjet, [cheminLocal])
Paramètres
Une chaîne spécifiant le nom de l’objet partagé à récupérer. Le nom peut inclure des
barres obliques (par exemple, « travail/adresses »). Les espaces et les caractères suivants ne sont pas
autorisés dans le nom spécifié :
nomObjet
~ % & \ ; : " ' , < > ? #
Un paramètre de chaîne facultatif qui précise le chemin complet ou partiel vers le
fichier SWF qui a créé l’objet partagé. La chaîne est utilisée pour déterminer où l’objet est stocké
sur l’ordinateur de l’utilisateur. La valeur par défaut est le chemin complet du fichier SWF.
cheminLocal
Renvoie
Rien.
Description
Méthode : charge toutes les données pertinentes nécessaires à la restauration de cette collection
DataSet à partir d’un objet partagé. Pour enregistrer une collection DataSet dans un objet partagé,
utilisez DataSet.saveToSharedObj(). La méthode DataSet.loadFromSharedObject()
remplace toute donnée ou modification en attente susceptible d’être présente dans cette collection
DataSet. Notez que le nom d’occurrence de la collection DataSet est utilisé pour identifier les
données dans l’objet partagé spécifié.
Cette méthode émet une exception DataSetError si l’objet partagé spécifié ne peut pas être
trouvé ou si un problème survient lors de la récupération des données qu’il contient.
Composant DataSet (Flash Professionnel uniquement)
235
Exemple
Cet exemple tente de charger un objet partagé appelé webapp/customerInfo associé à l’ensemble
de données monEnsembleDeDonnées. La méthode est appelée au sein d’un bloc de code
try...catch.
try
monEnsembleDeDonnées.loadFromSharedObj("webapp/customerInfo");
}
catch(e:DataSetError) {
trace("Impossible de charger l’objet partagé.");
}
Voir aussi
DataSet.saveToSharedObj()
DataSet.locateById()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.locateById(id)
Paramètres
id
Un identifiant de chaîne pour l’élément de la collection devant être localisé.
Renvoie
Une valeur booléenne.
Description
Méthode : positionne l’itérateur courant sur l’élément de la collection dont l’ID correspond à id.
Cette méthode renvoie true si l’ID spécifié correspond à celui d’un élément de la collection ;
sinon, elle renvoie false.
Exemple
Cet exemple utilise DataSet.find() pour rechercher un élément dans la collection courante
dont les champs nom et id contiennent respectivement les valeurs "Paul" et 105. Si l’élément est
trouvé, la méthode DataSet.getItemId() est utilisée pour obtenir l’identifiant unique de cet
élément et la méthode DataSet.locateById() permet de positionner l’itérateur courant sur cet
élément.
var idEtudiant:String = null;
donnéesEtudiant.addSort("id", ["nom","id"]);
if(donnéesEtudiant.find(["Paul", 105])) {
idEtudiant = donnéesEtudiant.getItemId();
donnéesEtudiant.locateById(idEtudiant);
}
236
Chapitre 4 : Dictionnaire des composants
Voir aussi
DataSet.applyUpdates(), DataSet.find(), DataSet.getItemId()
DataSet.logChanges
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.logChanges
Description
Propriété : une valeur booléenne qui spécifie si les modifications apportées à l’ensemble de
données ou à ses éléments doivent être enregistrées (true) ou non (false) dans
DataSet.deltaPacket.
Lorsque cette propriété est définie sur true, les opérations effectuées au niveau de la collection et
au niveau de l’élément sont enregistrées. Les modifications apportées au niveau de la collection
comprennent l’ajout et la suppression d’éléments de la collection. Les modifications apportées au
niveau de l’élément comprennent les modifications de propriété apportées aux éléments et les
appels de méthode effectués sur les éléments via le composant DataSet.
Exemple
L’exemple suivant désactive l’enregistrement pour l’objet DataSet appelé donnéesUtilisateur.
donnéesUtilisateur.logChanges = false;
Voir aussi
DataSet.deltaPacket
DataSet.modelChanged
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Description
on(modelChanged) {
// insérez votre code ici
}
objetDécoute = new Object();
objetDécoute.modelChanged = function (objEvt) {
// insérez votre code ici
}
dataSet.addEventListener("modelChanged", objetDécoute)
Composant DataSet (Flash Professionnel uniquement)
237
Description
Evénement : diffusé lorsque la collection est modifiée de quelque manière que ce soit (par
exemple, lorsque des éléments sont supprimés de la collection ou ajoutés à cette dernière, lorsque
la valeur d’une propriété d’élément est modifiée ou lorsque la collection est filtrée ou triée).
L’objet événement (objEvt) possède les propriétés suivantes :
L’objet DataSet qui a généré l’événement.
target
type
La chaîne "iteratorScrolled".
premierElément
L’index (numéro) du premier élément de la collection affecté par la
modification.
dernierElément L’index (numéro) du dernier élément de la collection affecté par la
modification (équivaut à premierElément si un seul élément a été affecté).
Une chaîne qui contient le nom du champ affecté. Cette propriété est undefined
sauf si la modification concernait une propriété de l’objet DataSet.
nomDeChamp
nomEvénement
Une chaîne qui décrit la modification qui a eu lieu. Cette valeur peut être :
Valeur de
chaîne
Description
"addItems"
Une série d’éléments a été ajoutée.
"filterModel"
Le modèle a été filtré et l’affichage doit être actualisé (réinitialisez la position de
défilement).
"removeItems"
Une série d’éléments a été supprimée.
"schemaLoaded"
La définition des champs du fournisseur de données a été déclarée.
"sort"
Les données ont été triées.
"updateAll"
L’ensemble de l’affichage doit être actualisé, en excluant la position de
défilement.
"updateColumn"
Une définition de champ complète dans le fournisseur de données doit être
actualisée.
"updateField"
Un champ dans un élément a été modifié et doit être actualisé.
"updateItems"
Une série d’éléments doit être actualisée.
Exemple
Dans cet exemple, un bouton Supprimer l’élément est désactivé si les éléments ont été supprimés
de la collection et que l’objet DataSet cible ne contient plus d’éléments.
on(modelChanged) {
supprimer_btn.enabled = ((objEvt.nomEvénement == "removeItems") &&
(eventObj.target.isEmpty()));
}
Voir aussi
DataSet.isEmpty()
238
Chapitre 4 : Dictionnaire des composants
DataSet.newItem
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
on(newItem) {
// insérez votre code ici
}
objetDécoute = new Object();
objetDécoute.newItem = function (objEvt) {
// insérez votre code ici
}
dataSet.addEventListener("newItem", objetDécoute)
Description
Evénement : diffusé lorsqu’un nouvel objet de transfert est construit au moyen de
DataSet.createItem(). Un écouteur pour cet événement peut modifier l’élément avant son
ajout à la collection.
L’objet événement (objEvt) possède les propriétés suivantes :
L’objet DataSet qui a généré l’événement.
target
type
La chaîne "iteratorScrolled".
élément
Une référence à l’élément créé.
Exemple
Cet exemple modifie un élément nouvellement créé avant son ajout à la collection.
function newItemEvent(evt:Object):Void {
var personnel:Object = evt.item;
personnel.name = "nouveauType";
// les données de propriété sont au format XML
personnel.zip =
personnel.getPropertyData().firstChild.childNodes[1].attributes.zip;
}
ed_personnel.addEventListener("newItem", newItemEvent);
DataSet.next()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.next()
Composant DataSet (Flash Professionnel uniquement)
239
Renvoie
Rien.
Description
Méthode : transforme l’élément suivant de l’affichage courant de la collection en élément courant.
Les éléments qui se trouvent dans l’affichage courant dépendent des paramètres de filtre et
d’étendue courants.
Exemple
Cet exemple boucle sur tous les éléments d’un objet DataSet, en commençant par le premier
élément, et effectue un calcul sur un champ dans chaque élément.
monEnsembleDeDonnées.first();
while (monEnsembleDeDonnées.hasNext() ) {
var prix = monEnsembleDeDonnées.price;
prix = price * 0.5; // Réduction de 50 % !
monEnsembleDeDonnées.price = prix;
monEnsembleDeDonnées.next();
}
Voir aussi
DataSet.first(), DataSet.hasNext()
DataSet.previous()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.previous()
Renvoie
Rien.
Description
Méthode : transforme l’élément précédent de l’affichage courant de la collection en élément
courant. Les éléments qui se trouvent dans l’affichage courant dépendent des paramètres de filtre
et d’étendue courants.
Cet exemple boucle sur tous les éléments de l’affichage courant de la collection, en commençant
par le dernier élément, et effectue un calcul sur un champ dans chaque élément.
monEnsembleDeDonnées.last();
while(monEnsembleDeDonnées.hasPrevious()) {
var prix = monEnsembleDeDonnées.price;
prix = price * 0.5; // Réduction de 50 % !
monEnsembleDeDonnées.price = prix;
monEnsembleDeDonnées.previous();
}
240
Chapitre 4 : Dictionnaire des composants
Voir aussi
DataSet.first(), DataSet.hasNext()
DataSet.properties
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.properties
Description
Propriété (lecture seule) : renvoie un objet qui contient toutes les propriétés (champs) exposées
pour tout objet de transfert dans cette collection.
Exemple
Cet exemple affiche tous les noms des propriétés dans l’objet DataSet appelé
monEnsembleDeDonnées.
for(var i in monEnsembleDeDonnées.properties) {
trace("champ '"+i+ "' possède la valeur "+
monEnsembleDeDonnées.properties[i]);
}
DataSet.readOnly
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.readOnly
Description
Propriété : une valeur booléenne spécifiant si cette collection peut être modifiée (false) ou si elle
est en lecture seule (true). La définition de cette propriété sur true empêche les mises à jour de la
collection.
Vous pouvez également définir cette propriété dans l’inspecteur des propriétés.
Exemple
L’exemple suivant transforme l’objet DataSet appelé monEnsembleDeDonnées en lecture seule,
puis tente de modifier la valeur d’une propriété appartenant à l’élément courant dans la
collection. Ceci générera une exception.
Composant DataSet (Flash Professionnel uniquement)
241
monEnsembleDeDonnées.readOnly = true;
// Ceci générera une exception
monEnsembleDeDonnées.currentItem.price = 15;
Voir aussi
DataSet.currentItem
DataSet.removeAll()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
dataSet.removeAll()
Paramètres
Aucun.
Renvoie
Rien.
Description
Méthode : supprime tous les éléments de la collection DataSet.
Exemple
Cet exemple supprime tous les éléments de la collection DataSet ed_contact :
ed_contact.removeAll();
DataSet.removeItem
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
on(removeItem) {
// insérez votre code ici
}
objetDécoute = new Object();
objetDécoute.removeItem = function (objEvt) {
// insérez votre code ici
}
dataSet.addEventListener("removeItem", objetDécoute)
242
Chapitre 4 : Dictionnaire des composants
Description
Evénement : généré juste avant la suppression d’un nouvel élément de cette collection.
Si vous définissez la propriété result de l’objet événement sur false, la suppression est annulée ;
si vous la définissez sur true, elle est autorisée.
L’objet événement (objEvt) possède les propriétés suivantes :
L’objet DataSet qui a généré l’événement.
target
type
La chaîne "removeItem".
item
Une référence à l’élément de la collection à supprimer.
Une valeur booléenne indiquant si l’élément doit être supprimé. Par défaut, cette valeur
result
est true.
Exemple
Dans cet exemple, un gestionnaire d’événement on(removeItem) annule la suppression du
nouvel élément si une fonction définie par l’utilisateur, appelée userHasAdminPrivs(), renvoie
false ; sinon, la suppression est autorisée.
on(removeItem) {
if(globalObj.userHasAdminPrivs()) {
// Autoriser la suppression de l’élément.
objEvt.result = true;
} else {
// Ne pas autoriser la suppression de l’élément ; l’utilisateur ne dispose
pas des droits d’administrateur.
eventObj.result = false;
}
}
Voir aussi
DataSet.addItem
DataSet.removeItem()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.removeItem([item])
Paramètres
item
L’élément à supprimer. Ce paramètre est facultatif.
Renvoie
Une valeur booléenne. Renvoie true si l’élément a été supprimé avec succès ; sinon, renvoie
false.
Composant DataSet (Flash Professionnel uniquement)
243
Description
Méthode : supprime l’élément spécifié de la collection ou supprime l’élément courant si le
paramètre item est omis. Cette opération est enregistrée dans DataSet.deltaPacket si
DataSet.logChanges est true.
Exemple
Le code suivant, associé à une occurrence du composant Button, supprime l’élément courant de
l’objet DataSet appelé donnéesUtilisateur résidant sur le même scénario que l’occurrence
Button.
on(click) {
_parent.donnéesUtilisateur.removeItem();
}
Voir aussi
DataSet.deltaPacket, DataSet.logChanges
DataSet.removeRange()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.removeRange()
Renvoie
Rien.
Description
Méthode : supprime les paramètres de point de fin spécifiés au moyen de DataSet.setRange()
pour l’itérateur courant.
Exemple
monEnsembleDeDonnées.addSort("name_id", ["nom", "id"]);
monEnsembleDeDonnées.setRange(["Paul", 105],["Catherine", 110]);
while (monEnsembleDeDonnées.hasNext() ) {
monEnsembleDeDonnées.gradeLevel ="5"; // modifier tous les chiffres dans
cette étendue
monEnsembleDeDonnées.next();
}
monEnsembleDeDonnées.removeRange();
monEnsembleDeDonnées.removeSort("name_id");
Voir aussi
DataSet.applyUpdates(), DataSet.hasNext(), DataSet.next(), DataSet.removeSort(),
DataSet.setRange()
244
Chapitre 4 : Dictionnaire des composants
DataSet.removeSort()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.removeSort(nomTri)
Paramètres
nomTri
Une chaîne spécifiant le nom du tri à supprimer.
Renvoie
Rien.
Description
Méthode : supprime le tri spécifié de cet objet DataSet, si le tri existe. Si le tri spécifié n’existe pas,
cette méthode émet une exception DataSetError.
Exemple
monEnsembleDeDonnées.addSort("name_id", ["nom", "id"]);
monEnsembleDeDonnées.setRange(["Paul", 105],["Catherine", 110]);
while (monEnsembleDeDonnées.hasNext() ) {
monEnsembleDeDonnées.gradeLevel ="5"; // modifier tous les chiffres dans
cette étendue
monEnsembleDeDonnées.next();
}
monEnsembleDeDonnées.removeRange();
monEnsembleDeDonnées.removeSort("name_id");
Voir aussi
DataSet.applyUpdates(), DataSet.hasNext(), DataSet.next(), DataSet.removeRange(),
DataSet.setRange()
Composant DataSet (Flash Professionnel uniquement)
245
DataSet.resolveDelta
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
on(resolveDelta) {
// insérez votre code ici
}
objetDécoute = new Object();
objetDécoute.resolveDelta = function (objEvt) {
// insérez votre code ici
}
dataSet.addEventListener("resolveDelta", objetDécoute)
Description
Evénement : diffusé lorsqu’un objet DeltaPacket est affecté à DataSet.deltaPacket dont l’ID de
transaction correspond à celui d’un objet DeltaPacket récupéré précédemment à partir de l’objet
DataSet, et qui possède des messages associés à n’importe quel objet Delta ou DeltaItem dans cet
objet DeltaPacket.
Cet événement vous donne la possibilité de reconstituer toute erreur renvoyée par le serveur lors
de la tentative d’application des modifications précédemment soumises. En général, vous utilisez
cet événement pour afficher une « boîte de dialogue de reconstitution » avec les valeurs en conflit,
autorisant l’utilisateur à apporter les modifications appropriées aux données de sorte qu’elles
puissent à nouveau être envoyées.
L’objet événement (objEvt) possède les propriétés suivantes :
target
type
L’objet DataSet qui a généré l’événement.
La chaîne "resolveDelta".
données Un tableau d’objets Delta et DeltaItem associés qui possèdent des messages dont la
longueur est différente de zéro.
Exemple
Cet exemple affiche un formulaire appelé formReconstit (masqué) et appelle une méthode sur
cet objet formulaire (setReconcileData()) qui autorise l’utilisateur à reconstituer toute valeur
en conflit renvoyée par le serveur :
monEnsembleDeDonnées.addEventListener("resolveDelta", resolveDelta);
function resolveDelta(objEvt:Object) {
formReconstit.visible = true;
formReconstit.setReconcileData(objEvt.data);
}
// dans le code formReconstit
function setReconcileData(data:Array):Void {
var di:DeltaItem;
var ops:Array = ["propriété", "méthode"];
var cl:Array;
// modifier la liste
var msg:String;
246
Chapitre 4 : Dictionnaire des composants
for (var i = 0; i<data.length; i++) {
cl = data[i].getChangeList();
for (var j = 0; j<cl.length; j++) {
di = cl[j];
msg = di.getMessage();
if (msg.length>0) {
trace("Le problème suivant est survenu '"+msg+"' lors de l’opération
de '"+ops[di.kind]+"' modification sur/avec '"+di.name+"' valeur du serveur
courant ["+di.curValue+"], valeur envoyée ["+di.newValue+"] Veuillez
résoudre ce problème !");
}
}
}
}
DataSet.saveToSharedObj()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.saveToSharedObj(nomObjet, [cheminLocal])
Paramètres
Une chaîne spécifiant le nom de l’objet partagé à créer. Le nom peut inclure des
barres obliques (par exemple, « travail/adresses »). Les espaces et les caractères suivants ne sont pas
autorisés dans le nom spécifié :
nomObjet
~ % & \ ; : " ' , < > ? #
Un paramètre de chaîne facultatif qui précise le chemin complet ou partiel vers le
fichier SWF qui a créé l’objet partagé. Cette chaîne permet de déterminer l’emplacement où
l’objet sera stocké sur l’ordinateur de l’utilisateur. La valeur par défaut est le chemin complet du
fichier SWF.
cheminLocal
Renvoie
Rien.
Description
Méthode : enregistre toutes les données pertinentes nécessaires à la restauration de cette collection
DataSet dans un objet partagé. Ceci permet aux utilisateurs de travailler lorsqu’ils sont
déconnectés des données source, s’il s’agit d’une ressource réseau. Cette méthode remplace toute
donnée susceptible d’être présente dans l’objet partagé spécifié pour cette collection DataSet. Pour
restaurer une collection DataSet à partir d’un objet partagé, utilisez
DataSet.loadFromSharedObj(). Notez que le nom d’occurrence de la collection DataSet est
utilisé pour identifier les données dans l’objet partagé spécifié.
Si l’objet partagé ne peut pas être créé ou qu’un problème survient lors de la purge des données
vers cet objet, cette méthode émet une exception DataSetError.
Composant DataSet (Flash Professionnel uniquement)
247
Exemple
Cet exemple appelle saveToSharedObj() dans un bloc try..catch et affiche un message
d’erreur si un problème survient lors de l’enregistrement des données dans l’objet partagé.
try
monEnsembleDeDonnées.saveToSharedObj("webapp/customerInfo");
}
catch(e:DataSetError) {
trace("Impossible de créer l’objet partagé");
}
Voir aussi
DataSet.loadFromSharedObj()
DataSet.schema
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.schema
Description
Propriété : fournit la représentation XML du schéma pour cet objet DataSet. Le code XML
affecté à cette propriété doit avoir le format suivant :
<?xml version="1.0" ?>
<propriétés>
<property name="propertyName">
<type name="dataType" />
<encoder name="dataType">
<options>
<dataFormat>options de format<dataFormat/>
<options/>
<encoder/>
<kind name="dataKind">
<options/>
</kind>
</property>
<property> ... </property>
...
</properties>
Une exception DataSetError est émise si le code XML spécifié ne respecte pas le format cidessus.
Exemple
monEnsembleDeDonnées.schema = new XML("<properties><property
name="facturable"> ..etc.. </properties>");
248
Chapitre 4 : Dictionnaire des composants
DataSet.selectedIndex
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.selectedIndex
Description
Propriété : spécifie l’index sélectionné dans la collection. Vous pouvez lier cette propriété à
l’élément sélectionné dans un composant DataGrid ou List, et inversement. Pour obtenir un
exemple complet présentant ce point, consultez Création d’une application avec le composant
DataSet, page 208.
Exemple
L’exemple suivant définit l’index sélectionné d’un objet DataSet (donnéesUtilisateur) sur
l’index sélectionné dans un composant DataGrid (grilleUtilisateur).
donnéesUtilisateur.selectedIndex = grilleUtilisateur.selectedIndex;
DataSet.setIterator()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.setIterator(itérateur)
Paramètres
itérateur
Un objet itérateur renvoyé par un appel à DataSet.getIterator().
Renvoie
Rien.
Description
Méthode : affecte l’itérateur spécifié à cet objet DataSet et le transforme en itérateur courant.
L’itérateur spécifié doit venir d’un appel précédent à DataSet.getIterator() sur l’objet DataSet
auquel il est affecté ; sinon, une exception DataSetError est émise.
Exemple
monItérateur:ValueListIterator = monEnsembleDeDonnées.getIterator();
monItérateur.sortOn(["name"]);
monEnsembleDeDonnées.setIterator(monItérateur);
Composant DataSet (Flash Professionnel uniquement)
249
Voir aussi
DataSet.getIterator()
DataSet.setRange()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.setRange(valeursDépart, valeursFin)
Paramètres
valeursDépart
Un tableau des principales valeurs des propriétés du premier objet de transfert
de l’étendue.
valeursFin
Un tableau des principales valeurs des propriétés du dernier objet de transfert de
l’étendue.
Renvoie
Rien.
Description
Méthode : définit les points de fin pour l’itérateur courant. Les points de fin définissent une
étendue au sein de laquelle l’itérateur agit. Ceci est uniquement valable si un tri valide a été défini
pour l’itérateur courant au moyen de DataSet.applyUpdates().
Si vous souhaitez obtenir un groupement de valeurs, il est plus efficace de définir une étendue
pour l’itérateur courant plutôt que d’utiliser une fonction de filtre (consultez
DataSet.filterFunc).
Exemple
monEnsembleDeDonnées.addSort("name_id", ["nom", "id"]);
monEnsembleDeDonnées.setRange(["Paul", 105],["Catherine", 110]);
while (monEnsembleDeDonnées.hasNext() ) {
monEnsembleDeDonnées.gradeLevel ="5"; // modifier tous les chiffres dans
cette étendue
monEnsembleDeDonnées.next();
}
monEnsembleDeDonnées.removeRange();
monEnsembleDeDonnées.removeSort("name_id");
Voir aussi
DataSet.applyUpdates(), DataSet.hasNext(), DataSet.next(), DataSet.removeRange(),
DataSet.removeSort()
250
Chapitre 4 : Dictionnaire des composants
DataSet.skip()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.skip(décalage)
Paramètres
Un entier spécifiant le nombre d’enregistrements en fonction duquel déplacer la
position de l’itérateur.
décalage
Renvoie
Rien.
Description
Méthode : avance ou recule la position de l’itérateur dans la collection selon le nombre spécifié
par le décalage. Les valeurs de décalage positives avancent la position de l’itérateur ; les valeurs
négatives la font reculer.
Si le décalage spécifié se situe au-delà du début (ou de la fin) de la collection, l’itérateur se place
au début (ou à la fin) de la collection.
Exemple
Cet exemple positionne l’itérateur courant au premier élément de la collection, puis se déplace
vers l’avant-dernier élément, et effectue un calcul sur un champ appartenant à cet élément.
monEnsembleDeDonnées.first();
// Déplacer vers l’élément situé juste avant le dernier
var élémentsAIgnorer = monEnsembleDeDonnées.length - 2;
monEnsembleDeDonnées.skip(élémentsAIgnorer).price =
monEnsembleDeDonnées.amount * 10;
DataSet.useSort()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
dataSet.useSort(nomTri, ordre)
Paramètres
nomTri
Une chaîne qui contient le nom du tri à utiliser.
ordre Une valeur entière qui indique l’ordre de tri ; la valeur doit être
DataSetIterator.Ascending ou DataSetIterator.Descending.
Composant DataSet (Flash Professionnel uniquement)
251
Renvoie
Rien.
Description
Méthode : fait passer le tri pour l’itérateur courant vers le tri spécifié par nomTri, si celui existe. Si
le tri spécifié par nomTri n’existe pas, une exception DataSetError est émise.
Pour créer un tri, utilisez DataSet.applyUpdates().
Exemple
Ce code utilise DataSet.hasSort() pour déterminer si un tri appelé "client" existe. Si c’est le
cas, le code appelle DataSet.useSort() pour que "client" devienne le tri courant. Sinon, le
code crée un tri de ce nom en utilisant DataSet.addSort().
if(monEnsembleDeDonnées.hasSort("client")) {
monEnsembleDeDonnées.useSort("client");
} else {
monEnsembleDeDonnées.addSort("client", ["client"],
DataSetIterator.Descending);
}
Voir aussi
DataSet.applyUpdates(), DataSet.hasSort()
Composant DateChooser (Flash Professionnel uniquement)
Le composant DateChooser est un calendrier qui permet aux utilisateurs de sélectionner une date.
Il comprend un bouton qui permet aux utilisateurs de faire défiler les mois et de sélectionner une
date en cliquant sur celle de leur choix. Vous pouvez définir des paramètres qui indiquent les
noms des mois et des jours, le premier jour de la semaine et les dates désactivées, et qui permettent
la mise en surbrillance de la date courante.
Un aperçu en direct de chaque occurrence DateChooser reflète les valeurs indiquées par le
panneau de l’inspecteur des propriétés ou des composants au cours de la programmation.
Utilisation du composant DateChooser (Flash Professionnel uniquement)
Le composant DateChooser peut être utilisé là où vous souhaitez qu’un utilisateur sélectionne une
date. Par exemple, vous pouvez utiliser un composant DateChooser dans un système de
réservation d’hôtel comprenant des dates sélectionnables et des dates désactivées. Vous pouvez
également utiliser le composant DateChooser dans une application qui affiche des événements
courants, tels que des spectacles ou des réunions, lorsque l’utilisateur sélectionne une date.
Paramètres DateChooser
Les paramètres suivants sont des paramètres de programmation que vous pouvez définir pour
chaque occurrence de composant DateChooser dans le panneau de l’inspecteur des propriétés ou
des composants :
monthNames définit les noms des mois affichés dans la ligne d’en-tête du calendrier. La valeur est
un tableau et la valeur par défaut est ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October","November", "December"].
252
Chapitre 4 : Dictionnaire des composants
dayNames définit les noms des jours de la semaine. La valeur est un tableau et la valeur par
défaut est ["S", "M", "T", "W", "T", "F", "S"].
firstDayOfWeek indique le jour de la semaine (0-6, 0 étant le premier élément du tableau
dayNames) affiché dans la première colonne de DateChooser. Cette propriété modifie l’ordre
d’affichage des colonnes des jours.
indique les jours désactivés de la semaine. Ce paramètre est un tableau qui peut
comprendre un maximum de 7 valeurs. La valeur par défaut est [] (tableau vide).
disabledDays
showToday
indique si la date du jour doit être mise en surbrillance ou non. La valeur par défaut
est true.
Vous pouvez rédiger du code ActionScript pour contrôler ces options et d’autres options du
composant DateChooser à l’aide des propriétés, méthodes et événements ActionScript. Pour plus
d’informations, consultez Classe DateChooser (Flash Professionnel uniquement), page 255.
Création d’une application avec le composant DateChooser
La procédure suivante explique comment ajouter un composant DateChooser à une application
lors de la programmation. Dans cet exemple, le composant DateChooser autorise l’utilisateur à
choisir une date dans un système de réservation de vols. Toutes les dates précédant le 15 octobre
doivent être désactivées. Une plage de dates au mois de décembre doit également être désactivée
afin de créer une période correspondant à des vacances ; les lundis doivent également être
désactivés.
Pour créer une application avec le composant DateChooser, effectuez les opérations
suivantes :
1 Dans le panneau Composants, double-cliquez sur le composant DateChooser afin d’ajouter ce
dernier à la scène.
2 Dans l’inspecteur des propriétés, entrez le nom d’occurrence calendrierVols.
3 Dans le panneau Actions, entrez le code suivant dans l’image 1 du scénario pour définir la plage
des dates sélectionnables :
calendrierVols.selectableRange = {rangeStart:new Date(2003, 9, 15),
rangeEnd:new Date(2003, 11, 31)}
Ce code affecte une valeur à la propriété selectableRange dans un objet ActionScript qui
contient deux objets Date avec les noms de variables rangeStart et rangeEnd. Il définit les
extrémités inférieure et supérieure de la plage dans laquelle l’utilisateur peut choisir une date.
4 Dans le panneau Actions, entrez le code suivant dans l’Image 1 du scénario pour définir une
plage de dates désactivées correspondant aux vacances.
calendrierVols.disabledRanges = [{rangeStart: new Date(2003, 11, 15),
rangeEnd: new Date(2003, 11, 26)}];
5 Dans le panneau Actions, entrez le code suivant dans l’image 1 du scénario pour désactiver les
lundis :
calendrierVols.disabledDays=[1];
6 Choisissez Contrôle > Tester l’animation.
Composant DateChooser (Flash Professionnel uniquement)
253
Personnalisation du composant DateChooser (Flash Professionnel
uniquement)
Vous pouvez transformer un composant DateChooser horizontalement et verticalement au cours
de la programmation et à l’exécution. Lors de la programmation, choisissez le composant sur la
scène et utilisez l’outil Transformer librement ou une commande de modification >
transformation. A l’exécution, utilisez la méthode setSize() (consultez UIObject.setSize()).
Utilisation de styles avec le composant DateChooser
Vous pouvez définir des propriétés de style pour modifier l’apparence d’une occurrence de
sélecteur de dates. Si le nom d’une propriété de style se termine par « Color », il s’agit d’une
propriété de style de couleur qui se comporte différemment des autres propriétés de style. Pour
plus d’informations, consultez Utilisation des styles pour personnaliser la couleur et le texte des
composants, page 29.
Un composant DateChooser prend en charge les styles de halo suivants :
Style
Description
themeColor
La couleur de l’éclat pour les dates survolées et sélectionnées. Il
s’agit du seul style de couleur qui n’hérite pas de sa valeur.
"haloGreen", "haloBlue" et "haloOrange" sont des valeurs
possibles.
color
Texte d’une étiquette de composant.
disabledColor
Couleur désactivée pour du texte.
fontFamily
Nom de police pour du texte.
fontSize
Taille en points pour la police.
fontStyle
Style de la police : "normal" ou "italic".
fontWeight
Epaisseur de la police : "normal" ou "bold".
textDecoration
Décoration du texte : "none" ou "underline".
Utilisation des enveloppes avec le composant DateChooser
Le composant DateChooser utilise des enveloppes pour représenter ses états visuels. Pour
appliquer une enveloppe au composant DateChooser au cours de la programmation, modifiez les
symboles d’enveloppe dans le dossier Flash UI Components 2/Themes/MMDefault/
DateChooser Assets/Elements/Month skins states, dans la bibliothèque de l’un des fichiers FLA
de thèmes. Pour plus d’informations, consultez A propos de l’application des enveloppes aux
composants, page 38.
254
Chapitre 4 : Dictionnaire des composants
Seuls les boutons de défilement des mois peuvent être enveloppés dynamiquement dans ce
composant. Un composant DateChooser utilise les propriétés d’enveloppe suivantes :
Propriété
Description
falseUpSkin
Etat Relevé. Les valeurs par défaut sont fwdMonthUp et backMonthUp.
falseDownSkin
L’état Enfoncé. Les valeurs par défaut sont fwdMonthDown et
backMonthDown.
falseDisabledSkin
Etat Désactivé. Les valeurs par défaut son fwdMonthDisabled et
backMonthDisabled.
Classe DateChooser (Flash Professionnel uniquement)
Héritage
UIObject > UIComponent > DateChooser
Nome de classe ActionScript
mx.controls.DateChooser
Les propriétés de la classe DateChooser vous permettent d’accéder à la date sélectionnée et au
mois et à l’année affichés. Vous pouvez également définir les noms des jours et des mois, indiquer
les dates désactivées et les dates sélectionnables, définir le premier jour de la semaine et indiquer si
la date courante doit être mise en surbrillance.
La définition d’une propriété de la classe DateChooser avec ActionScript annule le paramètre du
même nom défini dans le panneau de l’inspecteur des propriétés ou des composants.
Toutes les classes de composants ont une propriété version qui correspond à une propriété de
classe. Les propriétés de classe sont uniquement disponibles sur la classe elle-même. La propriété
version renvoie une chaîne qui indique la version du composant. Pour accéder à la propriété
version, utilisez le code suivant :
trace(mx.controls.DateChooser.version);
Remarque : Le code suivant renvoie la valeur undefined : trace(monDC.version);.
Méthodes de la classe DateChooser
Hérite de toutes les méthodes des classes UIObject et UIComponent.
Propriétés de la classe DateChooser
Propriété
Description
DateChooser.dayNames
Un tableau indiquant les noms des jours de la semaine.
DateChooser.disabledDays
Un tableau indiquant les jours de la semaine qui sont désactivés
pour toutes les dates applicables dans le sélecteur de dates.
DateChooser.disabledRanges
Une plage de dates désactivée ou une seule date désactivée.
DateChooser.displayedMonth
Un nombre indiquant un élément du tableau monthNames à afficher
dans le sélecteur de dates.
DateChooser.displayedYear
Un nombre indiquant l’année à afficher.
DateChooser.firstDayOfWeek
Un nombre indiquant un élément du tableau dayNames à afficher
dans la première colonne du sélecteur de dates.
Composant DateChooser (Flash Professionnel uniquement)
255
Propriété
Description
DateChooser.monthNames
Un tableau de chaînes indiquant les noms des mois.
DateChooser.selectableRange Une seule date sélectionnable ou une plage de dates
sélectionnables.
DateChooser.selectedDate
Un objet Date indiquant la date sélectionnée.
DateChooser.showToday
Une valeur booléenne indiquant si la date courante est mise en
surbrillance.
Hérite de toutes les propriétés des classes UIObject et UIComponent.
Evénements de la classe DateChooser
Evénement
Description
DateChooser.change
Diffusé lorsqu’une date est sélectionnée.
DateChooser.scroll
Diffusé lorsque l’utilisateur clique sur les boutons des mois.
Hérite de tous les événements des classes UIObject et UIComponent.
DateChooser.change
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Usage 1 :
on(change){
...
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.change = function(objetEvt){
...
}
occurrenceDateChooser.addEventListener("change", objetDécoute)
256
Chapitre 4 : Dictionnaire des composants
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsqu’une date est sélectionnée.
Le premier exemple d’utilisation fait appel à un gestionnaire on() et doit être directement associé
à une occurrence de composant DateChooser. Le mot-clé this, utilisé dans un gestionnaire on()
lié à un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant,
associé au sélecteur de dates monDC, envoie « _level0.monDC » au panneau de sortie :
on(change){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (occurrenceDateChooser) distribue un événement (ici, change) qui
est géré par une fonction, également appelée « gestionnaire », sur un objet d’écoute
(objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour finir, vous appelez la méthode
UIEventDispatcher.addEventListener() sur l’occurrence de composant qui diffuse
l’événement pour enregistrer l’écouteur dans l’occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
Cet exemple, écrit sur une image du scénario, envoie un message au panneau de sortie lorsqu’un
DateChooser nommé monDC est modifié. La première ligne de code crée un objet d’écoute intitulé
form. La deuxième ligne définit une fonction pour l’événement change sur l’objet d’écoute. La
fonction comporte une action trace() qui utilise l’objet événement automatiquement transmis à
cette fonction, ici objEvt, pour générer un message. La propriété target d’un objet événement
est le composant ayant généré l’événement (dans cet exemple, monDC). L’utilisateur accède à la
propriété NumericStepper.maximum à partir de la propriété target de l’objet événement. La
dernière ligne appelle la méthode UIEventDispatcher.addEventListener() depuis monDC et
lui transmet l’événement change et l’objet d’écoute form comme paramètres, comme dans
l’exemple suivant :
form.change = function(objEvt){
trace("date sélectionnée " + eventObj.target.selectedDate) ;
}
monDC.addEventListener("change", form);
Composant DateChooser (Flash Professionnel uniquement)
257
DateChooser.dayNames
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDC.dayNames
Description
Propriété : un tableau contenant les noms des jours de la semaine. Dimanche correspond au
premier jour (à l’emplacement d’index 0) et le reste des jours suit, dans l’ordre. La valeur par
défaut est ["S", "M", "T", "W", "T", "F", "S"].
Exemple
L’exemple suivant change la valeur du cinquième jour de la semaine (jeudi) en la faisant passer de
"T" à "R" :
monDC.dayNames[4] = "R";
DateChooser.disabledDays
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDC.disabledDays
Description
Propriété : un tableau indiquant les jours désactivés de la semaine. Toutes les dates du mois qui
correspondent au jour spécifié sont désactivées. Les éléments de ce tableau peuvent avoir des
valeurs comprises entre 0 (dimanche) et 6 (samedi). La valeur par défaut est [] (tableau vide).
Exemple
L’exemple suivant désactive les dimanches et les samedis de sorte que l’utilisateur puisse
uniquement sélectionner les jours ouvrés :
monDC.disabledDays = [0, 6];
258
Chapitre 4 : Dictionnaire des composants
DateChooser.disabledRanges
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDC.disabledRanges
Description
Propriété : désactive un seul jour ou une plage de jours. Cette propriété est un tableau d’objets.
Chaque objet du tableau doit être soit un objet Date spécifiant un seul jour à désactiver, soit un
objet contenant une des propriétés rangeStart ou rangeEnd, voire les deux, dont les valeurs
doivent être un objet Date. Les propriétés rangeStart et rangeEnd décrivent les limites de la
plage de dates. Si l’une ou l’autre des propriétés est omise, l’étendue est illimitée dans le sens
correspondant.
La valeur par défaut de disabledRanges est undefined.
Lorsque vous définissez des dates pour la propriété disabledRanges, spécifiez des dates
complètes. Par exemple, new Date(2003,6,24) plutôt que new Date(). Si vous ne spécifiez pas
une date complète, le temps renvoie 00:00:00.
Exemple
L’exemple suivant définit un tableau comprenant des objets Date rangeStart et rangeEnd qui
désactivent les dates comprises entre le 7 mai et le 7 juin :
monDC.disabledRanges = [ {rangeStart: new Date(2003, 4, 7), rangeEnd: new
Date(2003, 5, 7)}];
L’exemple suivant désactive toutes les dates situées après le 7 novembre :
monDC.disabledRanges = [ {rangeStart: new Date(2003, 10, 7)} ];
L’exemple suivant désactive toutes les dates situées avant le 7 octobre :
monDC.disabledRanges = [ {rangeEnd: new Date(2002, 9, 7)} ];
L’exemple suivant désactive uniquement le 7 décembre :
monDC.disabledRanges = [ new Date(2003, 11, 7) ];
DateChooser.displayedMonth
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDC.displayedMonth
Composant DateChooser (Flash Professionnel uniquement)
259
Description
Propriété : un nombre indiquant le mois à afficher. Le nombre indique un élément du tableau
monthNames, 0 correspondant au premier mois. La valeur par défaut est le mois de la date
courante.
Exemple
L’exemple suivant définit le mois affiché sur Décembre :
monDC.displayedMonth = 11;
Voir aussi
DateChooser.displayedYear
DateChooser.displayedYear
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDC.displayedYear
Description
Propriété : un nombre à quatre chiffres indiquant l’année affichée. La valeur par défaut est l’année
en cours.
Exemple
L’exemple suivant définit l’année affichée sur 2010 :
monDC.displayedYear = 2010;
Voir aussi
DateChooser.displayedMonth
DateChooser.firstDayOfWeek
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDC.firstDayOfWeek
260
Chapitre 4 : Dictionnaire des composants
Description
Propriété : un nombre indiquant le jour de la semaine (0-6, 0 correspondant au premier élément
du tableau dayNames) affiché dans la première colonne du composant DateChooser. La
modification de cette propriété modifie l’ordre des colonnes des jours mais n’a aucune incidence
sur l’ordre de la propriété dayNames. La valeur par défaut est 0 (dimanche).
Exemple
L’exemple suivant définit le premier jour de la semaine sur Lundi :
monDC.firstDayOfWeek = 1;
Voir aussi
DateChooser.dayNames
DateChooser.monthNames
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDC.monthNames
Description
Propriété : un tableau de chaînes indiquant les noms des mois dans la partie supérieure du
composant DateChooser. La valeur par défaut est ["January", "February", "March",
"April", "May", "June", "July", "August", "September", "October", "November",
"December"].
Exemple
L’exemple suivant définit les noms des mois pour l’occurrence monDC :
monDC.monthNames = ["Jan", "Feb","Mar","Apr", "May", "June","July", "Aug",
"Sept","Oct", "Nov", "Dec"];
DateChooser.scroll
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Usage 1 :
on(scroll){
...
}
Composant DateChooser (Flash Professionnel uniquement)
261
Usage 2 :
objetDécoute = new Object();
objetDécoute.scroll = function(objetEvt){
...
}
monDC.addEventListener("scroll", objetDécoute)
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsque l’utilisateur clique sur le bouton d’un
mois.
Le premier exemple d’utilisation fait appel à un gestionnaire on() et doit être directement associé
à une occurrence de composant DateChooser. Le mot-clé this, utilisé dans un gestionnaire on()
lié à un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant,
associé au stepper monDC, envoie « _level0.monDC » au panneau de sortie.
on(scroll){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (monDC) distribue un événement (ici, scroll) qui est géré par une
fonction, également appelée « gestionnaire », sur un objet d’écoute (objetDécoute) que vous
créez. Vous définissez une méthode portant le même nom que l’événement traité par l’objet
d’écoute ; la méthode est appelée lorsque l’événement est déclenché. Lorsque l’événement est
déclenché, il transmet automatiquement un objet événement (objetEvt) à la méthode d’objet
d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant des informations
relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui traitera
l’événement. L’objet événement de l’événement scroll comprend une propriété supplémentaire,
detail, qui peut prendre l’une des valeurs suivantes : nextMonth, previousMonth, nextYear,
previousYear.
Pour finir, vous appelez la méthode UIEventDispatcher.addEventListener() sur l’occurrence
de composant qui diffuse l’événement pour enregistrer l’écouteur dans l’occurrence. Lorsque
l’occurrence distribue l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
Cet exemple, écrit sur une image du scénario, envoie un message au panneau de sortie lorsque
l’utilisateur clique sur le bouton d’un mois sur une occurrence DateChooser appelée monDC. La
première ligne de code crée un objet d’écoute intitulé form. La deuxième ligne définit une
fonction pour l’événement scroll sur l’objet d’écoute. La fonction comporte une action trace
qui utilise l’objet événement automatiquement transmis à cette fonction, ici objEvt, pour générer
un message. La propriété target d’un objet événement est le composant ayant généré
l’événement, dans cet exemple, monDC. La dernière ligne appelle la méthode
UIEventDispatcher.addEventListener() à partir de monDC et lui transmet l’événement
scroll et l’objet d’écoute form comme paramètres, comme dans l’exemple suivant :
form = new Object();
form.scroll = function(objEvt){
trace(objEvt.detail);
}
monDC.addEventListener("scroll", form);
262
Chapitre 4 : Dictionnaire des composants
DateChooser.selectableRange
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDC.selectableRange
Description
Propriété : définit une seule date sélectionnable ou une plage de dates sélectionnables. L’utilisateur
ne peut pas faire défiler l’affichage au-delà de la plage sélectionnable. La valeur de cette propriété
est un objet qui comprend deux objets Date appelés rangeStart et rangeEnd. Les propriétés
rangeStart et rangeEnd désignent les limites de la plage de dates sélectionnable. Si seule la
propriété rangeStart est définie, toutes les dates situées après rangeStart sont activées. Si seule
la propriété rangeEnd est définie, toutes les dates situées avant rangeEnd sont activées. La valeur
par défaut est undefined.
Si vous ne souhaitez activer qu’un seul jour, vous pouvez utiliser un objet Date unique comme
valeur de selectableRange.
Lorsque vous définissez une date, spécifiez une date complète. Par exemple, new
Date(2003,6,24) plutôt que new Date(). Si vous ne spécifiez pas une date complète, le temps
renvoie 00:00:00.
La valeur de DateChooser.selectedDate est définie sur undefined si elle se situe en dehors de la
plage sélectionnable.
La valeur de DateChooser.displayedMonth et de DateChooser.displayedYear est définie sur
le dernier mois le plus proche dans la plage sélectionnable si le mois courant se situe en dehors de
cette dernière. Par exemple, si le mois courant affiché est le mois d’août et que la plage
sélectionnable est comprise entre juin 2003 et juillet 2003, le mois de juillet 2003 s’affiche.
Exemple
L’exemple suivant définit la plage sélectionnable entre le 7 mai (inclus) et le 7 juin (inclus) :
monDC.selectableRange = {rangeStart: new Date(2001, 4, 7), rangeEnd: new
Date(2003, 5, 7)};
L’exemple suivant définit la plage sélectionnable sur les dates à compter du 7 mai (inclus) :
monDC.selectableRange = {rangeStart: new Date(2003, 4, 7)};
L’exemple suivant définit la plage sélectionnable sur les dates qui précèdent le 7 juin (jusqu’au
7 juin inclus) :
monDC.selectableRange = {rangeEnd: new Date(2003, 5, 7) };
L’exemple suivant définit la date sélectionnable uniquement au 7 juin :
monDC.selectableRange = new Date(2003, 5, 7);
Composant DateChooser (Flash Professionnel uniquement)
263
DateChooser.selectedDate
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDC.selectedDate
Description
Propriété : un objet Date qui indique la date sélectionnée si la valeur est comprise dans les valeurs
de la propriété selectableRange. La valeur par défaut est undefined.
La propriété selectedDate ne peut pas être définie dans une disabledRange, en-dehors d’une
selectableRange ou sur un jour qui a été désactivé. Si la propriété selectedDate est définie sur
l’une des dates précédentes, la valeur sera undefined.
Exemple
L’exemple suivant définit la date sélectionnée sur le 7 juin :
monDC.selectedDate = new Date(2003, 5, 7);
DateChooser.showToday
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDC.showToday
Description
Propriété : cette propriété définit si la date courante est mise en surbrillance. La valeur par défaut
est true.
Exemple
L’exemple suivant désactive la mise en surbrillance de la date du jour :
monDC.showToday = false;
264
Chapitre 4 : Dictionnaire des composants
Composant DateField (Flash Professionnel uniquement)
Le composant DateField est un champ de texte non sélectionnable qui affiche la date
accompagnée, sur la droite, d’une icône de calendrier. Si aucune date n’a été sélectionnée, le
champ de texte est vide et la date du mois en cours s’affiche dans le sélecteur de dates. Lorsqu’un
utilisateur clique dans le cadre de délimitation du champ de date, un sélecteur de dates présentant
les dates du mois de la date sélectionnée apparaît. Lorsque le sélecteur de dates est ouvert, les
utilisateurs peuvent utiliser les boutons de défilement des mois pour faire défiler les mois et les
années, afin de sélectionner une date. Lorsqu’une date est sélectionnée, le sélecteur de dates se
ferme.
L’aperçu en direct de DateField ne reflète pas les valeurs indiquées par le panneau de l’inspecteur
des propriétés ou des composants au cours de la programmation, car il s’agit d’un composant
contextuel qui n’est pas visible lors de la programmation.
Utilisation du composant DateField (Flash Professionnel uniquement)
Le composant DateField peut être utilisé là où vous souhaitez qu’un utilisateur sélectionne une
date. Par exemple, vous pouvez utiliser un composant DateField dans un système de réservation
d’hôtel comprenant des dates sélectionnables et des dates désactivées. Vous pouvez également
utiliser le composant DateField dans une application qui affiche des événements courants, tels que
des spectacles ou des réunions, lorsque l’utilisateur sélectionne une date.
Paramètres DateField
Les paramètres suivants sont des paramètres de programmation que vous pouvez définir pour
chaque occurrence de composant DateField dans le panneau de l’inspecteur des propriétés ou des
composants :
monthNames définit les noms des mois affichés dans la ligne d’en-tête du calendrier. La valeur est
un tableau et la valeur par défaut est ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October","November", "December"].
dayNames définit les noms des jours de la semaine. La valeur est un tableau et la valeur par
défaut est ["S", "M", "T", "W", "T", "F", "S"].
firstDayOfWeek indique le jour de la semaine (0-6, 0 étant le premier élément du tableau
dayNames) affiché dans la première colonne de DateChooser. Cette propriété modifie l’ordre
d’affichage des colonnes des jours.
La valeur par défaut est 0, qui correspond à "S".
indique les jours désactivés de la semaine. Ce paramètre est un tableau qui peut
comprendre un maximum de 7 valeurs. La valeur par défaut est [] (tableau vide).
disabledDays
showToday
indique si la date du jour doit être mise en surbrillance ou non. La valeur par défaut
est true.
Vous pouvez rédiger du code ActionScript pour contrôler ces options et d’autres options du
composant DateField à l’aide des propriétés, méthodes et événements ActionScript. Pour plus
d’informations, consultez Classe DateField (Flash Professionnel uniquement), page 267.
Composant DateField (Flash Professionnel uniquement)
265
Création d’une application avec le composant DateField
La procédure suivante explique comment ajouter un composant DateField à une application lors
de la programmation. Dans cet exemple, le composant DateField autorise l’utilisateur à choisir
une date dans un système de réservation de vols. Toutes les dates qui précèdent la date du jour
doivent être désactivées. Une plage de 15 jours au mois de décembre doit également être
désactivée afin de créer une période correspondant à des vacances. Certains vols ne sont pas
disponibles les lundis, par conséquent, tous les lundis doivent être désactivés pour ces vols.
Pour créer une application avec le composant DateField, effectuez les opérations
suivantes :
1 Double-cliquez sur le composant DateField dans le panneau Composants pour l’ajouter sur la
scène.
2 Dans l’inspecteur des propriétés, entrez le nom d’occurrence calendrierVols.
3 Dans le panneau Actions, entrez le code suivant dans l’image 1 du scénario pour définir la plage
des dates sélectionnables :
calendrierVols.selectableRange = {rangeStart:new Date(2001, 9, 1),
rangeEnd:new Date(2003, 11, 1)};
Ce code affecte une valeur à la propriété selectableRange dans un objet ActionScript qui
contient deux objets Date avec les noms de variables rangeStart et rangeEnd. Il définit les
extrémités inférieure et supérieure de la plage dans laquelle l’utilisateur peut choisir une date.
4 Dans le panneau Actions, entrez le code suivant sur l’image 1 du scénario pour définir les plages
de dates désactivées, une en décembre et une pour toutes les dates précédant la date actuelle.
calendrierVols.disabledRanges = [{rangeStart: new Date(2003, 11, 15),
rangeEnd: new Date(2003, 11, 31)}, {rangeEnd: new Date(2003, 6, 16)}];
5 Dans le panneau Actions, entrez le code suivant dans l’image 1 du scénario pour désactiver les
lundis :
calendrierVols.disabledDays=[1];
6 Choisissez Contrôle > Tester l’animation.
Personnalisation du composant DateField (Flash Professionnel uniquement)
Vous pouvez transformer un composant DateField horizontalement au cours de la
programmation et à l’exécution. Lors de la programmation, choisissez le composant sur la scène et
utilisez l’outil Transformer librement ou une commande de modification > transformation. A
l’exécution, utilisez la méthode setSize() (consultez UIObject.setSize()). La définition de la
largeur ne modifie pas les dimensions de DateChooser dans le composant DateField. Vous pouvez
néanmoins utiliser la propriété pullDown pour accéder au composant DateChooser et définir ses
dimensions.
Utilisation des styles avec le composant DateField
Vous pouvez définir les propriétés des styles pour modifier l’apparence d’une occurrence de
champ de date. Si le nom d’une propriété de style se termine par « Color », il s’agit d’une
propriété de style de couleur qui se comporte différemment des autres propriétés de style. Pour
plus d’informations, consultez Utilisation des styles pour personnaliser la couleur et le texte des
composants, page 29.
266
Chapitre 4 : Dictionnaire des composants
Un composant DateField supporte les styles de halo suivants :
Style
Description
themeColor
La couleur de l’éclat pour les dates survolées et sélectionnées. Il
s’agit du seul style de couleur qui n’hérite pas de sa valeur.
"haloGreen", "haloBlue" et "haloOrange" sont des valeurs possibles.
color
Texte d’une étiquette de composant.
disabledColor
Couleur désactivée pour du texte.
fontFamily
Nom de police pour du texte.
fontSize
Taille en points pour la police.
fontStyle
Style de la police : "normal" ou "italic".
fontWeight
Epaisseur de la police : "normal" ou "bold".
textDecoration
Décoration du texte : "none" ou "underline".
Utilisation des enveloppes avec le composant DateField
Le composant DateField utilise des enveloppes pour représenter les états visuels de l’icône
contextuelle. Pour appliquer une enveloppe à l’icône contextuelle au cours de la programmation,
modifiez les symboles d’enveloppe dans le dossier Flash UI Components 2/Themes/MMDefault/
DateField Elements skins states de la bibliothèque de l’un des fichiers FLA de thèmes. Pour plus
d’informations, consultez A propos de l’application des enveloppes aux composants, page 38.
Dans ce composant, vous pouvez uniquement envelopper le bouton de l’icône contextuelle. Un
composant DateField utilise les propriétés d’enveloppe suivantes pour envelopper
dynamiquement l’icône contextuelle :
Propriété
Description
openDateUp
Etat Relevé de l’icône contextuelle.
openDateDown
Etat Enfoncé de l’icône contextuelle.
openDateOver
Etat Survolé de l’icône contextuelle.
openDateDisabled
Etat Désactivé de l’icône contextuelle.
Classe DateField (Flash Professionnel uniquement)
Héritage
UIObject > UIComponent > ComboBase > DateField
Nom de classe ActionScript
mx.controls.DateField
Les propriétés de la classe DateField vous permettent d’accéder à la date sélectionnée et au mois et
à l’année affichés. Vous pouvez également définir les noms des jours et des mois, indiquer les dates
désactivées et les dates sélectionnables, définir le premier jour de la semaine et indiquer si la date
courante doit être mise en surbrillance.
La définition d’une propriété de la classe DateField avec ActionScript annule le paramètre du
même nom défini dans le panneau de l’inspecteur des propriétés ou des composants.
Composant DateField (Flash Professionnel uniquement)
267
Toutes les classes de composants ont une propriété version qui correspond à une propriété de
classe. Les propriétés de classe sont uniquement disponibles sur la classe elle-même. La propriété
version renvoie une chaîne qui indique la version du composant. Pour accéder à la propriété
version, utilisez le code suivant :
trace(mx.controls.DateField.version);
Remarque : Le code suivant renvoie la valeur undefined :
trace(monOccurrenceDeChampDeDate.version);.
Méthodes de la classe DateField
Méthode
Description
DateField.close()
Ferme le sous-composant DateChooser contextuel.
DateField.open()
Ouvre le sous-composant DateChooser contextuel.
Hérite de toutes les méthodes des classes UIObject et UIComponent.
Propriétés de la classe DateField
Propriété
Description
DateField.dateFormatter
Fonction qui formate la date à afficher dans le champ de texte.
DateField.dayNames
Un tableau indiquant les noms des jours de la semaine.
DateField.disabledDays
Un tableau indiquant les jours de la semaine qui sont désactivés pour
toutes les dates applicables dans le sélecteur de dates.
DateField.disabledRanges
Une plage de dates désactivée ou une seule date désactivée.
DateField.displayedMonth
Un nombre indiquant un élément du tableau monthNames à afficher
dans le sélecteur de dates.
DateField.displayedYear
Un nombre indiquant l’année à afficher.
DateField.firstDayOfWeek
Un nombre indiquant un élément du tableau dayNames à afficher
dans la première colonne du sélecteur de dates.
DateField.monthNames
Un tableau de chaînes indiquant les noms des mois.
DateField.pullDown
Référence au sous-composant DateChooser. Cette propriété est en
lecture seule.
DateField.selectableRange
Une seule date sélectionnable ou une plage de dates
sélectionnables.
DateField.selectedDate
Un objet Date indiquant la date sélectionnée.
DateField.showToday
Une valeur booléenne indiquant si la date courante est mise en
surbrillance.
Hérite de toutes les propriétés des classes UIObject et UIComponent.
268
Chapitre 4 : Dictionnaire des composants
Evénements de la classe DateField
Evénement
Description
DateField.change
Diffusé lorsqu’une date est sélectionnée.
DateField.close
Diffusé lors de la fermeture du sous-composant DateChooser.
DateField.open
Diffusé lors de l’ouverture du sous-composant DateChooser.
DateField.scroll
Diffusé lorsque l’utilisateur clique sur les boutons des mois.
Hérite de tous les événements des classes UIObject et UIComponent.
DateField.change
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Usage 1 :
on(change){
...
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.change = function(objetEvt){
...
}
monDF.addEventListener("change", objetDécoute)
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsqu’une date est sélectionnée.
Le premier exemple d’utilisation fait appel à un gestionnaire on() et doit être directement associé
à une occurrence de composant DateField. Le mot-clé this, utilisé dans un gestionnaire on() lié
à un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant,
associé au champ de date monDF, envoie « _level0.monDF » au panneau de sortie :
on(change){
trace(this);
}
Composant DateField (Flash Professionnel uniquement)
269
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (monDF) distribue un événement (ici, change) qui est géré par une
fonction, également appelée « gestionnaire », sur un objet d’écoute (objetDécoute) que vous
créez. Vous définissez une méthode portant le même nom que l’événement traité par l’objet
d’écoute ; la méthode est appelée lorsque l’événement est déclenché. Lorsque l’événement est
déclenché, il transmet automatiquement un objet événement (objetEvt) à la méthode d’objet
d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant des informations
relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui traitera
l’événement. Pour finir, vous appelez la méthode UIEventDispatcher.addEventListener() sur
l’occurrence de composant qui diffuse l’événement pour enregistrer l’écouteur dans l’occurrence.
Lorsque l’occurrence distribue l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
Cet exemple, écrit sur une image du scénario, envoie un message au panneau de sortie lorsqu’un
champ de date nommé monDF est modifié. La première ligne de code crée un objet d’écoute
intitulé form. La deuxième ligne définit une fonction pour l’événement change sur l’objet
d’écoute. La fonction comporte une action trace qui utilise l’objet événement automatiquement
transmis à cette fonction, ici objEvt, pour générer un message. La propriété target d’un objet
événement est le composant ayant généré l’événement, dans cet exemple, monDF. L’utilisateur
accède à la propriété DateField.selectedDate à partir de la propriété target de l’objet
événement. La dernière ligne appelle la méthode UIEventDispatcher.addEventListener()
depuis monDF et lui transmet l’événement change et l’objet d’écoute form comme paramètres,
comme dans l’exemple suivant :
form.change = function(objEvt){
trace("date sélectionnée " + eventObj.target.selectedDate) ;
}
monDF.addEventListener("change", form);
DateField.close()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDF.close()
Paramètres
Aucun.
Renvoie
Rien.
Description
Méthode : ferme le menu contextuel.
270
Chapitre 4 : Dictionnaire des composants
Exemple
Le code suivant ferme le composant DateChooser contextuel de l’occurrence de champ de date
monDF :
monDF.close();
DateField.close
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Usage 1 :
on(close){
...
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.close = function(objetEvt){
...
}
monDF.addEventListener("close", objetDécoute)
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsque le sous-composant DateChooser est
fermé après qu’un utilisateur a cliqué en dehors de l’icône ou a choisi une date.
Le premier exemple d’utilisation fait appel à un gestionnaire on() et doit être directement associé
à une occurrence de composant DateField. Le mot-clé this, utilisé dans un gestionnaire on() lié
à un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant,
associé au champ de date monDF, envoie « _level0.monDF » au panneau de sortie :
on(close){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (monDF) distribue un événement (ici, close) qui est géré par une
fonction, également appelée un gestionnaire, associée à un objet d’écoute (objetDécoute) que
vous créez. Vous définissez une méthode portant le même nom que l’événement traité par l’objet
d’écoute ; la méthode est appelée lorsque l’événement est déclenché. Lorsque l’événement est
déclenché, il transmet automatiquement un objet événement (objetEvt) à la méthode d’objet
d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant des informations
relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui traitera
l’événement. Pour finir, vous appelez la méthode UIEventDispatcher.addEventListener() sur
l’occurrence de composant qui diffuse l’événement pour enregistrer l’écouteur dans l’occurrence.
Lorsque l’occurrence distribue l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Composant DateField (Flash Professionnel uniquement)
271
Exemple
Cet exemple, écrit sur une image du scénario, envoie un message au panneau de sortie lors de la
fermeture du composant DateChooser dans monDF. La première ligne de code crée un objet
d’écoute intitulé form. La deuxième ligne définit une fonction pour l’événement close sur l’objet
d’écoute. La fonction comporte une action trace qui utilise l’objet événement automatiquement
transmis à cette fonction, ici objEvt, pour générer un message. La propriété target d’un objet
événement est le composant ayant généré l’événement, dans cet exemple, monDF. L’utilisateur
accède à la propriété à partir de la propriété target de l’objet événement. La dernière ligne
appelle la méthode UIEventDispatcher.addEventListener() depuis monDF et lui transmet
l’événement close et l’objet d’écoute form comme paramètres, comme dans l’exemple suivant :
form.close = function(eventObj){
trace("Menu déroulant fermé" + eventObj.target.selectedDate);
}
monDF.addEventListener("close", form);
DateField.dateFormatter
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDF.dateFormatter
Description
Propriété : fonction qui formate la date à afficher dans le champ de texte. La fonction doit
recevoir un objet Date comme paramètre et renvoyer une chaîne au format à afficher.
Exemple
L’exemple suivant définit la fonction pour renvoyer le format de la date à afficher :
monDF.dateFormatter = function(d:Date){
return d.getFullYear()+"/ "+(d.getMonth()+1)+"/ "+d.getDate();
};
DateField.dayNames
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDF.dayNames
272
Chapitre 4 : Dictionnaire des composants
Description
Propriété : un tableau contenant les noms des jours de la semaine. Dimanche est le premier jour (à
l’emplacement d’index 0) et les autres noms de jours suivent dans l’ordre. La valeur par défaut est
["S", "M", "T", "W", "T", "F", "S"].
Exemple
L’exemple suivant change la valeur du cinquième jour de la semaine (jeudi) en la faisant passer de
"T" à "R" :
monDF.dayNames[4] = "R";
DateField.disabledDays
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDF.disabledDays
Description
Propriété : un tableau indiquant les jours désactivés de la semaine. Toutes les dates du mois qui
correspondent au jour spécifié sont désactivées. Les éléments de ce tableau peuvent avoir des
valeurs comprises entre 0 (dimanche) et 6 (samedi). La valeur par défaut est [] (tableau vide).
Exemple
L’exemple suivant désactive les dimanches et samedis pour que les utilisateurs puissent
uniquement choisir des jours de semaine :
monDF.disabledDays = [0, 6];
DateField.disabledRanges
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDF.disabledRanges
Composant DateField (Flash Professionnel uniquement)
273
Description
Propriété : désactive un seul jour ou une plage de jours. Cette propriété est un tableau d’objets.
Chaque objet du tableau doit être soit un objet Date spécifiant un seul jour à désactiver, soit un
objet contenant une des propriétés rangeStart ou rangeEnd, voire les deux, dont les valeurs
doivent être un objet Date. Les propriétés rangeStart et rangeEnd décrivent les limites de la
plage de dates. Si l’une ou l’autre des propriétés est omise, l’étendue est illimitée dans le sens
correspondant.
La valeur par défaut de disabledRanges est undefined.
Lorsque vous définissez des dates pour la propriété disabledRanges, spécifiez des dates
complètes. Par exemple, new Date(2003,6,24) plutôt que new Date(). Si vous ne spécifiez pas
une date complète, le temps renvoie 00:00:00.
Exemple
L’exemple suivant définit un tableau comprenant des objets Date rangeStart et rangeEnd qui
désactivent les dates comprises entre le 7 mai et le 7 juin :
monDF.disabledRanges = [ {rangeStart: new Date(2003, 4, 7), rangeEnd: new
Date(2003, 5, 7)}];
L’exemple suivant désactive toutes les dates situées après le 7 novembre :
monDF.disabledRanges = [ {rangeStart: new Date(2003, 10, 7)} ];
L’exemple suivant désactive toutes les dates situées avant le 7 octobre :
monDF.disabledRanges = [ {rangeEnd: new Date(2002, 9, 7)} ];
L’exemple suivant désactive uniquement le 7 décembre :
monDF.disabledRanges = [ new Date(2003, 11, 7) ];
DateField.displayedMonth
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDF.displayedMonth
Description
Propriété : un nombre indiquant le mois à afficher. Le nombre indique un élément du tableau
monthNames, 0 correspondant au premier mois. La valeur par défaut est le mois de la date
courante.
Exemple
L’exemple suivant définit le mois affiché sur Décembre :
monDF.displayedMonth = 11;
274
Chapitre 4 : Dictionnaire des composants
Voir aussi
DateField.displayedYear
DateField.displayedYear
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDF.displayedYear
Description
Propriété : nombre indiquant l’année qui est affichée. La valeur par défaut est l’année en cours.
Exemple
L’exemple suivant définit l’année affichée sur 2010 :
monDF.displayedYear = 2010;
Voir aussi
DateField.displayedMonth
DateField.firstDayOfWeek
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDF.firstDayOfWeek
Description
Propriété : nombre indiquant le jour de la semaine (0-6, 0 étant le premier élément du tableau
dayNames) qui est affiché dans la première colonne du composant DateField. La modification de
cette propriété modifie l’ordre des colonnes des jours mais n’a aucune incidence sur l’ordre de la
propriété dayNames. La valeur par défaut est 0 (dimanche).
Exemple
L’exemple suivant définit le premier jour de la semaine sur Lundi :
monDF.firstDayOfWeek = 1;
Voir aussi
DateField.dayNames
Composant DateField (Flash Professionnel uniquement)
275
DateField.monthNames
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDF.monthNames
Description
Propriété : tableau de chaînes indiquant les noms des mois en haut du composant DateField. La
valeur par défaut est ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"].
Exemple
L’exemple suivant définit les noms de mois pour l’occurrence monDF :
monDF.monthNames = ["Jan", "Fév","Mars","Avr", "Mai", "Juin","Juil", "Août",
"Sept","Oct", "Nov", "Déc"];
DateField.open()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDF.open()
Paramètres
Aucun.
Renvoie
Rien.
Description
Méthode : ouvre le sous-composant DateChooser contextuel.
Exemple
Le code suivant ouvre le sous-composant DateChooser contextuel de l’occurrence df :
df.open();
276
Chapitre 4 : Dictionnaire des composants
DateField.open
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Usage 1 :
on(open){
...
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.open = function(ObjetEvt){
...
}
monDF.addEventListener("open", objetDécoute)
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsqu’un sous-composant DateChooser est
ouvert après qu’un utilisateur a cliqué sur l’icône.
Le premier exemple d’utilisation fait appel à un gestionnaire on() et doit être directement associé
à une occurrence de composant DateField. Le mot-clé this, utilisé dans un gestionnaire on() lié
à un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant,
associé au champ de date monDF, envoie « _level0.monDF » au panneau de sortie :
on(open){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (monDF) distribue un événement (ici, open) qui est géré par une
fonction, également appelée un gestionnaire, associée à un objet d’écoute (objetDécoute) que
vous créez. Vous définissez une méthode portant le même nom que l’événement traité par l’objet
d’écoute ; la méthode est appelée lorsque l’événement est déclenché. Lorsque l’événement est
déclenché, il transmet automatiquement un objet événement (objetEvt) à la méthode d’objet
d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant des informations
relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui traitera
l’événement. Pour finir, vous appelez la méthode UIEventDispatcher.addEventListener() sur
l’occurrence de composant qui diffuse l’événement pour enregistrer l’écouteur dans l’occurrence.
Lorsque l’occurrence distribue l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Composant DateField (Flash Professionnel uniquement)
277
Exemple
Cet exemple, écrit sur une image du scénario, envoie un message au panneau de sortie lorsqu’un
stepper nommé monDF est ouvert. La première ligne de code crée un objet d’écoute intitulé form.
La deuxième ligne définit une fonction pour l’événement open sur l’objet d’écoute. La fonction
comporte une action trace qui utilise l’objet événement automatiquement transmis à cette
fonction, ici objEvt, pour générer un message. La propriété target d’un objet événement est le
composant ayant généré l’événement, dans cet exemple, monDF. L’utilisateur accède à la propriété
DateField.selectedDate à partir de la propriété target de l’objet événement. La dernière ligne
appelle la méthode UIEventDispatcher.addEventListener() depuis monDF et lui transmet
l’événement open et l’objet d’écoute form comme paramètres, comme dans l’exemple suivant :
form.open = function(objEvt){
trace("Le menu est ouvert et la date sélectionnée est " +
ojvEvnt.target.selectedDate) ;
}
monDF.addEventListener("open", form);
DateField.pullDown
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDF.pullDown
Description
Propriété (lecture seule) : référence au composant DateChooser contenu dans le composant
DateField. Le sous-composant DateChooser est instancié lorsqu’un utilisateur clique sur le
composant DateField. Néanmoins, si la propriété pullDown est référencée avant que l’utilisateur
ne clique sur le composant, le sous-composant DateChooser est instancié puis masqué.
Exemple
L’exemple suivant définit la visibilité du sous-composant DateChooser sur false puis définit les
dimensions du sous-composant DateChooser à 300 pixels de hauteur et 300 pixels de largeur :
monDF.pullDown._visible = false;
monDF.pullDown.setSize(300,300);
278
Chapitre 4 : Dictionnaire des composants
DateField.scroll
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Usage 1 :
on(scroll){
...
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.scroll = function(objetEvt){
...
}
monDF.addEventListener("scroll", objetDécoute)
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsque l’utilisateur clique sur le bouton d’un
mois.
Le premier exemple d’utilisation fait appel à un gestionnaire on() et doit être directement associé
à une occurrence de composant DateField. Le mot-clé this, utilisé dans un gestionnaire on() lié
à un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant,
associé au champ de date monDF, envoie « _level0.monDF » au panneau de sortie :
on(scroll){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (monDF) distribue un événement (ici, scroll) qui est géré par une
fonction, également appelée un gestionnaire, associée à un objet d’écoute (objetDécoute) que
vous créez. Vous définissez une méthode portant le même nom que l’événement traité par l’objet
d’écoute ; la méthode est appelée lorsque l’événement est déclenché. Lorsque l’événement est
déclenché, il transmet automatiquement un objet événement (objetEvt) à la méthode d’objet
d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant des informations
relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui traitera
l’événement. L’objet événement de l’événement scroll comprend une propriété supplémentaire,
detail, qui peut prendre l’une des valeurs suivantes : nextMonth, previousMonth, nextYear,
previousYear.
Pour finir, vous appelez la méthode UIEventDispatcher.addEventListener() sur l’occurrence
de composant qui diffuse l’événement pour enregistrer l’écouteur dans l’occurrence. Lorsque
l’occurrence distribue l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Composant DateField (Flash Professionnel uniquement)
279
Exemple
Cet exemple, écrit sur une image du scénario, envoie un message au panneau de sortie lorsque
l’utilisateur clique sur le bouton d’un mois dans une occurrence DateField nommée monDF. La
première ligne de code crée un objet d’écoute intitulé form. La deuxième ligne définit une
fonction pour l’événement scroll sur l’objet d’écoute. La fonction comporte une action trace
qui utilise l’objet événement automatiquement transmis à cette fonction, ici objEvt, pour générer
un message. La propriété target d’un objet événement est le composant ayant généré
l’événement, dans cet exemple, monDF. La dernière ligne appelle la méthode
UIEventDispatcher.addEventListener() depuis monDF et lui transmet l’événement scroll et
l’objet d’écoute form comme paramètres, comme dans l’exemple suivant :
form = new Object();
form.scroll = function(objEvt){
trace(objEvt.detail);
}
monDF.addEventListener("scroll", form);
DateField.selectableRange
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDF.selectableRange
Description
Propriété : définit une seule date sélectionnable ou une plage de dates sélectionnables. La valeur
de cette propriété est un objet qui comprend deux objets Date appelés rangeStart et rangeEnd.
Les propriétés rangeStart et rangeEnd désignent les limites de la plage de dates sélectionnable.
Si seule la propriété rangeStart est définie, toutes les dates situées après rangeStart sont
activées. Si seule la propriété rangeEnd est définie, toutes les dates situées avant rangeEnd sont
activées. La valeur par défaut est undefined.
Si vous ne souhaitez activer qu’un seul jour, vous pouvez utiliser un objet Date unique comme
valeur de selectableRange.
Lorsque vous définissez une date, spécifiez une date complète. Par exemple, new
Date(2003,6,24) plutôt que new Date(). Si vous ne spécifiez pas une date complète, le temps
renvoie 00:00:00.
La valeur de DateField.selectedDate est définie sur undefined si elle se situe en dehors de la
plage sélectionnable.
La valeur de DateField.displayedMonth et de DateField.displayedYear est définie sur le
dernier mois le plus proche dans la plage sélectionnable si le mois courant se situe en dehors de
cette dernière. Par exemple, si le mois courant affiché est le mois d’août et que la plage
sélectionnable est comprise entre juin 2003 et juillet 2003, le mois de juillet 2003 s’affiche.
280
Chapitre 4 : Dictionnaire des composants
Exemple
L’exemple suivant définit la plage sélectionnable entre le 7 mai (inclus) et le 7 juin (inclus) :
monDF.selectableRange = {rangeStart: new Date(2001, 4, 7), rangeEnd: new
Date(2003, 5, 7)};
L’exemple suivant définit la plage sélectionnable sur les dates à compter du 7 mai (inclus) :
monDF.selectableRange = {rangeStart: new Date(2003, 4, 7)};
L’exemple suivant définit la plage sélectionnable sur les dates qui précèdent le 7 juin (jusqu’au 7
juin inclus) :
monDF.selectableRange = {rangeEnd: new Date(2003, 5, 7) };
L’exemple suivant définit la date sélectionnable uniquement au 7 juin :
monDF.selectableRange = new Date(2003, 5, 7);
DateField.selectedDate
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDF.selectedDate
Description
Propriété : un objet Date qui indique la date sélectionnée si la valeur est comprise dans les valeurs
de la propriété selectableRange. La valeur par défaut est undefined.
Exemple
L’exemple suivant définit la date sélectionnée sur le 7 juin :
monDF.selectedDate = new Date(2003, 5, 7);
DateField.showToday
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monDF.showToday
Description
Propriété : cette propriété définit si la date courante est mise en surbrillance. La valeur par défaut
est true.
Composant DateField (Flash Professionnel uniquement)
281
Exemple
L’exemple suivant désactive la mise en surbrillance de la date du jour :
monDF.showToday = false;
Classe DepthManager
Nom de classe ActionScript
mx.managers.DepthManager
La classe DepthManager, qui complète la classe ActionScript MovieClip, vous permet de gérer les
affectations de profondeur relatives de tous les composants ou clips, y compris _root. Elle vous
autorise également à gérer les profondeurs réservées dans un clip spécial et ceci à la profondeur la
plus élevée sur _root pour les services de niveau système, tels que le curseur ou les info-bulles.
L’API de tri de profondeur relative se compose des méthodes suivantes :
•
•
•
•
•
DepthManager.createChildAtDepth()
DepthManager.createClassChildAtDepth()
DepthManager.setDepthAbove()
DepthManager.setDepthBelow()
DepthManager.setDepthTo()
Les méthodes suivantes composent les API d’espace de profondeur réservée :
•
•
DepthManager.createClassObjectAtDepth()
DepthManager.createObjectAtDepth()
Méthodes de la classe DepthManager
Méthode
Description
DepthManager.createChildAtDepth()
Crée un enfant du symbole indiqué à la profondeur
spécifiée.
DepthManager.createClassChildAtDepth()
Crée un objet de la classe indiquée à la profondeur
spécifiée.
DepthManager.createClassObjectAtDepth() Crée une occurrence de la classe indiquée à la
profondeur spécifiée dans le clip spécial de profondeur
la plus élevée.
282
DepthManager.createObjectAtDepth()
Crée un objet à une profondeur spécifiée dans le clip
spécial de profondeur la plus élevée.
DepthManager.setDepthAbove()
Définit la profondeur au-dessus de l’occurrence
spécifiée.
DepthManager.setDepthBelow()
Définit la profondeur sous l’occurrence spécifiée.
DepthManager.setDepthTo()
Définit la profondeur de l’occurrence spécifiée dans le
clip de profondeur la plus élevée.
Chapitre 4 : Dictionnaire des composants
DepthManager.createChildAtDepth()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceClip.createChildAtDepth(nomLiaison, indicateurProfondeur[, objInit])
Paramètres
nomLiaison
Identificateur de liaison. Ce paramètre est une chaîne.
indicateurProfondeur L’une des valeurs suivantes : DepthManager.kTop,
DepthManager.kBottom, DepthManager.kTopmost, DepthManager.kNotopmost.
Tous les
indicateurs de profondeur sont des propriétés statiques de la classe DepthManager. Vous devez
faire référence au paquet DepthManager (mx.managers.DepthManager.kTopmost, par exemple)
ou utiliser l’instruction import pour importer le paquet DepthManager.
objInit
Objet d’initialisation. Ce paramètre est facultatif.
Renvoie
Référence à l’objet créé.
Description
Méthode : crée une occurrence enfant du symbole spécifié par le paramètre nomLiaison à la
profondeur spécifiée par le paramètre indicateurProfondeur.
Exemple
L’exemple suivant crée une occurrence grandeAiguille du clip SymboleMinute et la place sur
l’horloge :
import mx.managers.DepthManager;
grandeAiguille = clock.createChildAtDepth("SymboleMinute", DepthManager.kTop);
DepthManager.createClassChildAtDepth()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004 et Flash MX Professionnel 2004.
Usage
occurrenceClip.createClassChildAtDepth( nomClasse, indicateurProfondeur,
objInit )
Paramètres
nomClasse
Nom de classe.
Classe DepthManager
283
indicateurProfondeur L’une des valeurs suivantes : DepthManager.kTop,
DepthManager.kBottom, DepthManager.kTopmost, DepthManager.kNotopmost.
Tous les
indicateurs de profondeur sont des propriétés statiques de la classe DepthManager. Vous devez
faire référence au paquet DepthManager (mx.managers.DepthManager.kTopmost, par exemple)
ou utiliser l’instruction import pour importer le paquet DepthManager.
objInit
Objet d’initialisation. Ce paramètre est facultatif.
Renvoie
Référence à l’enfant créé.
Description
Méthode : crée un enfant de la classe spécifiée par le paramètre nomClasse à la profondeur
spécifiée par le paramètre indicateurProfondeur.
Exemple
Le code suivant dessine un rectangle de focus par-dessus tous les objets NoTopmost :
import mx.managers.DepthManager
this.ring = createClassChildAtDepth(mx.skins.RectBorder, DepthManager.kTop);
Le code suivant crée une occurrence de la classe Button et lui transmet une valeur pour sa
propriété label en tant que paramètre objInit :
import mx.managers.DepthManager
button1 = createClassChildAtDepth(mx.controls.Button, DepthManager.kTop,
{label: "Bouton supérieur"});
DepthManager.createClassObjectAtDepth()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004 et Flash MX Professionnel 2004.
Usage
DepthManager.createClassObjectAtDepth(nomClasse, espaceProfondeur[, objInit])
Paramètres
nomClasse
Nom de classe.
espaceProfondeur L’une des valeurs suivantes : DepthManager.kCursor,
DepthManager.kTooltip. Tous les indicateurs de profondeur sont des propriétés
statiques de la
classe DepthManager. Vous devez faire référence au paquet DepthManager
(mx.managers.DepthManager.kCursor, par exemple) ou utiliser l’instruction import pour
importer le paquet DepthManager.
objInit
Objet d’initialisation. Ce paramètre est facultatif.
Renvoie
Référence à l’objet créé.
284
Chapitre 4 : Dictionnaire des composants
Description
Méthode : crée un objet de la classe spécifiée par le paramètre nomClasse à la profondeur spécifiée
par le paramètre espaceProfondeur. Cette méthode est utilisée pour accéder aux espaces de
profondeur réservés dans le clip spécial de profondeur la plus élevée.
Exemple
L’exemple suivant crée un objet à partir de la classe Button :
import mx.managers.DepthManager
monBoutonCurseur = createClassObjectAtDepth(mx.controls.Button,
DepthManager.kCursor, {label: "Curseur"});
DepthManager.createObjectAtDepth()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004 et Flash MX Professionnel 2004.
Usage
DepthManager.createObjectAtDepth(nomLiaison, espaceProfondeur[, objInit])
Paramètres
nomLiaison
Identificateur de liaison.
espaceProfondeur L’une des valeurs suivantes : DepthManager.kCursor,
DepthManager.kTooltip. Tous les indicateurs de profondeur sont des propriétés
statiques de la
classe DepthManager. Vous devez faire référence au paquet DepthManager
(mx.managers.DepthManager.kCursor, par exemple) ou utiliser l’instruction import pour
importer le paquet DepthManager.
objInit
Objet d’initialisation.
Renvoie
Référence à l’objet créé.
Description
Méthode : crée un objet à la profondeur spécifiée. Cette méthode est utilisée pour accéder aux
espaces de profondeur réservés dans le clip spécial de profondeur la plus élevée.
Exemple
L’exemple suivant crée une occurrence du symbole SymboleInfoBulle et la place à la profondeur
réservée aux info-bulles :
import mx.managers.DepthManager
monInfobulleCurseur = createObjectAtDepth("SymboleInfoBulle",
DepthManager.kTooltip);
Classe DepthManager
285
DepthManager.setDepthAbove()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004 et Flash MX Professionnel 2004.
Usage
occurrenceDeClip.setDepthAbove(occurrence)
Paramètres
occurrence
Nom d’occurrence.
Renvoie
Rien.
Description
Méthode : définit la profondeur d’une occurrence de clip ou de composant au-dessus de la
profondeur de l’occurrence spécifiée par le paramètre occurrence.
DepthManager.setDepthBelow()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004 et Flash MX Professionnel 2004.
Usage
occurrenceDeClip.setDepthBelow(occurrence)
Paramètres
occurrence
Nom d’occurrence.
Renvoie
Rien.
Description
Méthode : définit la profondeur d’une occurrence de clip ou de composant en dessous de la
profondeur de l’occurrence spécifiée par le paramètre occurrence.
Exemple
Le code suivant définit la profondeur de l’occurrence textInput au-dessous de la profondeur de
button :
textInput.setDepthBelow(button);
286
Chapitre 4 : Dictionnaire des composants
DepthManager.setDepthTo()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004 et Flash MX Professionnel 2004.
Usage
occurrenceDeClip.setDepthTo(profondeur)
Paramètres
profondeur
Niveau de profondeur.
Renvoie
Rien.
Description
Méthode : définit la profondeur de occurrenceDeClip sur la valeur spécifiée par profondeur.
Cette méthode place une occurrence à une autre profondeur afin de faire de la place pour un autre
objet.
Exemple
L’exemple suivant fixe la profondeur de l’occurrence mc1 à 10 :
mc1.setDepthTo(10);
Pour plus d’informations sur la profondeur et l’ordre d’empilement, consultez « Définition de la
prochaine profondeur maximale disponible », dans le Guide de référence ActionScript de l’aide.
Classe FocusManager
Vous pouvez utiliser FocusManager pour spécifier l’ordre dans lequel les composants reçoivent le
focus lorsqu’un utilisateur appuie sur la touche de tabulation pour parcourir une application.
Vous pouvez utiliser l’API de FocusManager pour définir un bouton dans votre document qui
recevra les entrées de clavier lorsque l’utilisateur appuiera sur Entrée (Windows) ou Retour
(Macintosh). Par exemple, lorsqu’un utilisateur remplit un formulaire, il doit pouvoir appuyer sur
la touche de tabulation pour passer d’un champ à l’autre et appuyer sur Entrée (Windows) ou
Retour (Macintosh) pour envoyer le formulaire.
Tous les composants supportent FocusManager ; vous n’avez pas besoin de rédiger du code pour
l’invoquer. FocusManager établit également une interaction avec le Gestionnaire système, qui
active et désactive les occurrences FocusManager lorsque les fenêtres contextuelles sont activées ou
désactivées. Chaque fenêtre modale a une occurrence de FocusManager pour que ses composants
définissent eux-mêmes la tabulation et empêchent ainsi l’utilisateur d’aller dans les composants
des autres fenêtres avec la touche de tabulation.
Classe FocusManager
287
FocusManager reconnaît les groupes de boutons radio (ceux dont la propriété
RadioButton.groupName est définie) et règle le focus sur l’occurrence du groupe dont la
propriété selected correspond à true. Lorsque la touche de tabulation est enfoncée, le
Gestionnaire de focus vérifie si l’objet suivant a le même groupName que l’objet en cours. Si tel est
le cas, il déplace automatiquement le focus sur l’objet suivant ayant un groupName différent. Les
autres jeux de composants qui supportent une propriété groupName peuvent également utiliser
cette fonction.
FocusManager traite les changements de focus provoqués par les clics de la souris. Si l’utilisateur
clique sur un composant, celui-ci reçoit le focus.
Le Gestionnaire de focus n’affecte pas automatiquement de focus à un composant d’une
application. Dans la fenêtre principale ou toute fenêtre contextuelle, le focus n’est pas placé par
défaut sur un composant. Pour cela, vous devez appeler FocusManager.setFocus() sur un
composant.
Utilisation de FocusManager
Le Gestionnaire de focus n’affecte pas automatiquement de focus à un composant. Vous devez
écrire un script qui appelle FocusManager.setFocus() sur un composant si vous souhaitez
qu’un composant reçoive le focus lors du chargement d’une application.
Pour créer une navigation de focus dans une application, définissez la propriété tabIndex sur tous
les objets (y compris les boutons) qui doivent recevoir le focus. Lorsqu’un utilisateur appuie sur la
touche de tabulation, FocusManager recherche un objet activé ayant une propriété tabIndex
supérieure à la valeur actuelle de tabIndex. Une fois que FocusManager a trouvé la propriété
tabIndex la plus élevée, il retombe à zéro. Dans l’exemple suivant, l’objet commentaire
(probablement un composant TextArea) reçoit le focus le premier, puis c’est au tour de l’objet
boutonOK d’en recevoir :
commentaire.tabIndex = 1;
boutonOK.tabIndex = 2;
Vous pouvez également utiliser le panneau Accessibilité pour affecter une valeur d’indexation.
Si aucune valeur d’indexation n’est définie sur la scène, FocusManager utilise l’ordre z. L’ordre z
est principalement défini par l’ordre dans lequel les composants sont placés sur la scène. Vous
pouvez néanmoins utiliser les commandes Modifier/Réorganiser/Mettre au premier plan/Mettre à
l’arrière-plan pour déterminer l’ordre z final.
Pour créer un bouton qui reçoive le focus lorsqu’un utilisateur appuie sur Entrée (Windows) ou
sur Retour (Macintosh), définissez la propriété FocusManager.defaultPushButton sur le nom
d’occurrence du bouton désiré, comme dans l’exemple suivant :
focusManager.defaultPushButton = okButton;
Remarque : FocusManager réagit au moment où les objets sont placés sur la scène (l’ordre de
profondeur des objets) et non à leur position relative sur la scène. C’est ce qui le distingue de la
manière dont Flash Player traite les tabulations.
Paramètres de FocusManager
Il n’existe pas de paramètres de programmation pour FocusManager. Vous devez utiliser les
méthodes ActionScript et les propriétés de la classe FocusManager dans le panneau Actions. Pour
plus d’informations, consultez Classe FocusManager.
288
Chapitre 4 : Dictionnaire des composants
Création d’une application avec FocusManager
La procédure suivante crée un programme de focus dans une application Flash.
1 Faites glisser le composant TextInput du panneau Composants jusqu’à la scène.
2 Dans l’inspecteur des propriétés, affectez-lui le nom d’occurrence commentaire.
3 Faites glisser le composant Button du panneau Composants jusqu’à la scène.
4 Dans l’inspecteur des propriétés, affectez-lui le nom d’occurrence boutonOK et définissez le
paramètre d’étiquette sur OK.
5 Dans l’image 1 du panneau Actions, saisissez le code suivant :
commentaire.tabIndex = 1;
boutonOK.tabIndex = 2;
focusManager.setFocus(comment);
focusManager.defaultPushButton = okButton;
lo = new Object();
lo.click = function(evt){
trace(evt.target + " a été cliqué");
}
boutonOK.addEventListener("click", lo);
Ce code définit l’ordre des tabulations et spécifie un bouton par défaut qui recevra un
événement click lorsqu’un utilisateur appuiera sur Entrée (Windows) ou Retour (Macintosh).
Personnalisation de FocusManager
Vous pouvez changer la couleur du cercle du focus dans le thème Halo en modifiant la valeur du
style themeColor.
FocusManager utilise une enveloppe FocusRect pour le tracé du focus. Cette enveloppe peut être
remplacée ou modifiée et les sous-classes peuvent se substituer à UIComponent.drawFocus pour
le tracé des indicateurs de focus personnalisés.
Classe FocusManager
Héritage
UIObject > UIComponent > FocusManager
Nom de classe ActionScript
mx.managers.FocusManager
Méthodes de la classe FocusManager
Méthode
Description
FocusManager.getFocus()
Renvoie une référence à l’objet ayant le focus.
FocusManager.sendDefaultPushButtonEvent() Envoie un événement click aux objets d’écoute
enregistrés sur le bouton-poussoir par défaut.
FocusManager.setFocus()
Définit le focus sur l’objet spécifié.
Classe FocusManager
289
Propriétés de la classe FocusManager
Méthode
Description
FocusManager.defaultPushButton
Objet qui reçoit un événement click lorsqu’un
utilisateur appuie sur la touche Retour ou Entrée.
FocusManager.defaultPushButtonEnabled
Indique si le traitement clavier du bouton-poussoir
par défaut est activé (true) ou désactivé (false). La
valeur par défaut est true.
FocusManager.enabled
Indique si le traitement tabulation est activé (true)
ou désactivé (false). La valeur par défaut est true.
FocusManager.nextTabIndex
Valeur suivante de la propriété tabIndex.
FocusManager.defaultPushButton
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004 et Flash MX Professionnel 2004.
Usage
focusManager.defaultPushButton
Description
Propriété : spécifie le bouton-poussoir par défaut pour une application. Lorsque l’utilisateur
appuie sur la touche Entrée (Windows) ou Retour (Macintosh), les écouteurs du bouton-poussoir
par défaut reçoivent un événement click. La valeur par défaut n’est pas définie et les données de
cette propriété sont de type objet.
FocusManager utilise la déclaration de style de mise en valeur de la classe SimpleButton pour
identifier visuellement le bouton-poussoir par défaut.
La valeur de la propriété defaultPushButton est toujours le bouton qui a le focus. La définition
de la propriété defaultPushButton ne donne pas le focus initial au bouton-poussoir par défaut.
Si une application comprend plusieurs boutons, celui qui a le focus reçoit l’événement click
lorsque la touche Entrée ou Retour est enfoncée. Si le focus se trouve sur un autre composant
lorsque la touche Entrée ou Retour est enfoncée, la valeur d’origine de la propriété
defaultPushButton est rétablie.
Exemple
Le code suivant définit le bouton-poussoir par défaut sur l’occurrence boutonOK :
FocusManager.defaultPushButton = boutonOK;
Voir aussi
FocusManager.defaultPushButtonEnabled,
FocusManager.sendDefaultPushButtonEvent()
290
Chapitre 4 : Dictionnaire des composants
FocusManager.defaultPushButtonEnabled
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
focusManager.defaultPushButtonEnabled
Description
Propriété : valeur booléenne qui détermine si le traitement clavier du bouton-poussoir par défaut
est activé (true) ou non (false). La définition de defaultPushButtonEnabled sur false
permet à un composant de recevoir la touche Retour ou Entrée et de la traiter en interne.Vous
devez réactiver le traitement du bouton-poussoir par défaut en suivant la méthode
onKillFocus() du composant (consultez MovieClip.onKillFocus dans le Dictionnaire
ActionScript de l’aide) ou l’événement focusOut. La valeur par défaut est true.
Exemple
Le code suivant désactive le traitement du bouton-poussoir par défaut :
focusManager.defaultPushButtonEnabled = false;
FocusManager.enabled
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
focusManager.enabled
Description
Propriété : valeur booléenne qui détermine si le traitement tabulation est activé (true) ou non
(false) pour un groupe spécifique d’objets de focus. Une autre fenêtre contextuelle pourrait avoir
son propre FocusManager, par exemple. La définition de enabled sur false permet à un
composant de recevoir les touches de traitement tabulation et de les traiter en interne. Vous devez
réactiver le traitement de FocusManager en suivant la méthode onKillFocus() du composant
(consultez MovieClip.onKillFocus dans le Dictionnaire ActionScript de l’aide) ou l’événement
focusOut. La valeur par défaut est true.
Exemple
Le code suivant désactive la tabulation :
focusManager.enabled = false;
Classe FocusManager
291
FocusManager.getFocus()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004 et Flash MX Professionnel 2004.
Usage
focusManager.getFocus()
Paramètres
Aucun.
Renvoie
Référence à l’objet ayant le focus.
Description
Méthode : renvoie une référence à l’objet ayant le focus.
Exemple
Le code suivant définit le focus sur monBoutonOK si l’objet ayant le focus est maSaisieDeTexte :
if (focusManager.getFocus() == maSaisieDeTexte)
{
focusManager.setFocus(monBoutonOK);
}
Voir aussi
FocusManager.setFocus()
FocusManager.nextTabIndex
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
FocusManager.nextTabIndex
Description
Propriété : le numéro suivant d’index de tabulation disponible. Utilisez cette propriété pour
définir dynamiquement la propriété tabIndex d’un objet.
Exemple
Le code suivant donne à l’occurrence maCaseAcocher la valeur tabIndex suivante la plus élevée :
maCaseAcocher.tabIndex = focusManager.nextTabIndex;
292
Chapitre 4 : Dictionnaire des composants
Voir aussi
UIComponent.tabIndex
FocusManager.sendDefaultPushButtonEvent()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004 et Flash MX Professionnel 2004.
Usage
focusManager.sendDefaultPushButtonEvent()
Paramètres
Aucun.
Renvoie
Rien.
Description
Méthode : envoie un événement click aux objets d’écoute enregistrés sur le bouton-poussoir par
défaut. Utilisez cette méthode pour envoyer par programmation un événement click.
Exemple
Le code suivant déclenche l’événement click de bouton-poussoir par défaut et remplit les
champs de nom d’utilisateur et de mot de passe lorsqu’un utilisateur sélectionne l’occurrence
CheckBox chb (la case à cocher s’appellerait « Connexion automatique ») :
nom_txt.tabIndex = 1;
motDePasse_txt.tabIndex = 2;
chb.tabIndex = 3;
submit_ib.tabIndex = 4;
focusManager.defaultPushButton = submit_ib;
chbObj = new Object();
chbObj.click = function(o){
if (chb.selected == true){
nom_txt.text = "Lucie";
motDePasse_txt.text = "secret";
focusManager.sendDefaultPushButtonEvent();
} else {
nom_txt.text = "";
motDePasse_txt.text = "";
}
}
chb.addEventListener("click", objChb);
submitObj = new Object();
submitObj.click = function(o){
if (motDePasse_txt.text != "secret"){
trace("erreur de soumission");
} else {
Classe FocusManager
293
trace("sendDefaultPushButtonEvent a abouti !");
}
}
submit_ib.addEventListener("click", submitObj);
Voir aussi
FocusManager.defaultPushButton, FocusManager.sendDefaultPushButtonEvent()
FocusManager.setFocus()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004 et Flash MX Professionnel 2004.
Usage
focusManager.setFocus(object)
Paramètres
object
Référence à l’objet qui reçoit le focus.
Renvoie
Rien.
Description
Méthode : définit le focus sur l’objet spécifié.
Exemple
Le code suivant définit le focus sur monBoutonOK :
focusManager.setFocus(monBoutonOK);
Voir aussi
FocusManager.getFocus()
Classe Form (Flash Professionnel uniquement)
Héritage
UIObject > UIComponent > View > Loader > Screen > Form
Nom de classe ActionScript
mx.screens.Form
La classe Form fournit le comportement à l’exécution des formulaires que vous créez dans le
panneau Contour de l’écran dans Flash MX Professionnel 2004. Pour un aperçu de l’utilisation
des écrans, consultez « Utilisation des écrans (Flash Professionnel uniquement) », dans le guide
Utilisation de Flash de l’aide.
294
Chapitre 4 : Dictionnaire des composants
Utilisation de la classe Form (Flash Professionnel uniquement)
Les formulaires fonctionnent à la fois comme des conteneurs pour les objets graphiques (des
éléments d’interface utilisateur dans une application, par exemple) et comme des états
d’application. Vous pouvez utiliser le panneau Contour de l’écran pour visualiser les différents
états d’une application que vous créez, où chaque formulaire est un état d’application différent.
Par exemple, l’illustration suivante montre le panneau Contour de l’écran pour un exemple
d’application conçu à l’aide de formulaires.
Vue du Contour de l’écran d’un exemple d’application de formulaires.
Cette illustration montre le contour d’un exemple d’application appelé « Employee Directory »
(Répertoire des employés), qui comprend plusieurs formulaires. Le formulaire nommé
« entryForm » (formulaire d'entrée, sélectionné dans l’illustration ci-dessus) contient plusieurs
objets d’interface utilisateur, y compris des champs de saisie de texte, des étiquettes et un boutonpoussoir. Le développeur peut facilement présenter ce formulaire à l’utilisateur en faisant basculer
sa visibilité, (à l’aide de la propriété Form.visible) tout en faisant basculer la visibilité des autres
formulaires simultanément.
Vous pouvez également associer des comportements et des commandes aux formulaires à l’aide du
panneau Comportements (Fenêtre > Panneaux de développement > Comportements). Pour plus
d’informations sur l’ajout de transitions et de commandes aux écrans, consultez « Création de
commandes et de transitions pour les écrans à l’aide des comportements (Flash Professionnel
uniquement) », dans le guide Utilisation de Flash de l’aide.
Etant donné que la classe Form étend la classe Loader, vous pouvez facilement charger du contenu
externe (un fichier SWF ou JPEG) dans un formulaire. Par exemple, le contenu d’un formulaire
peut être un fichier SWF séparé, pouvant lui-même contenir des formulaires. De cette façon, vous
pouvez modulariser vos applications de formulaires, ce qui facilite la gestion des applications et
réduit le temps de téléchargement initial. Pour plus d’informations, consultez Chargement de
contenu externe dans des écrans (Flash Professionnel uniquement), page 478.
Classe Form (Flash Professionnel uniquement)
295
Paramètres de l’objet Form
Vous pouvez définir les paramètres de programmation suivants pour chaque occurrence de l’objet
Form dans l’inspecteur des propriétés ou des composants :
autoload Indique si le contenu spécifié par le paramètre contentPath doit être chargé
automatiquement (true) ou s’il faut attendre que la méthode Loader.load() soit appelée (false).
La valeur par défaut est true.
contentPath Spécifie le contenu du formulaire. Il peut s’agir de l’identificateur de liaison d’un
clip ou d’une URL absolue ou relative d’un fichier SWF ou JPG à charger dans la diapositive. Par
défaut, le contenu chargé est coupé pour être adapté à la diapositive.
visible
Spécifie si le formulaire est visible (true) ou non (false) lors de son premier chargement.
Méthodes de la classe Form
Méthode
Description
Form.getChildForm()
Renvoie le formulaire enfant à un index spécifié.
Hérite de toutes les méthodes des classes UIObject, UIComponent, View, du Composant Loader et
de la Classe Screen (Flash Professionnel uniquement).
Propriétés de la classe Form
Propriété
Description
Form.currentFocusedForm
Renvoie le formulaire comportant le plus de feuilles qui
contient le focus global actuel.
Form.indexInParentForm
Renvoie l’index (basé sur zéro) de ce formulaire dans la liste
des sous-formulaires de son parent.
Form.visible
Spécifie si le formulaire est visible lorsque son formulaire, sa
diapositive, son clip ou son fichier SWF parent est visible.
Form.numChildForms
Renvoie le nombre de formulaires enfants que ce formulaire
contient.
Form.parentIsForm
Indique si l’objet parent de ce formulaire est également un
formulaire.
Form.rootForm
Renvoie la racine de l’arborescence ou sous-arborescence
du formulaire qui contient le formulaire.
Hérite de toutes les propriétés des composants UIObject, UIComponent, View, du Composant
Loader et de la Classe Screen (Flash Professionnel uniquement).
296
Chapitre 4 : Dictionnaire des composants
Form.currentFocusedForm
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
mx.screens.Form.currentFocusedForm
Description
Propriété (lecture seule) : renvoie l’objet Form contenant le focus global actuel. Le focus actuel
peut être sur le formulaire lui-même ou sur un clip, un objet texte ou un composant dans le
formulaire. Peut être null s’il n’y a aucun focus actuel.
Exemple
Le code suivant, associé à un bouton (masqué), affiche le nom du formulaire ayant le focus actuel.
trace("Le formulaire ayant le focus actuel est : " +
mx.screens.Form.currentFocusedForm);
Form.getChildForm()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
monFormulaire.getChildForm(indexEnfant)
Paramètres
indexEnfant
Nombre indiquant l’index (basé sur zéro) du formulaire enfant à renvoyer.
Renvoie
Un objet Form.
Description
Méthode : renvoie le formulaire enfant de monFormulaire dont l’index est indexEnfant.
Exemple
L’exemple suivant affiche dans le panneau de sortie les noms de tous les objets Form enfants qui
appartiennent à l’objet racine Form nommé Application.
for (var i:Number = 0; i < _root.Application.numChildForms; i++) {
var formEnfant:mx.screens.Form = _root.Application.getChildForm(i);
trace(formEnfant._name);
}
Classe Form (Flash Professionnel uniquement)
297
Voir aussi
Form.numChildForms
Form.indexInParentForm
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
monFormulaire.indexInParentForm
Description
Propriété (lecture seule) : contient l’index (basé sur zéro) de monFormulaire dans la liste des
formulaires enfants de son parent. Si l’objet parent de monFormulaire est un écran et non un
formulaire (par exemple, une diapositive), alors indexInParentForm est toujours 0.
Exemple
var monIndex:Number = monFormulaire.indexInParent;
if (monFormulaire == monFormulaire._parent.getChildForm(monIndex)) {
trace("Je suis au bon endroit");
}
Voir aussi
Form.getChildForm()
Form.numChildForms
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
monFormulaire.numChildForms
Description
Propriété (lecture seule) : renvoie le nombre de formulaires enfants contenus dans
monFormulaire. Cette propriété n’inclut aucune diapositive contenue dans monFormulaire,
uniquement des formulaires.
298
Chapitre 4 : Dictionnaire des composants
Exemple
Le code suivant itère sur tous les formulaires enfants contenus dans monFormulaire et affiche
leurs noms dans le panneau de sortie.
var combienDEnfants:Number = monFormulaire.numChildForms;
for(i=0; i<combienDEnfants; i++) {
var formEnfant = monFormulaire.getChildForm(i);
trace(formEnfant._name);
}
Voir aussi
Form.getChildForm()
Form.parentIsForm
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
monFormulaire.parentIsForm
Description
Propriété (lecture seule) : Renvoie une valeur booléenne (true ou false) indiquant si l’objet
parent du formulaire est également un formulaire (true) ou non (false). Si la valeur est false,
monFormulaire est à la racine de sa hiérarchie de formulaires.
Exemple
if (monFormulaire.parentIsForm) {
trace("J’ai "+monFormulaire._parent.numChildScreens+" écrans frères");
} else {
trace("Je suis le formulaire racine et je n’ai pas de frères");
}
Form.rootForm
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
monFormulaire.rootForm
Description
Propriété (lecture seule) : renvoie le formulaire au sommet de la hiérarchie de formulaires
contenant monFormulaire. Si monFormulaire est contenu dans un objet qui n’est pas un
formulaire (c’est-à-dire une diapositive), cette propriété renvoie alors monFormulaire.
Classe Form (Flash Professionnel uniquement)
299
Exemple
Dans l’exemple suivant, une référence au formulaire racine de monFormulaire est placée dans une
variable nommée racine. Si la valeur affectée à racine fait référence à monFormulaire, alors
monFormulaire est au sommet de son arborescence de formulaires.
var racine:mes.écrans.Form = monFormulaire.rootForm;
if(rootForm == monFormulaire) {
trace("monFormulaire est le formulaire de premier niveau dans son
arborescence");
}
Form.visible
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
monFormulaire.visible
Description
Propriété : détermine si monFormulaire est visible lorsque son formulaire, sa diapositive, son clip
ou son animation parent est visible. Vous pouvez également définir cette propriété à l’aide de
l’inspecteur des propriétés dans l’environnement de programmation de Flash.
Lorsque cette propriété est définie sur true, monFormulaire reçoit un événement reveal.
Lorsqu’elle est définie sur false, monFormulaire reçoit un événement hide. Vous pouvez
associer des transitions aux formulaires exécutés lorsqu’un formulaire reçoit l’un de ces
événements. Pour plus d’informations sur l’ajout de transitions aux écrans, consultez « Création
de commandes et de transitions pour les écrans à l’aide des comportements (Flash Professionnel
uniquement) », dans le guide Utilisation de Flash de l’aide.
Exemple
Le code suivant, associé à une occurrence du composant Button, définit sur false la propriété
visible du formulaire contenant le bouton.
on(click) {
_parent.visible = true;
}
Composant Label
Un composant d’étiquette est une ligne unique de texte. Vous pouvez spécifier qu’une étiquette
devra être formatée en HTML. Vous pouvez également contrôler l’alignement et le
dimensionnement des étiquettes. Les étiquettes n’ont pas de bordures, ne peuvent pas recevoir le
focus et ne diffusent pas d’événements.
300
Chapitre 4 : Dictionnaire des composants
Un aperçu en direct de chaque occurrence d’étiquette reflète les modifications apportées à leurs
paramètres dans le panneau de l’inspecteur des propriétés ou des composants au cours de la
programmation. Le composant Label n’ayant pas de bordures, la définition de son paramètre de
texte constitue le seul moyen de visualiser son aperçu en direct. Le paramètre autoSize n’est pas
supporté dans l’aperçu en direct.
Lorsque vous ajoutez une composant Label à une application, vous pouvez utiliser le panneau
Accessibilité pour le rendre accessible aux lecteurs d’écran. Vous devez d’abord ajouter la ligne de
code suivante pour activer l’accessibilité :
mx.accessibility.LabelAccImpl.enableAccessibility();
Vous n’activez l’accessibilité d’un composant qu’une fois, quel que soit son nombre d’occurrences.
Pour plus d’informations, consultez « Création de contenu accessible », dans le guide Utilisation
de Flash de l’aide.
Utilisation du composant Label
Utilisez des composants Label afin de créer des étiquette de texte pour les autres composants de
formulaire, tels que l’étiquette « Nom : ». placée à gauche d’un champ TextInput où l’on saisirait
un nom d’utilisateur. Si vous créez une application à l’aide de composants basés sur la version 2
(v2) de Macromedia Component Architecture, il est préférable d’utiliser un composant Label au
lieu d’un champ de texte ordinaire afin d’employer des styles qui vous permettront de conserver
un aspect cohérent dans l’ensemble du document.
Paramètres Label
Vous trouverez ci-dessous les paramètres de programmation qu’il est possible de définir dans le
panneau de l’inspecteur des propriétés ou des composants pour toutes les occurrences des
composants Label :
text
indique le texte de l’étiquette ; la valeur par défaut est Etiquette.
indique si l’étiquette est formatée en HTML (true) ou non (false). Si le paramètre html
est défini sur true, aucun style ne peut être défini pour l’étiquette. La valeur par défaut est false.
html
autoSize indique les dimensions de l’étiquette et son alignement par rapport au texte. La valeur
par défaut est none. Ce paramètre peut avoir l’une des quatre valeurs suivantes :
• none—l’étiquette n’est pas redimensionnée ou alignée pour contenir le texte.
• left—le bas et le côté droit de l’étiquette sont redimensionnés pour contenir le texte. Le haut et
le côté gauche ne sont pas redimensionnés.
• center—le bas de l’étiquette est redimensionné pour contenir le texte. Le centre horizontal de
•
l’étiquette reste ancré à sa position d’origine.
right—le bas et le côté gauche de l’étiquette sont redimensionnés pour contenir le texte. Le
haut et le côté droit ne sont pas redimensionnés.
Remarque : La propriété autoSize du composant Label est différente de la propriété autoSize
intégrée à l’objet ActionScript TextField.
Vous pouvez rédiger des instructions ActionScript afin de définir d’autres options pour les
occurrences d’étiquette à l’aide des méthodes, des propriétés et des événements. Pour plus
d’informations, consultez Classe Label.
Composant Label
301
Création d’une application avec le composant Label
La procédure suivante explique comment ajouter un composant Label à une application au cours
de la programmation. Dans cet exemple, l’étiquette se trouve à côté d’une liste déroulante
contenant des dates, dans une application de panier d’achat.
Pour créer une application avec le composant Label, procédez comme suit :
1 Faites glisser un composant Label du panneau Composants jusqu’à la scène.
2 Dans le panneau Inspecteur des composants, entrez Date d’expiration pour le paramètre
d’étiquette.
Personnalisation du composant Label
Vous pouvez orienter un composant Label horizontalement et verticalement au cours de la
programmation et lors de l’exécution. Lors de la programmation, choisissez le composant sur la
scène et utilisez l’outil Transformer librement ou une commande de modification >
transformation. Vous pouvez également définir le paramètre de programmation autoSize ; la
définition de ce paramètre ne change pas le cadre de délimitation dans l’aperçu en direct, mais
l’étiquette est redimensionnée. Pour plus d’informations, consultez Paramètres Label, page 301.
Lors de l’exécution, utilisez la méthode setSize() (consultez UIObject.setSize() ou
Label.autoSize).
Utilisation des styles avec le composant Label
Vous pouvez définir des propriétés de style afin de modifier l’aspect d’une occurrence d’étiquette.
Tout le texte contenu dans une occurrence de composant Label doit partager le même style. Par
exemple, vous ne pouvez pas définir le style de color sur "blue" pour un mot de l’étiquette et le
définir sur "red" pour un autre mot de la même étiquette.
Si le nom d’une propriété de style se termine par « Color », il s’agit d’une propriété de style de
couleur qui se comporte différemment des autres propriétés de style.
Pour plus d’informations sur les styles, consultez Utilisation des styles pour personnaliser la couleur
et le texte des composants, page 29.
Les composants Label supportent les styles suivants :
Style
Description
color
Couleur par défaut pour le texte.
embedFonts
Polices à incorporer dans le document.
fontFamily
Nom de police pour du texte.
fontSize
Taille en points pour la police.
fontStyle
Style de la police, "normal" ou "italic".
fontWeight
Epaisseur de la police, "normal" ou "bold".
textAlign
Alignement du texte : "left", "right" ou "center".
textDecoration Décoration du texte : "none" ou "underline".
302
Chapitre 4 : Dictionnaire des composants
Utilisation des enveloppes avec le composant Label
Aucune enveloppe ne peut être appliquée au composant Label.
Pour plus d’informations sur l’application d’une enveloppe à un composant, consultez A propos de
l’application des enveloppes aux composants, page 38.
Classe Label
Héritage
UIObject > Label
Nom de classe ActionScript
mx.controls.Label
Lors de l’exécution, les propriétés de la classe Label permettent de spécifier du texte pour
l’étiquette, d’indiquer si le texte peut être formaté en HTML et de spécifier si l’étiquette sera
automatiquement dimensionnée en fonction de la taille du texte.
La définition d’une propriété de classe Label avec ActionScript remplace le paramètre du même
nom défini dans le panneau de l’inspecteur des propriétés ou des composants.
Toutes les classes de composants ont une propriété version qui correspond à une propriété de
classe. Les propriétés de classe sont uniquement disponibles sur la classe elle-même. La propriété
version renvoie une chaîne qui indique la version du composant. Pour accéder à la propriété
version, utilisez le code suivant :
trace(mx.controls.Label.version);
Remarque : Le code suivant renvoie la valeur undefined :
trace(monOccurrenceEtiquette.version);.
Méthodes de la classe Label
Hérite de toutes les méthodes de la classe UIObject.
Propriétés de la classe Label
Propriété
Description
Label.autoSize Chaîne qui indique la manière dont une étiquette sera dimensionnée et alignée sur
la valeur de sa propriété text. Quatre valeurs sont possibles : "none", "left",
"center" et "right". La valeur par défaut est "none".
Label.html
Une valeur booléenne indiquant si une étiquette peut être formatée en HTML
(true) ou non (false).
Label.text
Texte de l’étiquette.
Hérite de toutes les propriétés de la classe UIObject.
Evénements de la classe Label
Hérite de tous les événements de la classe UIObject.
Composant Label
303
Label.autoSize
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceEtiquette.autoSize
Description
Propriété : chaîne indiquant la manière dont une étiquette sera dimensionnée et s’alignera sur la
valeur de sa propriété text. Quatre valeurs sont possibles : "none", "left", "center" et
"right". La valeur par défaut est "none".
•
•
•
•
none—l’étiquette
n’est pas redimensionnée ou alignée pour contenir le texte.
bas et le côté droit de l’étiquette sont redimensionnés pour contenir le texte. Le haut
et le côté gauche ne sont pas redimensionnés.
center—le bas de l’étiquette est redimensionné pour contenir le texte. Le centre horizontal de
l’étiquette reste ancré à sa position d’origine.
right—le bas et le côté gauche de l’étiquette sont redimensionnés pour contenir le texte. Le
haut et le côté droit ne sont pas redimensionnés.
left—le
Remarque : La propriété autoSize du composant Label est différente de la propriété autoSize
intégrée à l’objet ActionScript TextField.
Label.html
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceEtiquette.html
Description
Propriété : valeur booléenne indiquant si l’étiquette peut être formatée en HTML (true) ou non
(false). La valeur par défaut est false. Le style des composants Label ayant la propriété html
définie sur true ne peut pas être formaté.
Vous ne pouvez pas utiliser la balise HTML <font color> avec le composant Label, même si
Label.html est défini sur true. Dans l’exemple suivant, le texte « Bonjour » est affiché en noir et
non en rouge comme il le serait si <font color> était supporté :
lbl.html = true;
lbl.text = "<font color=\"#FF0000\">Bonjour</font> le monde";
304
Chapitre 4 : Dictionnaire des composants
Pour extraire le texte ordinaire d’un texte au format HTML, définissez la propriété HTML sur
false, puis accédez à la propriété text. Cette procédure ayant pour effet de supprimer le
formatage HTML, il peut être souhaitable, avant de l’exécuter, de copier le texte de l’étiquette
dans un composant Label ou TextArea hors écran.
Exemple
L’exemple suivant définit la propriété html sur true pour que l’étiquette puisse être formatée en
HTML. La propriété text est ensuite définie sur une chaîne incluant du formatage HTML,
comme dans l’exemple suivant :
labelControl.html = true;
labelControl.text = "Le blabla <b>royal</b>";
Le mot « royal » est affiché en caractères gras.
Label.text
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceEtiquette.text
Description
Propriété : texte d’une étiquette. La valeur par défaut est "Label".
Exemple
Le code suivant définit la propriété text de l’occurrence d’étiquette contrôleEtiquette et
envoie la valeur au panneau de sortie :
contrôleEtiquette.text = "Le blabla royal";
trace(labelControl.text);
Composant List
Le composant List est une zone de liste défilante à sélection unique ou multiple. Les listes peuvent
également contenir des graphiques, y compris d’autres composants. L’ajout des éléments affichés
dans la zone de liste s’effectue via la boîte de dialogue Valeurs qui s’affiche lorsque vous cliquez
dans les champs de paramètres des étiquettes ou des données. Vous pouvez également utiliser les
méthodes List.addItem() et List.addItemAt() pour ajouter des éléments à la liste.
Le composant List utilise un index basé sur zéro, où l’élément possédant l’index 0 est le premier
affiché. Lorsque vous ajoutez, supprimez ou remplacez les éléments d’une liste au moyen des
méthodes de la classe List, il peut s’avérer nécessaire de définir l’index de ces éléments.
Composant List
305
La liste reçoit le focus lorsque vous cliquez dessus ou appuyez sur la touche Tab pour y accéder.
Vous pouvez utiliser les touches suivantes pour la contrôler :
Touche
Description
Touches
alphanumériques
Passe à l’élément suivant avec l’étiquette Key.getAscii() en tant que
premier caractère de l’étiquette.
Contrôle
Bouton bascule. Permet plusieurs sélections et désélections non
contiguës.
Bas
La sélection se déplace d’un élément vers le bas.
Origine
La sélection se déplace jusqu’au sommet de la liste.
Pg. Suiv.
La sélection se déplace sur la page suivante.
Pg. Préc.
La sélection se déplace sur la page précédente.
Maj
Touche de sélection contiguë. Permet une sélection contiguë.
Haut
La sélection se déplace d’un élément vers le haut.
Remarque : La taille de page utilisée par les touches Page précédente et Page suivante correspond
au nombre d’éléments contenus dans l’affichage, moins un. Par exemple, le passage à la page
suivante dans une liste déroulante à dix lignes affichera les éléments 0-9, 9-18, 18-27, etc., avec un
élément commun par page.
Pour plus d’informations sur le contrôle du focus, consultez Création de la navigation personnalisée
du focus, page 27 ou Classe FocusManager, page 287.
Un aperçu en direct de chaque occurrence de liste sur la scène reflète les modifications apportées à
leurs paramètres dans le panneau de l’inspecteur des propriétés ou des composants au cours de la
programmation.
Lorsque vous ajoutez une composant List à une application, vous pouvez utiliser le panneau
Accessibilité pour le rendre accessible aux lecteurs d’écran. Vous devez d’abord ajouter la ligne de
code suivante pour activer l’accessibilité :
mx.accessibility.ListAccImpl.enableAccessibility();
Vous n’activez l’accessibilité d’un composant qu’une fois, quel que soit son nombre d’occurrences.
Pour plus d’informations, consultez « Création de contenu accessible », dans le guide Utilisation
de Flash de l’aide.
Utilisation du composant List
Vous pouvez définir une liste dans laquelle les utilisateurs pourront effectuer un ou plusieurs
choix. Par exemple, un utilisateur qui visite un site web de commerce électronique a besoin de
choisir l’article à acheter. Imaginons qu’il ait le choix parmi 30 articles. Il fait défiler la liste et en
choisit un en cliquant dessus.
Vous pouvez également utiliser des clips personnalisés en tant que lignes dans la liste. Ils vous
permettront de donner des informations supplémentaires aux utilisateurs. Par exemple, dans une
application de courrier électronique, toutes les boîtes de réception pourraient être des composants
List et toutes les lignes pourraient être accompagnées d’icônes indiquant leur priorité et leur état.
306
Chapitre 4 : Dictionnaire des composants
Paramètres du composant List
Vous pouvez définir les paramètres de programmation suivants pour chaque occurrence de
composant List dans l’inspecteur des propriétés ou le panneau des composants :
Tableau de valeurs qui constituent les données de la liste. La valeur par défaut est []
(tableau vide). Il n’existe pas de propriété équivalente lors de l’exécution.
data
Tableau des valeurs de texte qui remplissent les valeurs des étiquettes de la liste. La valeur
par défaut est [] (tableau vide). Il n’existe pas de propriété équivalente lors de l’exécution.
labels
Valeur booléenne qui indique si vous pouvez sélectionner plusieurs valeurs
(true) ou non (false). La valeur par défaut est false.
multipleSelection
Indique la hauteur, en pixels, de chaque ligne. La valeur par défaut est 20. La
définition d’une police ne change rien à la hauteur de la ligne.
rowHeight
Vous pouvez rédiger des instructions ActionScript afin de définir d’autres options pour les
occurrences de liste à l’aide des méthodes, des propriétés et des événements. Pour plus
d’informations, consultez Classe List.
Création d’une application avec le composant List
La procédure suivante explique comment ajouter un composant List à une application au cours de
la programmation. Dans cet exemple, la liste est un échantillon composé de trois éléments.
Pour ajouter un composant List simple à une application, procédez comme suit :
1 Faites glisser un composant List du panneau Composants jusqu’à la scène.
2 Sélectionnez la liste et choisissez Modification > Transformer pour l’adapter aux dimensions de
votre application.
3 Dans l’inspecteur des propriétés, procédez comme suit :
Saisissez le nom d’occurrence maListe.
Saisissez Elément1, Elément2 et Elément3 pour les paramètres des étiquettes.
■ Saisissez élément1.html, élément2.html, élément3.html pour les paramètres de données.
4 Choisissez Contrôle > Tester l’animation pour visualiser la liste et ses éléments.
Vous pouvez utiliser les valeurs de propriété de données dans votre application pour ouvrir les
fichiers HTML.
■
■
La procédure suivante explique comment ajouter un composant List à une application au cours de
la programmation. Dans cet exemple, la liste est un échantillon composé de trois éléments.
Pour ajouter un composant List complexe à une application, procédez comme suit :
1 Faites glisser un composant List du panneau Composants jusqu’à la scène.
2 Sélectionnez la liste et choisissez Modification > Transformer pour l’adapter aux dimensions de
votre application.
3 Dans le panneau Actions, saisissez le nom d’occurrence maListe.
Composant List
307
4 Sélectionnez l’image 1 du scénario et, dans le panneau Actions, saisissez ce qui suit :
maListe.dataProvider = monFD;
Si vous avez déterminé un fournisseur de données intitulé monFD, la liste se remplit de données.
Pour plus d’informations sur les fournisseurs de données, consultez List.dataProvider.
5 Choisissez Contrôle > Tester l’animation pour visualiser la liste et ses éléments.
Personnalisation du composant List
Vous pouvez orienter un composant List horizontalement et verticalement pendant la
programmation et l’exécution. Lors de la programmation, choisissez le composant sur la scène et
utilisez l’outil Transformer librement ou une commande de modification > transformation. A
l’exécution, utilisez la méthode List.setSize() (consultez UIObject.setSize()).
Lorsqu’une liste est redimensionnée, ses lignes diminuent horizontalement, ce qui coupe le texte
qui se trouve à l’intérieur. Verticalement, la liste ajoute ou supprime le nombre de lignes
approprié. Les barres de défilement se placent automatiquement. Pour plus d’informations sur les
barres de défilement, consultez Composant ScrollPane, page 490.
Utilisation des styles avec le composant List
Vous pouvez définir des propriétés de style afin de modifier l’aspect d’un composant List.
Un composant List utilise les styles de halo suivants :
Style
Description
alternatingRowColors
Spécifie des couleurs alternées pour les lignes. La valeur peut être un
tableau de couleurs, 0xFF00FF, 0xCC6699 et 0x996699, par exemple.
backgroundColor
Couleur d’arrière-plan de la liste. Ce style est défini sur une déclaration de
style de classe, ScrollSelectList.
borderColor
Section noire d’une bordure à trois dimensions ou section de couleur
d’une bordure à deux dimensions.
borderStyle
Style du cadre de délimitation. Les valeurs possibles sont : "none",
"solid", "inset" et "outset". Ce style est défini sur une déclaration de style
de classe, ScrollSelectList.
defaultIcon
Nom de l’icône à utiliser par défaut pour les lignes de la liste. La valeur par
défaut est undefined.
rollOverColor
Couleur d’une ligne survolée.
selectionColor
Couleur d’une ligne sélectionnée.
selectionEasing
Référence à une équation d’accélération (fonction) utilisée pour contrôler
l’interpolation de programmation.
disabledColor
Couleur désactivée pour du texte.
textRollOverColor
Couleur du texte lorsque le pointeur passe dessus.
textSelectedColor
Couleur du texte sélectionné.
selectionDisabledColor Couleur d’une ligne sélectionnée et désactivée.
308
Chapitre 4 : Dictionnaire des composants
Style
Description
selectionDuration
Longueur des transitions lors de la sélection des éléments.
useRollOver
Détermine si le survol d’une ligne active sa mise en surbrillance.
Les composants List utilisent également les propriétés de style du composant Label (voir
Utilisation des styles avec le composant Label, page 302), du composant ScrollPane (voir Composant
ScrollPane, page 490) et du composant RectBorder.
Utilisation des enveloppes avec le composant List
Toutes les enveloppes du composant List sont incluses dans les sous-composants qui constituent
la liste (Composant ScrollPane et RectBorder). Pour plus d’informations, consultez Composant
ScrollPane, page 490. La méthode setStyle() (consultez UIObject.setStyle()) vous permet
de modifier les propriétés suivantes du style RectBorder :
Styles RectBorder
Position de la bordure
borderColor
a
highlightColor
b
borderColor
c
shadowColor
d
borderCapColor
e
shadowCapColor
f
shadowCapColor
g
borderCapColor
h
Les propriétés de style définissent les positions suivantes sur la bordure :
Classe List
Héritage
UIObject > UIComponent > View > ScrollView > ScrollSelectList > List
Nom de classe ActionScript
mx.controls.List
Le composant List est constitué de trois parties :
• Eléments
• Lignes
• Fournisseur de données
Composant List
309
Un élément est un objet ActionScript utilisé pour stocker les unités d’informations dans la liste.
Une liste peut être représentée un peu comme un tableau ; chaque espace indexé du tableau est un
élément. Un élément est un objet disposant, en règle générale, d’une propriété label qui est
affichée et d’une propriété data qui sert à stocker des données.
Une ligne est un composant utilisé pour afficher un élément. Les lignes sont fournies par défaut
par la liste (la classe SelectableRow est utilisée) ou vous pouvez les fournir, en général sous la
forme de sous-classes de la classe SelectableRow. La classe SelectableRow implémente l’interface
CellRenderer, ensemble des propriétés et méthodes qui permettent à la liste de manipuler toutes
les lignes et d’envoyer des données et des informations d’état (par exemple, taille, sélections, etc.)
à la ligne affichée.
Le fournisseur de données correspond au modèle des données des éléments dans une liste. Un
tableau situé dans la même image qu’une liste reçoit automatiquement des méthodes qui
permettent de manipuler les données et de diffuser les changements vers plusieurs affichages. Vous
pouvez créer une occurrence de tableau ou en obtenir une d’un serveur et l’utiliser comme modèle
de données pour plusieurs composants List, ComboBox, DataGrid, etc. Le composant List a un
jeu de méthodes qui agit comme proxy pour le fournisseur de données (par exemple, addItem()
et removeItem()). Si aucun fournisseur de données externe n’est fourni à la liste, ces méthodes
créent automatiquement une occurrence de fournisseur de données, exposée par le biais de
List.dataProvider.
Pour ajouter un composant List à l’ordre des tabulations d’une application, définissez sa propriété
(voir UIComponent.tabIndex). Le composant List utilise FocusManager pour
remplacer le rectangle de focus par défaut de Flash Player et tracer un rectangle de focus
personnalisé aux coins arrondis. Pour plus d’informations, consultez Création de la navigation
personnalisée du focus, page 27.
tabIndex
Toutes les classes de composants ont une propriété version qui correspond à une propriété de
classe. Les propriétés de classe sont uniquement disponibles sur la classe elle-même. La propriété
version renvoie une chaîne qui indique la version du composant. Pour accéder à la propriété
version, utilisez le code suivant :
trace(mx.controls.List.version);
Remarque : Le code suivant renvoie la valeur undefined : trace(OccurrenceMaListe.version);.
Méthodes de la classe List
Méthode
Description
List.addItem()
Ajoute un élément à la fin de la liste.
List.addItemAt()
Ajoute un élément à la liste, à l’index spécifié.
List.getItemAt()
Renvoie l’élément à l’emplacement d’index spécifié.
List.removeAll()
Supprime tous les éléments de la liste.
List.removeItemAt()
Supprime l’élément à l’index spécifié.
List.replaceItemAt()
Remplace l’élément, à l’index spécifié, par un autre élément.
List.setPropertiesAt() Applique les propriétés spécifiées à un élément donné.
310
Chapitre 4 : Dictionnaire des composants
Méthode
Description
List.sortItems()
Trie les éléments de la liste à l’aide de la fonction de comparaison
spécifiée.
List.sortItemsBy()
Trie les éléments de la liste à l’aide d’une propriété donnée.
Hérite de toutes les méthodes des classes UIObject et UIComponent.
Propriétés de la classe List
Propriété
Description
List.cellRenderer
Affecte la classe ou le symbole à utiliser pour afficher chaque ligne de la
liste.
List.dataProvider
Source des éléments de la liste.
List.hPosition
Position horizontale de la liste.
List.hScrollPolicy
Indique si la barre de défilement horizontale est affichée ("on") ou non
("off").
List.iconField
Champ situé à l’intérieur de chaque élément et utilisé pour spécifier les
icônes.
List.iconFunction
Fonction qui détermine les icônes à utiliser.
List.labelField
Spécifie un champ dans chaque élément, à utiliser comme texte
d’étiquette.
List.labelFunction
Fonction qui détermine les champs de chaque élément à utiliser pour le
texte d’étiquette.
List.length
Longueur de la liste en éléments. Cette propriété est en lecture seule.
List.maxHPosition
Spécifie le nombre de pixels que la liste peut faire défiler à droite, lorsque
List.hScrollPolicy est défini sur "on".
List.multipleSelection Indique si la sélection multiple est autorisée dans la liste (true) ou non
(false).
List.rowCount
Nombre de lignes au moins partiellement visibles dans la liste.
List.rowHeight
Hauteur des pixels de chaque ligne de la liste.
List.selectable
Indique si la liste peut être sélectionnée (true) ou non (false).
List.selectedIndex
Index d’une sélection dans une liste à sélection unique.
List.selectedIndices
Tableau des éléments sélectionnés dans une liste à sélection multiple.
List.selectedItem
Elément sélectionné dans une liste à sélection unique. Cette propriété est
en lecture seule.
List.selectedItems
Objets sélectionnés dans une liste à sélection multiple. Cette propriété est
en lecture seule.
Composant List
311
Propriété
Description
List.vPosition
Fait défiler la liste pour que le premier élément visible soit le numéro
affecté.
List.vScrollPolicy
Indique si la barre de défilement verticale est affichée ("on"), pas affichée
("off") ou affichée si nécessaire ("auto").
Hérite de toutes les propriétés des classes UIObject et UIComponent.
Evénements de la classe List
Evénement
Description
List.change
Diffusé chaque fois que la sélection change suite à une interaction avec
l’utilisateur.
List.itemRollOut
Diffusé lorsque les éléments de la liste sont survolés par le pointeur et à la
sortie du survol.
List.itemRollOver
Diffusé lorsque les éléments de la liste sont survolés par le pointeur.
List.scroll
Diffusé lorsqu’une liste défile.
Hérite de tous les événements des classes UIObject et UIComponent.
List.addItem()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.addItem(label[, data])
OccurrenceListe.addItem(objetElément)
Paramètres
label
Chaîne indiquant l’étiquette du nouvel élément.
Données de l’élément. Ce paramètre est facultatif et peut correspondre à n’importe quel
type de données.
data
objetElément
Objet d’élément possédant généralement des propriétés label et data.
Renvoie
L’index auquel l’élément est ajouté.
Description
Méthode : ajoute un nouvel élément à la fin de la liste.
Dans le premier exemple d’utilisation, un objet est toujours créé avec la propriété label spécifiée
et de la propriété data, le cas échéant.
312
Chapitre 4 : Dictionnaire des composants
Le deuxième exemple d’utilisation ajoute l’objet spécifié.
L’appel de cette méthode modifie le fournisseur de données du composant List. Si le fournisseur
de données est partagé par d’autres composants, ceux-ci sont également mis à jour.
Exemple
Les deux lignes de code suivantes ajoutent un élément à l’occurrence maListe. Pour essayer ce
code, faites glisser une liste jusqu’à la scène et donnez-lui le nom d’occurrence maListe. Ajoutez le
code suivant à l’Image 1 du scénario :
maListe.addItem("ceci est un élément");
maListe.addItem({label:"Gabriel",age:"très âgé",data:123});
List.addItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.addItemAt(index, label [,data])
OccurrenceListe.addItemAt(index, objetElément)
Paramètres
label
Chaîne indiquant l’étiquette du nouvel élément.
Données de l’élément. Ce paramètre est facultatif et peut correspondre à n’importe quel
type de données.
data
index
Nombre supérieur ou égal à zéro qui indique la position de l’élément.
objetElément
Objet d’élément possédant généralement des propriétés label et data.
Renvoie
L’index auquel l’élément est ajouté.
Description
Méthode : ajoute un nouvel élément à la position spécifiée par le paramètre index.
Dans le premier exemple d’utilisation, un objet est toujours créé avec la propriété label spécifiée
et de la propriété data, le cas échéant.
Le deuxième exemple d’utilisation ajoute l’objet spécifié.
L’appel de cette méthode modifie le fournisseur de données du composant List. Si le fournisseur
de données est partagé par d’autres composants, ceux-ci sont également mis à jour.
Exemple
La ligne de code suivante ajoute un élément à la troisième position d’index, qui correspond au
quatrième élément dans la liste :
maListe.addItemAt(3,{label:'Red',data:0xFF0000});
Composant List
313
List.cellRenderer
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.cellRenderer
Description
Propriété : affecte l’objet cellRenderer à utiliser pour chaque ligne de la liste. Cette propriété doit
correspondre à une référence d’objet de classe ou à un identificateur de liaison de symbole. Toutes
les classes utilisées pour cette propriété doivent implémenter API CellRenderer, page 84.
Exemple
L’exemple suivant utilise un identificateur de liaison pour définir un nouvel objet cellRenderer :
maListe.cellRenderer = "ComboBoxCell";
List.change
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(change){
// votre code ici
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.change = function(objetEvt){
// votre code ici
}
OccurrenceListe.addEventListener("change", objetDécoute)
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsque l’index sélectionné dans la liste change
suite à l’interaction d’un utilisateur.
Le premier exemple d’utilisation utilise un gestionnaire on() et doit être directement lié à une
occurrence de composant List. Le mot-clé this, utilisé dans un gestionnaire on() lié à un
composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, lié à
l’occurrence de composant List monChamp, envoie « _level0.monChamp » au panneau Sortie :
314
Chapitre 4 : Dictionnaire des composants
on(click){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (occurrenceListe) distribue un événement (ici, change) qui est géré
par une fonction, également appelée un gestionnaire, associée à un objet d’écoute (objetDécoute)
que vous créez. Vous définissez une méthode portant le même nom que l’événement traité par
l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché. Lorsque l’événement
est déclenché, il transmet automatiquement un objet événement (objetEvt) à la méthode d’objet
d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant des informations
relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui traitera
l’événement. Pour plus d’informations sur les objets événement, consultez Objets événement,
page 592.
Pour finir, vous appelez la méthode addEventListener() sur l’occurrence de composant qui
diffuse l’événement pour enregistrer l’écouteur avec l’occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Exemple
L’exemple suivant envoie le nom de l’occurrence du composant ayant généré l’événement change
au panneau de sortie :
form.change = function(objEvt){
trace("Valeur passée à " + objEvt.target.value);
}
maListe.addEventListener("change", form);
Voir aussi
UIEventDispatcher.addEventListener()
List.dataProvider
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.dataProvider
Description
Propriété : modèle de données pour les éléments affichés dans une liste. La valeur de cette
propriété peut être un tableau ou n’importe quel objet implémentant l’interface DataProvider. La
valeur par défaut est []. Pour plus d’informations sur l’interface DataProvider, consultez API
DataProvider, page 196.
Le composant List et les autres composants de données ajoutent des méthodes au prototype de
l’objet Tableau pour être conformes à l’interface DataProvider. Tout tableau existant aussi en tant
que liste dispose donc automatiquement de toutes les méthodes (addItem(), getItemAt(), etc.)
nécessaires pour être le modèle de données de la liste et peut être utilisé pour diffuser les
changements de modèle à plusieurs composants.
Composant List
315
Si le tableau contient des objets, l’utilisateur accède aux propriétés List.labelField ou
List.labelFunction pour déterminer les parties de l’élément à afficher. La valeur par défaut est
"label", ce qui signifie que si un champ label existe, il est affiché. S’il n’existe pas, une liste de
tous les champs séparés par une virgule est affichée.
Remarque : Si le tableau contient des chaînes et aucun objet à tous les emplacements d’index, la
liste ne peut pas trier les éléments et conserver l’état de sélection. Le tri entraîne la perte de la
sélection.
Toute occurrence implémentant l’interface DataProvider peut agir comme un fournisseur de
données pour un composant List. Cela inclut Flash Remoting RecordSets, Firefly DataSets, etc.
Exemple
Cet exemple utilise un tableau de chaînes pour remplir la liste :
list.dataProvider = ["Expédition terrestre","Surlendemain, par
avion","Lendemain, par avion"];
Cet exemple crée un tableau fournisseur de données et lui affecte la propriété dataProvider,
comme suit :
monFD = new Array();
list.dataProvider = monFD;
for (var i=0; i<accounts.length; i++) {
// ces modifications apportées à DataProvider seront diffusées dans la liste
monFD.addItem({ label: accounts[i].name,
data: accounts[i].accountID });
}
List.getItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.getItemAt(index)
Paramètres
Nombre supérieur ou égal à 0 et inférieur à List.length. Index de l’élément à
récupérer.
index
Renvoie
Objet d’élément indexé. Undefined si l’index est en dehors des limites.
Description
Méthode : récupère l’élément à l’emplacement d’index spécifié.
Exemple
Le code suivant affiche l’étiquette à l’emplacement d’index 4 :
trace(maListe.getItemAt(4).label);
316
Chapitre 4 : Dictionnaire des composants
List.hPosition
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.hPosition
Description
Propriété : fait défiler la liste horizontalement en fonction du nombre de pixels spécifié. Il est
impossible de définir hPosition à moins que la valeur de hScrollPolicy soit réglée sur "on" et
que la valeur de maxHPosition soit supérieure à 0.
Exemple
L’exemple suivant détermine la position de défilement horizontal de maListe :
var posDéfil = maListe.hPosition;
L’exemple suivant définit la position de défilement horizontal sur tout le côté gauche :
maListe.hPosition = 0;
List.hScrollPolicy
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.hScrollPolicy
Description
Propriété : chaîne qui détermine si la barre de défilement horizontale est affichée ou non ; la
valeur peut être "on" ou "off". La valeur par défaut est "off". La barre de défilement
horizontale ne mesure pas le texte. Vous devez définir une position de défilement horizontale
maximale. Consultez List.maxHPosition.
Remarque : La valeur "auto" n’est pas prise en charge pour List.hScrollPolicy.
Exemple
Le code suivant permet à la liste de défiler horizontalement jusqu’à 200 pixels :
maListe.hScrollPolicy = "on";
maListe.Box.maxHPosition = 200;
Voir aussi
List.hPosition, List.maxHPosition
Composant List
317
List.iconField
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.iconField
Description
Propriété : spécifie le nom d’un champ à utiliser en tant qu’identificateur d’icône. Si la valeur du
champ n’est pas définie, l’icône par défaut spécifiée par le style defaultIcon est utilisée. Si le style
defaultIcon n’est pas défini, aucune icône n’est utilisée.
Exemple
L’exemple suivant définit la propriété iconField sur la propriété icon de chaque élément :
list.iconField = "icon"
Voir aussi
List.iconFunction
List.iconFunction
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.iconFunction
Description
Propriété : spécifie une fonction à utiliser pour déterminer quelle icône sera utilisée pour afficher
l’élément de chacune des lignes. Cette fonction reçoit un paramètre, item, qui correspond à
l’élément présenté et doit renvoyer une chaîne représentant l’identificateur de symbole de l’icône.
318
Chapitre 4 : Dictionnaire des composants
Exemple
L’exemple suivant ajoute des icônes qui indiquent si un fichier correspond à un document image
ou texte. Si le champ data.fileExtension contient une valeur "jpg" ou "gif", l’icône
utilisée sera "pictureIcon", etc. :
list.iconFunction = function(item){
var type = item.data.fileExtension;
if (type=="jpg" || type=="gif") {
return "pictureIcon";
} else if (type=="doc" || type=="txt") {
return "docIcon";
}
}
List.itemRollOut
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(itemRollOut){
// votre code ici
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.itemRollOut = function(ObjetEvt){
// votre code ici
}
OccurrenceListe.addEventListener("itemRollOut", objetDécoute)
Objet événement
Outre les propriétés standard de l’objet événement, l’événement itemRollOut possède une
propriété supplémentaire : index. L’index correspond au numéro de l’élément à la sortie du
survol.
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsque les éléments de la liste sont survolés.
Le premier exemple d’utilisation utilise un gestionnaire on() et doit être directement lié à une
occurrence de composant List. Le mot-clé this, utilisé dans un gestionnaire on() lié à un
composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, lié à
l’occurrence de composant List maListe, envoie « _level0.maListe » au panneau Sortie :
on(itemRollOut){
trace(this);
}
Composant List
319
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (occurrenceListe) distribue un événement (ici, itemRollOut) qui est
géré par une fonction, également appelée un gestionnaire, associée à un objet d’écoute
(objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour finir, vous appelez la méthode
UIEventDispatcher.addEventListener() sur l’occurrence de composant qui diffuse
l’événement pour enregistrer l’écouteur dans l’occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
L’exemple suivant envoie un message au panneau de sortie indiquant le numéro d’index survolé
par le pointeur :
form.itemRollOut = function (objEvt) {
trace("Item #" + objetEvt.index + " a été survolé.");
}
maListe.addEventListener("itemRollOut", form);
Voir aussi
List.itemRollOver
List.itemRollOver
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(itemRollOver){
// votre code ici
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.itemRollOver = function(objetEvt){
// votre code ici
}
OccurrenceListe.addEventListener("itemRollOver", objetDécoute)
Objet événement
Outre les propriétés standard de l’objet événement, l’événement itemRollOver possède une
propriété supplémentaire : index. L’index est le numéro de l’élément survolé par le pointeur.
320
Chapitre 4 : Dictionnaire des composants
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsque les éléments de la liste sont survolés.
Le premier exemple d’utilisation utilise un gestionnaire on() et doit être directement lié à une
occurrence de composant List. Le mot-clé this, utilisé dans un gestionnaire on() lié à un
composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, lié à
l’occurrence de composant List maListe, envoie « _level0.maListe » au panneau Sortie :
on(itemRollOver){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (occurrenceListe) distribue un événement (ici, itemRollOver) qui
est géré par une fonction, également appelée un gestionnaire, associée à un objet d’écoute
(objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour finir, vous appelez la méthode
UIEventDispatcher.addEventListener() sur l’occurrence de composant qui diffuse
l’événement pour enregistrer l’écouteur dans l’occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
L’exemple suivant envoie un message au panneau de sortie indiquant le numéro d’index survolé
par le pointeur :
form.itemRollOver = function (objEvt) {
trace("Item #" + objEvt.index + " survolé.");
}
maListe.addEventListener("itemRollOver", form);
Voir aussi
List.itemRollOut
List.labelField
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.labelField
Description
Propriété : spécifie, dans chaque élément, un champ à utiliser comme texte d’affichage. Cette
propriété prend la valeur du champ et l’utilise comme étiquette. La valeur par défaut est "label".
Composant List
321
Exemple
L’exemple suivant définit la propriété labelField sur le champ "nom" de chaque élément.
L’élément ajouté à la deuxième ligne de code aurait "Nina" comme étiquette :
list.labelField = "nom";
list.addItem({name: "Nina", age: 25});
Voir aussi
List.labelFunction
List.labelFunction
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.labelFunction
Description
Propriété : spécifie une fonction à utiliser pour décider du champ (ou de la combinaison de
champs) à afficher. Cette fonction reçoit un paramètre, item, qui correspond à l’élément présenté
et doit renvoyer une chaîne représentant le texte à afficher.
Exemple
L’exemple suivant affiche des détails formatés des éléments dans l’étiquette :
list.labelFunction = function(item){
return "Le prix du produit " + item.productID + ", " + item.productName + "
est $"
+ item.price;
}
Voir aussi
List.labelField
List.length
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.length
Description
Propriété (lecture seule) : nombre d’éléments dans la liste.
322
Chapitre 4 : Dictionnaire des composants
Exemple
L’exemple suivant place la valeur de length dans une variable :
var len = maListe.length;
List.maxHPosition
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.maxHPosition
Description
Propriété : spécifie le nombre de pixels que la liste peut afficher, lorsque List.hScrollPolicy est
défini sur "on". La liste ne mesure pas précisément la largeur du texte qu’elle contient. Vous devez
définir maxHPosition pour indiquer le volume de défilement requis. Si cette propriété n’est pas
définie, la liste ne défile pas horizontalement.
Exemple
L’exemple suivant crée une liste avec 400 pixels de défilement horizontal :
maListe.hScrollPolicy = "on";
maListe.maxHPosition = 400;
Voir aussi
List.hScrollPolicy
List.multipleSelection
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.multipleSelection
Description
Propriété : indique si les sélections multiples sont autorisées (true) ou si seules les sélections
uniques sont autorisées (false). La valeur par défaut est false.
Composant List
323
Exemple
L’exemple suivant effectue un test afin de déterminer si plusieurs éléments peuvent être
sélectionnés :
if (maListe.multipleSelection){
// votre code ici
}
L’exemple suivant permet les sélections multiples dans la liste :
maListe.selectMultiple = true;
List.removeAll()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.removeAll()
Paramètres
Aucun.
Renvoie
Rien.
Description
Méthode : supprime tous les éléments de la liste.
L’appel de cette méthode modifie le fournisseur de données du composant List. Si le fournisseur
de données est partagé par d’autres composants, ceux-ci sont également mis à jour.
Exemple
Le code suivant supprime tous les éléments de la liste :
maListe.removeAll();
List.removeItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceListe.removeItemAt(index)
324
Chapitre 4 : Dictionnaire des composants
Paramètres
index Chaîne qui indique l’étiquette utilisée pour le nouvel élément. Valeur supérieure à zéro et
inférieure à List.length.
Renvoie
Un objet : l’élément supprimé (undefined si aucun élément n’existe).
Description
Méthode : supprime un élément à l’emplacement d’index indiqué. Un index disparaît parmi les
index de la liste situés après l’index indiqué par le paramètre index.
L’appel de cette méthode modifie le fournisseur de données du composant List. Si le fournisseur
de données est partagé par d’autres composants, ceux-ci sont également mis à jour.
Exemple
Le code suivant supprime l’élément à l’emplacement d’index 3 :
maListe.removeItemAt(3);
List.replaceItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.replaceItemAt(index, label[, data])
OccurrenceListe.replaceItemAt(index, objetElément)
Paramètres
Nombre supérieur à zéro et inférieur à List.length indiquant la position à laquelle
insérer l’élément (index du nouvel élément).
index
label
data
Chaîne indiquant l’étiquette du nouvel élément.
Données de l’élément. Ce paramètre est facultatif est peut être de n’importe quel type.
objetElément.
label et data.
Objet à utiliser en tant qu’élément. Il possède généralement les propriétés
Renvoie
Rien.
Description
Méthode : remplace le contenu de l’élément à l’emplacement d’index spécifié par le paramètre
index.
L’appel de cette méthode modifie le fournisseur de données du composant List. Si le fournisseur
de données est partagé par d’autres composants, ceux-ci sont également mis à jour.
Composant List
325
Exemple
L’exemple suivant modifie la quatrième position d’index :
maListe.replaceItemAt(3, "nouvelle étiquette");
List.rowCount
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.rowCount
Description
Propriété : le nombre de lignes au moins partiellement visibles dans la liste. Ceci s’avère utile si
vous avez dimensionné une liste en pixels et devez compter ses lignes. Inversement, la définition
du nombre de lignes garanti qu’un nombre exact de lignes sera affiché, sans ligne partielle en bas.
Le code maListe.rowCount = num équivaut au code maListe.setSize(maListe.width, h)
(où h est la hauteur requise pour afficher les éléments num).
La valeur par défaut est fondée sur la hauteur de la liste, telle qu’elle est définie au cours de la
programmation, ou par la méthode list.setSize() (consultez UIObject.setSize()).
Exemple
L’exemple suivant montre le nombre d’éléments visibles dans une liste :
var rowCount = maListe.rowCount;
L’exemple suivant permet d’afficher quatre éléments dans la liste :
maListe.rowCount = 4;
Cet exemple supprime une ligne partielle en bas d’une liste, le cas échéant :
maListe.rowCount = maListe.rowCount;
Cet exemple définit une liste au plus petit nombre de lignes qu’elle peut afficher entièrement.
maListe.rowCount = 1;
trace("maListe contient "+maListe.rowCount+" lignes");
List.rowHeight
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.rowHeight
326
Chapitre 4 : Dictionnaire des composants
Description
Propriété : hauteur, en pixels, de chaque ligne dans la liste. Les paramètres de police n’agrandissent
pas les lignes pour qu’elles s’adaptent en conséquence. La définition de la propriété rowHeight est
donc la meilleure façon de s’assurer que les éléments sont affichés dans leur intégralité. La valeur
par défaut est 20.
Exemple
L’exemple suivant définit les lignes à 30 pixels :
maListe.rowHeight = 30;
List.scroll
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(scroll){
// votre code ici
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.scroll = function(ObjetEvt){
// votre code ici
}
OccurrenceListe.addEventListener("scroll", ObjetDécoute)
Objet événement
Outre les propriétés standard de l’objet événement, l’événement scroll possède une propriété
supplémentaire : direction. Il s’agit d’une chaîne ayant deux valeurs possibles : "horizontal"
ou "vertical". Pour un événement scroll ComboBox, la valeur est toujours "vertical".
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsqu’une liste défile.
Le premier exemple d’utilisation utilise un gestionnaire on() et doit être directement lié à une
occurrence de composant List. Le mot-clé this, utilisé dans un gestionnaire on() lié à un
composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, lié à
l’occurrence de composant List maListe, envoie « _level0.maListe » au panneau Sortie :
on(scroll){
trace(this);
}
Composant List
327
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (occurrenceListe) distribue un événement (ici, scroll) qui est géré
par une fonction, également appelée un gestionnaire, associée à un objet d’écoute (objetDécoute)
que vous créez. Vous définissez une méthode portant le même nom que l’événement traité par
l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché. Lorsque l’événement
est déclenché, il transmet automatiquement un objet événement (objetEvt) à la méthode d’objet
d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant des informations
relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui traitera
l’événement. Pour finir, vous appelez la méthode UIEventDispatcher.addEventListener() sur
l’occurrence de composant qui diffuse l’événement pour enregistrer l’écouteur dans l’occurrence.
Lorsque l’occurrence distribue l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
L’exemple suivant envoie le nom de l’occurrence du composant ayant généré l’événement change
au panneau de sortie :
form.scroll = function(objEvt){
trace("liste défilée");
}
maListe.addEventListener("scroll", form);
List.selectable
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.selectable
Description
Propriété : valeur booléenne indiquant si la liste est sélectionnable (true) ou non (false). La
valeur par défaut est true.
List.selectedIndex
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.selectedIndex
328
Chapitre 4 : Dictionnaire des composants
Description
Propriété : index sélectionné d’une liste à sélection unique. La valeur est undefined si rien n’est
sélectionné. Elle est égale au dernier élément sélectionné s’il y a plusieurs sélections. Si vous
affectez une valeur à selectedIndex, toute sélection courante est effacée et l’élément indiqué est
sélectionné.
Exemple
Cet exemple sélectionne l’élément après l’élément actuellement sélectionné. Si rien n’est
sélectionné, l’élément 0 est sélectionné, comme suit :
var selIndex = maListe.selectedIndex;
maListe.selectedIndex = (selIndex==undefined ? 0 : selIndex+1);
Voir aussi
List.selectedIndices, List.selectedItem, List.selectedItems
List.selectedIndices
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.selectedIndices
Description
Propriété : tableau des indices des éléments sélectionnés. L’affectation de cette propriété remplace
la sélection courante. La définition de selectedIndices à un tableau de longueur 0 (ou
undefined) efface la sélection courante. La valeur est undefined si rien n’est sélectionné.
La propriété selectedIndices est listée dans l’ordre de sélection des éléments. Si vous cliquez
successivement sur les deuxième, troisième et premier éléments, selectedIndices renvoie
[1,2,0].
Exemple
L’exemple suivant obtient les indices sélectionnés :
var selIndices = maListe.selectedIndices;
L’exemple suivant sélectionne quatre éléments :
var monTableau = new Array (1,4,5,7);
maListe.selectedIndices = monTableau ;
Voir aussi
List.selectedIndex, List.selectedItem, List.selectedItems
Composant List
329
List.selectedItem
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.selectedItem
Description
Propriété (lecture seule) : objet d’élément dans une liste à sélection unique. (Dans une liste à
sélection multiple où plusieurs éléments sont sélectionnés, selectedItem renvoie l’élément qui a
été sélectionné le plus récemment). S’il n’y a aucune sélection, la valeur est undefined.
Exemple
Cet exemple affiche l’étiquette sélectionnée :
trace(maListe.selectedItem.label);
Voir aussi
List.selectedIndex, List.selectedIndices, List.selectedItems
List.selectedItems
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.selectedItems
Description
Propriété (lecture seule) : tableau des objets d’élément sélectionnés. Dans une liste à sélection
multiple, selectedItems vous permet d’accéder au jeu d’éléments sélectionnés comme objets
d’éléments.
Exemple
L’exemple suivant obtient un tableau des objets d’éléments sélectionnés :
var monTabObj = maListe.selectedItems;
Voir aussi
List.selectedIndex, List.selectedItem, List.selectedIndices
330
Chapitre 4 : Dictionnaire des composants
List.setPropertiesAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.setPropertiesAt(index, styleObj)
Paramètres
Nombre supérieur à zéro ou inférieur à List.length indiquant l’index de l’élément à
modifier.
index
styleObj
Objet énumérant les propriétés et valeurs à définir.
Renvoie
Rien.
Description
Méthode : applique les propriétés spécifiées par le paramètre styleObj à l’élément spécifié par le
paramètre index. Les propriétés supportées sont icon et backgroundColor.
Exemple
L’exemple suivant change le quatrième élément en noir et lui attribue une icône :
maListe.setPropertiesAt(3, {backgroundColor:0x000000, icon: "file"});
List.sortItems()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.sortItems(compareFunc)
Paramètres
Référence à une fonction. Cette fonction est utilisée pour comparer deux
éléments afin de déterminer leur ordre de tri.
compareFunc
Pour plus d’informations, consultez Array.sort() dans le Dictionnaire ActionScript de l’aide.
Renvoie
L’index auquel l’élément est ajouté.
Description
Méthode : trie les éléments de la liste en fonction du paramètre compareFunc.
Composant List
331
Exemple
Les exemples suivants trient les éléments en fonction de leurs étiquettes en majuscules. Notez que
les paramètres a et b transmis à la fonction sont des éléments qui ont des propriétés label et
data :
maListe.sortItems(upperCaseFunc);
function upperCaseFunc(a,b){
return a.label.toUpperCase() > b.label.toUpperCase();
}
Voir aussi
List.sortItemsBy()
List.sortItemsBy()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.sortItemsBy(NomDeChamp, ordre)
Paramètres
NomDeChamp Chaîne spécifiant le nom de la propriété devant être utilisée pour le tri. Cette
valeur est généralement "label" ou "data".
ordre Chaîne spécifiant si le tri des éléments doit être effectué par ordre croissant ("ASC") ou
décroissant ("DESC").
Renvoie
Rien.
Description
Méthode : trie les éléments de la liste par ordre alphabétique ou numérique, dans l’ordre spécifié,
avec le nomDeChamp spécifié. Si les éléments nomDeChamp sont une combinaison de chaînes de
texte et d’entiers, ce sont les éléments entiers qui sont indiqués en premier. Le paramètre
nomDeChamp est généralement label ou data, mais vous pouvez spécifier n’importe quelle
primitive.
Exemple
Le code suivant trie les éléments de la liste menuDeNoms par ordre croissant en utilisant leurs
étiquettes.
menuDeNoms.sortItemsBy("label", "ASC");
Voir aussi
List.sortItems()
332
Chapitre 4 : Dictionnaire des composants
List.vPosition
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.vPosition
Description
Propriété : fait défiler la liste pour que index soit l’élément le plus visible. Si l’objet sort des
limites, se rend à l’index le plus proche dans les limites. La valeur par défaut est 0.
Exemple
L’exemple suivant définit la position de la liste au premier élément d’index :
maListe.vPosition = 0;
List.vScrollPolicy
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceListe.vScrollPolicy
Description
Propriété : chaîne déterminant si la liste supporte ou non le défilement vertical. Cette propriété
peut être l’une des valeurs suivantes : "on", "off" ou "auto". La valeur "auto" fait apparaître
une barre de défilement lorsque cela est nécessaire.
Exemple
L’exemple suivant désactive la barre de défilement :
maListe.vScrollPolicy = "off";
Vous pouvez toujours créer un défilement en utilisant List.vPosition.
Voir aussi
List.vPosition
Composant List
333
Composant Loader
Le composant Loader est un conteneur pouvant afficher un fichier SWF ou JPEG. Vous pouvez
redimensionner le contenu du chargeur, ou redimensionner le chargeur lui-même pour l’adapter à
la taille du contenu. Par défaut, le contenu est dimensionné pour s’ajuster au chargeur. Vous
pouvez également charger du contenu à l’exécution et contrôler la progression du chargement.
Un composant Loader ne peut recevoir le focus. Cependant, le contenu chargé dans le composant
Loader peut accepter le focus et avoir ses propres interactions de focus. Pour plus d’informations
sur le contrôle du focus, consultez Création de la navigation personnalisée du focus, page 27 ou
Classe FocusManager, page 287.
Un aperçu en direct de chaque occurrence de Loader reflète les modifications effectuées sur les
paramètres dans l’inspecteur des propriétés ou le panneau de l’Inspecteur de composants lors de la
programmation.
Le contenu chargé dans un composant Loader peut être activé pour l’accessibilité. Si tel est le cas,
vous pouvez utiliser le panneau Accessibilité pour le rendre accessible aux lecteurs d’écrans. Pour
plus d’informations, consultez « Création de contenu accessible », dans le guide Utilisation de
Flash de l’aide.
Utilisation du composant Loader
Vous pouvez utiliser un chargeur chaque fois que vous devez récupérer du contenu depuis un
emplacement distant et le placer dans une application Flash. Par exemple, vous pouvez utiliser un
chargeur pour ajouter un logo d’entreprise (fichier JPEG) dans un formulaire. Vous pouvez
également utiliser un chargeur pour exploiter un travail Flash qui a déjà été terminé. Par exemple,
si vous avez déjà construit une application Flash et que vous souhaitez l’étendre, vous pouvez
utiliser le chargeur pour placer l’ancienne application dans une nouvelle application,
éventuellement comme section d’une interface d’onglets. Dans un autre exemple, vous pouvez
utiliser le composant loader dans une application qui affiche des photos. Utilisez Loader.load(),
Loader.percentLoaded et Loader.complete pour contrôler la synchronisation des chargements
d’images et afficher des barres de progression pour l’utilisateur lors du chargement.
Paramètres du composant Loader
Les paramètres suivants sont des paramètres de programmation que vous définissez pour chaque
occurrence de composant Loader dans l’inspecteur des propriétés ou le panneau Inspecteur des
composants :
autoload indique si le contenu doit être chargé automatiquement (true) ou s’il faut attendre
jusqu’à ce que la méthode Loader.load() soit appelée (false). La valeur par défaut est true.
contentPath URL absolue ou relative indiquant le fichier à charger dans le chargeur. Un chemin
relatif doit être relatif au fichier SWF chargeant le contenu. L’URL doit se trouver dans le même
sous-domaine que l’URL où se trouve le contenu Flash. Pour une utilisation dans Flash Player ou
pour un test en mode test d’animation, tous les fichiers SWF doivent être stockés dans un même
dossier et les noms de fichiers ne doivent pas inclure de spécifications de dossier ni de disque. La
valeur par défaut est undefined jusqu’à ce que le chargement commence.
indique si le contenu est redimensionné pour s’ajuster au Loader (true) ou si le
Loader est redimensionné pour s’ajuster au contenu (false). La valeur par défaut est true.
scaleContent
334
Chapitre 4 : Dictionnaire des composants
ActionScript vous permet de définir des options supplémentaires pour les occurrences de Loader
en utilisant ses méthodes, propriétés et événements. Pour plus d’informations, consultez Classe
Loader.
Création d’une application avec le composant Loader
La procédure suivante explique comment ajouter un composant Loader à une application en
cours de programmation. Dans cet exemple, le chargeur charge un logo au format JPEG depuis
une URL imaginaire.
Pour créer une application avec le composant Loader, effectuez les opérations suivantes :
1 Faites glisser un composant Loader du panneau Composants jusqu’à la scène.
2 Sélectionnez le chargeur sur la scène et utilisez l’outil Transformation libre pour le
dimensionner en fonction de la taille du logo d’entreprise.
3 Dans l’inspecteur des propriétés, entrez logo comme nom d’occurrence.
4 Sélectionnez l’occurrence Logo sur la scène et dans le panneau Inspecteur de composants et
entrez http://corp.com/websites/logo/corplogo.jpg pour le paramètre contentPath.
Personnalisation du composant Loader
Vous pouvez orienter un composant Loader de façon horizontale et verticale en cours de
programmation et à l’exécution. Lors de la programmation, choisissez le composant sur la scène et
utilisez l’outil Transformer librement ou une commande de modification > transformation. A
l’exécution, utilisez la méthode setSize() (consultez UIObject.setSize()).
Le comportement de dimensionnement du composant Loader est contrôlé par la propriété
Lorsque scaleContent = true, le contenu est dimensionné afin de rester dans
les limites du chargeur (et est redimensionné lorsque UIObject.setSize() est appelée). Lorsque
la propriété est scaleContent = false, la taille du composant est fixée par rapport à celle du
contenu et la méthode UIObject.setSize() n’a aucun effet.
scaleContent.
Utilisation de styles avec le composant Loader
Le composant Loader n’utilise pas de styles.
Utilisation d’enveloppes avec le composant Loader
Le composant Loader utilise RectBorder qui utilise l’API de dessin d’ActionScript. La méthode
(consultez UIObject.setStyle()) vous permet de modifier les propriétés suivantes
du style RectBorder :
setStyle()
Styles RectBorder
Lettre
borderColor
a
highlightColor
b
borderColor
c
shadowColor
d
borderCapColor
e
shadowCapColor
f
Composant Loader
335
Styles RectBorder
Lettre
shadowCapColor
g
borderCapColor
h
Les propriétés de style définissent les positions suivantes sur la bordure :
Classe Loader
Héritage
UIObject > UIComponent > View > Loader
Nom de classe ActionScript
mx.controls.Loader
Les propriétés de la classe Loader vous permettent de définir le contenu de sorte qu’il se charge et
contrôle sa propre progression de chargement à l’exécution.
La définition d’une propriété de la classe Loader avec ActionScript annule le paramètre du même
nom défini dans l’inspecteur des propriétés ou le panneau Inspecteur des composants.
Pour plus d’informations, consultez Création de la navigation personnalisée du focus, page 27.
Toutes les classes de composants ont une propriété version qui correspond à une propriété de
classe. Les propriétés de classe sont uniquement disponibles sur la classe elle-même. La propriété
version renvoie une chaîne qui indique la version du composant. Pour accéder à la propriété
version, utilisez le code suivant :
trace(mx.controls.Loader.version);
Remarque : Le code suivant renvoie la valeur undefined :
trace(monOccurrencedeLoader.version);.
Méthodes de la classe Loader
Méthode
Description
Loader.load()
Charge le contenu spécifié par la propriété contentPath.
Hérite de toutes les méthodes des classes UIObject et UIComponent.
Propriétés de la classe Loader
336
Propriété
Description
Loader.autoLoad
Valeur booléenne indiquant si le contenu se charge automatiquement
(true) ou si vous devez appeler Loader.load() (false).
Loader.bytesLoaded
Propriété en lecture seule indiquant le nombre d’octets ayant été chargés.
Loader.bytesTotal
Propriété en lecture seule indiquant le nombres d’octets du contenu.
Chapitre 4 : Dictionnaire des composants
Propriété
Description
Loader.content
Référence au contenu spécifié par la propriété Loader.contentPath. Cette
propriété est en lecture seule.
Loader.contentPath
Chaîne indiquant l’URL du contenu devant être chargé.
Loader.percentLoaded
Nombre indiquant le pourcentage de contenu chargé. Cette propriété est
en lecture seule.
Loader.scaleContent
Valeur booléenne indiquant si le contenu est dimensionné pour s’ajuster
au Loader (true) ou si le Loader est dimensionné pour s’ajuster au
contenu (false).
Hérite de toutes les propriétés des classes UIObject et UIComponent.
Evénements de la classe Loader
Evénement
Description
Loader.complete
Déclenché à la fin du chargement du contenu.
Loader.progress
Déclenché pendant le chargement du contenu.
Hérite de toutes les propriétés des classes UIObject et UIComponent.
Loader.autoLoad
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeLoader.autoLoad
Description
Propriété : valeur booléenne indiquant s’il faut charger le contenu automatiquement (true), ou
attendre jusqu’à ce que Loader.load() soit appelée (false). La valeur par défaut est true.
Exemple
Le code suivant configure le composant loader pour qu’il attende un appel Loader.load() :
loader.autoload = false;
Composant Loader
337
Loader.bytesLoaded
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeLoader.bytesLoaded
Description
Propriété (lecture seule) : nombre d’octets de contenu ayant été chargés. La valeur par défaut est 0
jusqu’à ce que le chargement commence.
Exemple
Le code suivant crée une barre de progression et un composant Loader. Il crée ensuite un objet
d’écoute avec un gestionnaire d’événement progress qui affiche la progression du chargement.
L’écouteur est enregistré avec l’occurrence loader de la manière suivante :
createClassObject(mx.controls.ProgressBar, "pBar", 0);
createClassObject(mx.controls.Loader, "loader", 1);
loadListener = new Object();
loadListener.progress = function(objEvt){
// objEvt.target est le composant ayant généré l’événement change,
// c’est-à-dire, le Loader.
pBar.setProgress(loader.bytesLoaded, loader.bytesTotal); // afficher la
progression
}
loader.addEventListener("progress", loadListener);
loader.content = "logo.swf";
Lorsque vous créez une occurrence avec la méthode createClassObject(), vous devez la placer
sur la scène à l’aide des méthodes move() et setSize(). Consultez UIObject.move() et
UIObject.setSize().
Voir aussi
Loader.bytesTotal, UIObject.createClassObject()
Loader.bytesTotal
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeLoader.bytesTotal
338
Chapitre 4 : Dictionnaire des composants
Description
Propriété (lecture seule) : taille du contenu en octets. La valeur par défaut est 0 jusqu’à ce que le
chargement commence.
Exemple
Le code suivant crée une barre de progression et un composant Loader. Il crée ensuite un objet
d’écoute de chargement avec un gestionnaire d’événement progress qui affiche la progression du
chargement. L’écouteur est enregistré avec l’occurrence loader de la manière suivante :
createClassObject(mx.controls.ProgressBar, "pBar", 0);
createClassObject(mx.controls.Loader, "loader", 1);
loadListener = new Object();
loadListener.progress = function(objEvt){
// objEvt.target est le composant ayant généré l’événement change,
// c’est-à-dire, le Loader.
pBar.setProgress(loader.bytesLoaded, loader.bytesTotal); // afficher la
progression
}
loader.addEventListener("progress", loadListener);
loader.content = "logo.swf";
Voir aussi
Loader.bytesLoaded
Loader.complete
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(complete){
...
}
Usage 2 :
objetDécoute = new Object();
ObjetDécoute.complete = function(objetEvt){
...
}
occurrenceDeLoader.addEventListener("complete", ObjetDécoute)
Description
Evénement : diffusé à tous les écouteurs enregistrés une fois le contenu chargé.
Le premier exemple d’utilisation utilise un gestionnaire on() et doit être directement associé à
une occurrence de composant Loader. Le mot-clé this, utilisé dans un gestionnaire on() lié à un
composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, associé à
l’occurrence de composant Loader monComposantLoader, envoie
« _level0.monComposantLoader » au panneau de sortie.
Composant Loader
339
on(complete){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (occurrenceLoader) distribue un événement (ici, complete) qui est
géré par une fonction, également appelée un gestionnaire, associée à un objet d’écoute
(objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour finir, vous appelez la méthode
UIEventDispatcher.addEventListener() sur l’occurrence de composant qui diffuse
l’événement pour enregistrer l’écouteur dans l’occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
L’exemple suivant crée un composant Loader, puis définit un objet d’écoute avec un gestionnaire
d’événement complete qui définit la propriété visible du chargeur sur true :
createClassObject(mx.controls.Loader, "loader", 0);
loadListener = new Object();
loadListener.complete = function(objEvt){
loader.visible = true;
}
loader.addEventListener("complete", loadListener);S
loader.contentPath = "logo.swf";
Loader.content
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeLoader.content
Description
Propriété (lecture seule) : référence au contenu du chargeur. La valeur est undefined jusqu’à ce que
le chargement commence.
Voir aussi
Loader.contentPath
340
Chapitre 4 : Dictionnaire des composants
Loader.contentPath
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeLoader.contentPath
Description
Propriété : chaîne indiquant l’URL absolue ou relative du fichier à charger dans le chargeur. Un
chemin relatif doit être relatif au fichier SWF chargeant le contenu. L’URL doit se trouver dans le
même sous-domaine que l’URL du fichier SWF en chargement.
Pour une utilisation dans Flash Player ou pour un test en mode test d’animation dans Flash, tous
les fichiers SWF doivent être stockés dans le même dossier et les noms de fichiers ne doivent pas
inclure d’informations de dossier ni de disque.
Exemple
L’exemple suivant demande à l’occurrence de chargeur d’afficher le contenu du fichier logo.swf :
loader.contentPath = "logo.swf";
Loader.load()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeLoader.load(path)
Paramètres
Paramètre facultatif spécifiant la valeur de la propriété contentPath avant le début du
chargement. Si aucune valeur n’est spécifiée, la valeur courante de contentPath est utilisée telle
quelle.
path
Renvoie
Rien.
Description
Méthode : dit au chargeur de commencer le chargement de son contenu.
Composant Loader
341
Exemple
Le code suivant crée une occurrence de Loader et définit la propriété autoload sur false de sorte
que le chargeur doit attendre un appel de la méthode load() pour commencer le chargement du
contenu. Il appelle ensuite load() et indique le contenu à charger :
createClassObject(mx.controls.Loader, "loader", 0);
loader.autoload = false;
loader.load("logo.swf");
Loader.percentLoaded
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceDeLoader.percentLoaded
Description
Propriété (lecture seule) : nombre indiquant le pourcentage de contenu ayant été chargé. Cette
propriété est généralement utilisée pour présenter la progression du chargement à l’utilisateur de
façon plus claire. Utilisez le code suivant pour arrondir le chiffre à l’entier le plus proche :
Math.round(bytesLoaded/bytesTotal*100))
Exemple
L’exemple suivant crée une occurrence de Loader, puis un objet d’écoute avec un gestionnaire de
progression qui recherche le pourcentage chargé et l’envoie au panneau de sortie :
createClassObject(Loader, "loader", 0);
loadListener = new Object();
loadListener.progress = function(objEvt){
// objEvt.target est le composant ayant généré l’événement change,
// c’est-à-dire, le Loader.
trace("logo.swf est chargé à" + loader.percentLoaded + " %."); // progression
du chargement
}
loader.addEventListener("complete", loadListener);
loader.content = "logo.swf";
342
Chapitre 4 : Dictionnaire des composants
Loader.progress
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(progress){
...
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.progress = function(objetEvt){
...
}
OccurrenceDeLoader.addEventListener("progress", objetDécoute)
Description
Evénement : diffusé à l’ensemble des écouteurs enregistrés pendant le chargement du contenu.
Cet événement est déclenché lorsque le chargement est effectué grâce au paramètre autoload ou
par un appel à Loader.load(). L’événement progress n’est pas toujours diffusé. L’événement
complete peut être diffusé sans qu’aucun événement progress ne soit distribué. Ceci peut
particulièrement se produire si le contenu chargé est un fichier local.
Le premier exemple d’utilisation utilise un gestionnaire on() et doit être directement associé à
une occurrence de composant Loader. Le mot-clé this, utilisé dans un gestionnaire on() lié à un
composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, associé à
l’occurrence de composant Loader monComposantLoader, envoie
« _level0.monComposantLoader » au panneau de sortie.
on(progress){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (occurrenceLoader) distribue un événement (ici, progress) qui est
géré par une fonction, également appelée un gestionnaire, associée à un objet d’écoute
(objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour finir, vous appelez la méthode
UIEventDispatcher.addEventListener() sur l’occurrence de composant qui diffuse
l’événement pour enregistrer l’écouteur dans l’occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Composant Loader
343
Exemple
Le code suivant crée une occurrence de Loader, puis un objet d’écoute avec un gestionnaire
d’événement pour l’événement progress. Celui-ci envoie un message au panneau de sortie
concernant le pourcentage du contenu qui a été chargé :
createClassObject(mx.controls.Loader, "loader", 0);
loadListener = new Object();
loadListener.progress = function(objEvt){
// objEvt.target est le composant ayant généré l’événement change,
// c’est-à-dire, le Loader.
trace("logo.swf est chargé à" + loader.percentLoaded + " %."); // progression
du chargement
}
loader.addEventListener("progress", loadListener);
loader.contentPath = "logo.swf";
Loader.scaleContent
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeLoader.scaleContent
Description
Propriété : indique si la taille du contenu s’ajuste pour correspondre au Loader (true), ou si le
Loader s’ajuste pour correspondre au contenu (false). La valeur par défaut est true.
Exemple
Le code suivant demande au Loader de modifier sa taille en fonction de la taille de son contenu :
loader.strechContent = false;
Composants de support (Flash Professionnel uniquement)
Les composants de support en flux continu facilitent l’incorporation de supports en flux continu
dans les diaporamas Flash. Ces composants vous permettent de présenter vos supports de
différentes manières.
Vous pouvez utiliser les trois composants de support suivants :
• Le composant MediaDisplay permet de diffuser un support en flux continu dans votre contenu
Flash sans avoir recours à une interface utilisateur. Ce composant peut être utilisé avec des
données vidéo et audio. L’utilisateur de votre application ne peut pas contrôler le support
lorsque le composant MediaDisplay est utilisé seul.
344
Chapitre 4 : Dictionnaire des composants
• Le composant MediaController complète le composant MediaDisplay en fournissant une
•
interface utilisateur qui contrôle la lecture du support à l’aide des contrôles standard (lecture,
pause etc.). Les supports ne sont jamais chargés dans le composant MediaController ou lus par
ce dernier. Il est uniquement utilisé pour contrôler la lecture dans une occurrence de
MediaPlayback ou MediaDisplay. Le composant MediaController comporte un « tiroir » qui
affiche le contenu des contrôles de lecture lorsque la souris est positionnée sur le composant.
Le composant MediaPlayback est une combinaison des composants MediaDisplay et
MediaController. Il fournit des méthodes permettant de lire en continu votre contenu
multimédia.
N’oubliez pas les points suivants concernant les composants de support :
• Les composants de support requièrent Flash Player 7 ou version ultérieure.
• La fonctionnalité de défilement vers l’avant et l’arrière n’est pas prise en charge par les
•
•
composants de support. Vous pouvez néanmoins arriver au même résultat en déplaçant le
curseur de lecture.
Seules la taille du composant et la politique du contrôleur sont reflétées dans l’aperçu en direct.
Les composants de support ne prennent pas en charge pas l’accessibilité.
Interaction avec les composants de support (Flash Professionnel uniquement
Les composants en flux continu MediaPlayback et MediaController répondent aux interactions
avec le clavier et la souris. Le composant MediaDisplay ne répond pas aux événements de clavier
ou de souris. Le tableau suivant résume les actions des composants MediaPlayback et
MediaController lorsqu’ils reçoivent le focus :
Cible
Navigation
Description
Contrôles de lecture Survol de la souris
d’un contrôleur
donné
Le bouton est mis en évidence.
Contrôles de lecture Clic unique sur le
bouton gauche de
d’un contrôleur
la souris
donné
Les utilisateurs peuvent contrôler la lecture de support
audio et vidéo par le biais des contrôles de lecture d’un
contrôleur donné en cliquant sur les contrôles de lecture
pour déclencher les effets correspondants.
Les boutons Pause/Lire et Rembobiner/Atteindre la fin
suivent les comportements standard des boutons.
Lorsque l’utilisateur appuie sur le bouton de la souris, le
bouton à l’écran apparaît dans son état Enfoncé.
Lorsque l’utilisateur relâche le bouton de la souris, le
bouton reprend son apparence non sélectionnée.
Le bouton Atteindre la fin est désactivé lors de la lecture
des fichiers de support FLV.
Composants de support (Flash Professionnel uniquement)
345
Cible
Navigation
Description
Contrôles de
curseur d’un
contrôleur donné
Déplacez le curseur Le curseur de lecture indique la position de l’utilisateur
vers l’avant et vers dans le contenu multimédia. La poignée d’affichage se
déplace horizontalement (par défaut) pour indiquer la
l’arrière
lecture du début (à gauche) jusqu’à la fin (à droite). Le
curseur de lecture se déplace de bas en haut lorsque les
contrôles sont orientés à la verticale. Au fur et à mesure
que la poignée de l’indicateur se déplace de la gauche
vers la droite, elle met en évidence l’espace d’affichage
précédent pour indiquer que ce contenu a été lu ou
sélectionné. L’espace d’affichage devant la poignée de
l’indicateur n’est pas mis en évidence jusqu’au passage
de l’indicateur. Les utilisateurs peuvent faire glisser la
poignée de l’indicateur pour modifier la position de
lecture du contenu multimédia. Si le support est en cours
de lecture, la lecture commence automatiquement à
l’endroit où l’utilisateur relâche le bouton de la souris. Si
le support est en pause, le curseur peut être déplacé puis
relâché et le support reste en pause.
Vous pouvez également utiliser un curseur de volume,
qui peut être déplacé de gauche (muet) à droite (volume
maximum) dans les dispositions horizontale et verticale.
Navigation du
Tab, Maj+Tab
contrôleur de lecture
Déplace le focus de bouton en bouton dans le
composant contrôleur, où l’élément ayant le focus est
mis en évidence. Cette navigation fonctionne avec les
contrôles Pause/Lire, Rembobiner, Atteindre la fin, et les
contrôles de volume désactivé et de volume max. Le
focus se déplace de gauche à droite et de haut en bas
lorsque les utilisateurs passent d’un élément à l’autre.
L’utilisation de Maj+Tab déplace le focus de droite à
gauche et de bas en haut. Lorsqu’il reçoit le focus via la
touche Tab, le contrôle transmet immédiatement le
focus au bouton Lire/Pause. Lorsque le focus est sur le
bouton de volume maximum puis que la touche Tab est
enfoncée, le contrôle donne le focus au contrôle suivant
dans l’ordre des tabulations sur la scène.
Bouton de contrôle
donné
Sélectionne l’élément ayant le focus. Lorsqu’il est
enfoncé, le bouton apparaît dans son état Enfoncé.
Lorsqu’il est relâché, le bouton reprend son état Survolé
avec focus.
Espace ou Entrée/
Retour
Présentation des composants de support (Flash Professionnel uniquement)
Avant de commencer à utiliser des composants de support, il est conseillé de se familiariser avec
leur mode de fonctionnement. Cette section fournit un aperçu du mode de fonctionnement des
composants de support. La plupart des propriétés répertoriées dans cette section peuvent être
directement définies à l’aide du panneau Inspecteur de composants. Pour plus d’informations,
consultez Utilisation du panneau Inspecteur de composants avec les composants de support, page 352.
346
Chapitre 4 : Dictionnaire des composants
Les propriétés suivantes peuvent être définies pour les composants MediaDisplay et
MediaPlayback, à l’exception des propriétés de disposition, qui sont présentées plus loin dans
cette section :
• Le type de support, qui peut être défini sur MP3 ou FLV (consultez Media.mediaType et
Media.setMedia()).
• Le chemin relatif ou absolu, qui contient le fichier de support à lire en continu (consultez
Media.contentPath).
• Les objets point de repère, ainsi que leur nom, heure et propriétés de lecteur (consultez
et Media.cuePoints). Le nom du point de repère est aléatoire et doit
être défini de manière à avoir un sens lors de l’utilisation d’événements d’écoute et de trace. Un
point de repère diffuse un événement cuePoint lorsque la valeur de sa propriété time est égale
à celle de l’emplacement de la tête de lecture du composant MediaPlayback ou MediaDisplay
auquel il est associé. La propriété player est une référence à l’occurrence de MediaPlayback à
laquelle elle est associée. Les points de repère peuvent ensuite être supprimés par le biais de
Media.removeCuePoint() et Media.removeAllCuePoints().
Media.addCuePoint()
Les composants de support en flux continu diffusent plusieurs événements associés. Les
événements de diffusion suivants peuvent être utilisés pour définir d’autres éléments en
mouvement :
• Un événement change est diffusé en continu par les composants MediaDisplay et
MediaPlayback pendant la lecture du support. Pour plus d’informations, consultez
Media.change.
• Un événement progress est diffusé en continu par les composants MediaDisplay et
•
•
•
MediaPlayback pendant le chargement du support. Pour plus d’informations, consultez
Media.progress.
Un événement click est diffusé par les composants MediaController et MediaPlayback
chaque fois qu’un utilisateur clique sur le bouton Pause/Lire. Dans ce cas, la propriété detail
de l’objet événement fournit des informations sur le bouton qui a été cliqué. Pour plus
d’informations, consultez Media.click.
Un événement volume est diffusé par les composants MediaController et MediaPlayback
lorsque les contrôles de volume sont réglés par l’utilisateur. Pour plus d’informations, consultez
Media.volume.
Un événement playheadChange est diffusé par les composants MediaController et
MediaPlayback lorsque le curseur de lecture est déplacé par l’utilisateur. Pour plus
d’informations, consultez Media.playheadChange.
Le composant MediaDisplay fonctionne en parallèle avec le composant MediaController.
Lorsqu’ils sont combinés, les composants se comportent d’une manière similaire à celle du
composant MediaPlayback. Ils permettent néanmoins une plus grande flexibilité par rapport à la
disposition. Ainsi, si vous recherchez un aspect flexible pour la présentation de votre support,
utilisez les composants MediaDisplay et MediaController. Sinon, le composant MediaPlayback
est le meilleur choix.
Composants de support (Flash Professionnel uniquement)
347
Présentation du composant MediaDisplay
Lorsque vous placez un composant MediaDisplay sur la scène, il apparaît sans interface utilisateur
visible. Il s’agit simplement d’un conteneur destiné à contenir et lire des supports. L’apparence de
tout support vidéo lu dans un composant MediaDisplay est affectée par les propriétés suivantes :
• Media.aspectRatio
• Media.autoSize
• Hauteur
• Largeur
Remarque : L’utilisateur ne pourra rien voir, excepté si un support est en cours de lecture.
La propriété Media.aspectRatio est prioritaire par rapport aux autres propriétés. Lorsque
Media.aspectRatio est défini sur true (par défaut), le composant réajuste systématiquement la
taille du support en cours de lecture une fois que la taille du composant a été définie, pour
s’assurer que les proportions du support sont conservées.
Pour les fichiers FLV, lorsque Media.autoSize est défini sur true, le support à lire est affiché à sa
taille préférée, sans tenir compte de la taille du composant. Ceci implique que, à moins que la
taille de l’occurrence MediaDisplay ne soit la même que celle du support, le support dépassera les
limites de l’occurrence ou ne remplira pas la taille de l’occurrence. Lorsque Media.autoSize est
défini sur false, la taille de l’occurrence est respectée autant que possible, tout en tenant compte
des proportions. Si Media.autoSize et Media.aspectRatio sont tous deux définis sur false, la
taille exacte du composant est utilisée.
Remarque : Etant donné qu’aucune image n’est affichée pour les fichiers MP3, il est inutile de définir
Media.autoSize, car cela n’aura aucun effet. Pour les fichiers MP3, la taille minimum utilisable est de
60 pixels de hauteur sur 256 pixels de largeur dans l’orientation par défaut.
Le composant MediaDisplay prend également en charge la propriété Media.volume. Cette
propriété prend des valeurs entières de 0 à 100, 0 correspondant à muet et 100 correspondant au
volume maximum. Le paramètre par défaut est 75.
Présentation du composant MediaController
L’interface pour le composant MediaController dépend de ses propriétés
Media.controllerPolicy et Media.backgroundStyle. La propriété
Media.controllerPolicy détermine si le jeu de contrôles du support est toujours visible, réduit
ou uniquement visible lorsque la souris passe sur la zone de contrôle du composant. Lorsqu’il est
réduit, le contrôleur affiche une barre de progression modifiée, qui est une combinaison de la
barre de chargement et de la barre de lecture. Elle affiche la progression des octets chargés en bas
de la barre, et la progression de la tête de lecture est affichée juste au dessus. L’état développé
affiche une version étendue de la barre de lecture/chargement, qui contient les éléments suivants :
• Des étiquettes de texte sur la gauche indiquant l’état de la lecture (en flux continu ou en
pause), et sur la droite l’emplacement de la tête de lecture en secondes.
• Un indicateur d’emplacement de la tête de lecture.
• Un curseur que les utilisateurs peuvent faire glisser pour naviguer dans le support.
Les éléments suivants sont également fournis avec le composant MediaController :
• Un bouton d’état Lire/Pause.
348
Chapitre 4 : Dictionnaire des composants
• Un groupe de deux boutons : Rembobiner et Atteindre la fin, qui naviguent respectivement
•
vers le début et vers la fin du support.
Un contrôle de volume qui comprend un curseur, un bouton muet et un bouton volume
maximum.
Les états réduit et développé du composant MediaController utilisent tous deux la propriété
Cette propriété indique si le contrôleur dessine un arrière-plan
chromé (par défaut) ou s’il autorise l’affichage de l’arrière-plan de l’animation depuis les contrôles.
Media.backgroundStyle.
Le composant MediaController possède un paramètre d’orientation, Media.horizontal, qui
peut être utilisé pour dessiner le composant avec une orientation horizontale (par défaut) ou
verticale. Dans une orientation horizontale, la barre de lecture suit le support en cours de lecture
de la gauche vers la droite. Dans une orientation verticale, la barre de lecture suit le support de bas
en haut.
Les composants MediaDisplay et MediaController peuvent être associés l’un à l’autre via les
méthodes Media.associateDisplay() et Media.associateController(). Lorsqu’elles sont
appelées, ces méthodes permettent à l’occurrence MediaController de mettre à jour ses contrôles
en fonction des événements diffusés depuis l’occurrence MediaDisplay. Elles permettent
également au composant MediaDisplay de réagir aux paramètres définis par l’utilisateur depuis le
composant MediaController.
Présentation du composant MediaPlayback
Le composant MediaPlayback est une combinaison des contrôles de MediaController et de
MediaDisplay. Les deux sous-composants sont contenus dans MediaPlayback. Les portions de
MediaController et de MediaDisplay sont toujours redimensionnées pour correspondre à la taille
de l’occurrence générale du composant MediaPlayback.
Le composant MediaPlayback utilise Media.controlPlacement pour définir la disposition des
contrôles. Les emplacements de contrôle pouvant être utilisés sont haut, bas, gauche et droite,
indiquant l’endroit où les contrôles seront affichés par rapport à l’affichage. Par exemple, la valeur
droite donne une orientation verticale au contrôle et le positionne sur la droite de l’affichage.
Utilisation des composants de support (Flash Professionnel uniquement)
L’utilisation croissante de supports pour fournir des informations aux utilisateurs Web implique
de fournir à ces mêmes utilisateurs un moyen de lire ces supports en flux continu et de les
contrôler. Les exemples suivants sont des scénarios d’utilisation pour les composants de support :
•
•
•
•
Affichage d’un support présentant une société
Lecture en flux continu d’animations ou d’aperçus d’animations
Lecture en continu de chansons ou de fragments de chansons
Fourniture de matériel de formation par le biais de supports
Utilisation du composant MediaPlayback
Admettons que vous devez développer un site Web pour vos clients qui permet aux utilisateurs du
site de prévisualiser des DVD et CD que vous vendez dans un environnement de supports
enrichis. L’exemple ci-dessous montre les étapes à suivre pour y parvenir et part du principe que
votre site Web est prêt à recevoir des composants en flux continu.
Composants de support (Flash Professionnel uniquement)
349
Pour créer un document Flash qui affiche un aperçu de CD ou de DVD :
1 Dans Flash, choisissez Fichier > Nouveau, puis sélectionnez Document Flash.
2 Ouvrez le panneau Composants (Fenêtre > Panneaux de développement > Composants) et
double-cliquez sur le composant MediaPlayback, pour placer une occurrence du composant sur
la scène.
3 Sélectionnez l’occurrence du composant MediaPlayback et entrez le nom d’occurrence
monSupport dans l’inspecteur des propriétés.
4 Dans le panneau Inspecteur de composants (Fenêtre > Panneaux de développement >
Inspecteur de composants), définissez votre type de support en fonction du type de support qui
sera lu en flux continu (MP3 ou FLV).
5 Si vous avez sélectionné FLV, entrez la durée de la vidéo dans les champs de texte Video Length.
Utilisez le format HH:MM:SS.
6 Entrez l’emplacement de votre aperçu de vidéo dans le champ de texte URL. Vous pouvez par
exemple entrer http://mon.web.com/aperçusvideo/NomDAnimation.flv.
7 Définissez les options souhaitées pour les cases à cocher Automatically Play, Use Preferred
Media Size et Respect Aspect Ratio.
8 Définissez l’emplacement du contrôle du côté désiré du composant MediaPlayback.
9 Ajoutez un point de repère vers la fin du support. Il sera utilisé avec un écouteur pour ouvrir
une fenêtre contextuelle informant l’utilisateur que l’animation est en vente. Nommez le point
de repère nomPointRepère et définissez son heure pour qu’il se trouve vers la fin du clip (à
quelques secondes de la fin). Pour ce faire, suivez les étapes ci-après :
a Double-cliquez sur un composant Window pour le faire apparaître sur la scène.
b Supprimez le composant Window. Ceci a pour effet de placer un élément nommé Window
dans votre bibliothèque.
c Créez un champ de texte et entrez un texte informant l’utilisateur que l’animation est à
vendre.
d Convertissez ce champ de texte en un clip en choisissant Modifier > Convertir en symbole,
et nommez-le maVente_mc.
e Cliquez avec le bouton droit de la souris sur le clip maVente_mc dans la bibliothèque,
sélectionnez Liaison et activez l’option Exporter pour ActionScript. Un clip est placé dans la
bibliothèque d’exécution.
10 Ajoutez le code ActionScript suivant à l’image 1. Ce code crée un écouteur qui ouvre une fenêtre
contextuelle informant l’utilisateur que l’animation est en vente.
// Importe les classes nécessaires pour créer dynamiquement la fenêtre
contextuelle
import mx.containers.Window;
import mx.managers.PopUpManager;
// Créez un objet d’écoute pour lancer la fenêtre contextuelle de vente
var écouteurVente = new Object();
écouteurVente.cuePoint = function(evt){
var venteGagnée = PopUpManager.createPopUp(_root, Window, false,
{closeButton: true, title: "Vente animation ", contentPath:
"maVente_mc"});
// Agrandissez la fenêtre de sorte que le contenu puisse être inclus
350
Chapitre 4 : Dictionnaire des composants
venteGagnée.setSize(80, 80);
var supprVenteGagnée = new Object();
supprVenteGagnée.click = function(evt){
venteGagnée.deletePopUp();
}
venteGagnée.addEventListener("click", supprVenteGagnée);
}
monSupport.addEventListener("cuePoint", écouteurVente);
Utilisation des composants MediaDisplay et MediaController
Supposons que vous décidiez d’avoir plus de contrôle sur l’aspect de l’affichage de votre support.
Vous devez utiliser conjointement les composants MediaDisplay et MediaController pour
atteindre le résultat escompté. L’exemple suivant présente les étapes équivalentes de l’exemple
précédent permettant de créer une application Flash qui affiche le support d’aperçu de votre CD
ou DVD.
Pour créer un document Flash qui affiche un aperçu de CD ou de DVD :
1 Dans Flash, choisissez Fichier > Nouveau, puis sélectionnez Document Flash.
2 Dans le panneau Composants (Fenêtre > Panneaux de développement > Composants), double-
cliquez sur les composants MediaController et MediaDisplay. Une occurrence de chaque
composant est alors placée sur la scène.
3 Sélectionnez l’occurrence de MediaDisplay et entrez monAffichage comme nom d’occurrence
dans l’inspecteur des propriétés.
4 Sélectionnez l’occurrence de MediaController et entrez monContrôleur comme nom
d’occurrence dans l’inspecteur des propriétés.
5 Ouvrez le panneau Inspecteur de composants depuis l’inspecteur des propriétés et définissez le
type de votre support en fonction du support qui sera diffusé en flux continu (MP3 ou FLV).
6 Si vous avez sélectionné FLV, entrez la durée de la vidéo dans les champs de texte Video Length
au format HH:MM:SS.
7 Entrez l’emplacement de votre aperçu de vidéo dans le champ de texte URL. Vous pouvez par
exemple entrer http://mon.web.com/aperçusvideo/NomDAnimation.flv.
8 Définissez les options souhaitées pour les cases à cocher Automatically Play, Use Preferred
Media Size et Respect Aspect Ratio.
9 Sélectionnez l’occurrence de MediaController et, dans le panneau Inspecteur de composants,
choisissez une orientation verticale en définissant la propriété horizontal sur false.
10 Dans le panneau Inspecteur de composants, définissez backgroundStyle sur None.
Ceci spécifie que l’occurrence de MediaController ne doit pas dessiner d’arrière-plan mais
remplir le support entre les contrôles.
11 Utilisez un comportement pour associer les occurrences de MediaController et de
MediaDisplay de sorte que l’occurrence de MediaController reflète précisément les
déplacements de la tête de lecture ainsi que d’autres paramètres de l’occurrence de
MediaDisplay, et que l’occurrence de MediaDisplay réponde aux clics de l’utilisateur :
a Sélectionnez l’occurrence de MediaDisplay et, dans l’inspecteur des propriétés, entrez
monAffichageDeSupport comme nom d’occurrence.
b Sélectionnez l’occurrence de MediaController qui déclenche le comportement.
Composants de support (Flash Professionnel uniquement)
351
c Dans le panneau Comportements (Fenêtre > Panneaux de développement >
Comportements), cliquez sur le bouton Ajouter un comportement (+) et sélectionnez
Médias > Affichage associé.
d Dans la fenêtre Affichage associé, sélectionnez monAffichageDeSupport sous _root et
cliquez sur OK.
Pour plus d’informations sur l’utilisation des comportements avec les composants de support,
consultez Contrôle des composants de support à l’aide des comportements, page 353.
Utilisation du panneau Inspecteur de composants avec les composants de
support
Le panneau Inspecteur de composants facilite notamment la définition des paramètres et des
propriétés des composants de support. Pour utiliser ce panneau, cliquez sur le composant souhaité
sur la scène et, l’inspecteur des propriétés étant ouvert, cliquez sur Ouvrir l’Inspecteur de
composants. Le panneau Inspecteur de composants peut être utilisé de différentes manières :
• Pour lire le support automatiquement (consultez Media.activePlayControl et
Media.autoPlay)
• Pour conserver ou ignorer les proportions du support (consultez Media.aspectRatio)
• Pour déterminer si le support est automatiquement redimensionné en fonction de la taille de
l’occurrence du composant (consultez Media.autoSize)
• Pour activer ou désactiver l’arrière-plan chromé (consultez Media.backgroundStyle)
• Pour spécifier le chemin de votre support sous la forme d’une URL (consultez
Media.contentPath)
•
•
•
•
•
•
•
Pour spécifier la visibilité des contrôles de lecture (consultez Media.controllerPolicy)
Pour ajouter des objets point de repère (consultez Media.addCuePoint())
Pour supprimer des objets point de repère (consultez Media.removeCuePoint())
Pour définir l’orientation des occurrences de MediaController (consultez Media.horizontal)
Pour définir le type du support lu (consultez Media.setMedia())
Pour définir la durée de lecture du support FLV (consultez Media.totalTime)
Pour définir les derniers chiffres du temps affiché en indiquant des millisecondes ou des images
par seconde (ips)
Il est important de se familiariser avec certains concepts lorsque vous utilisez le panneau
Inspecteur de composants :
• Le contrôle de durée de la vidéo est supprimé lorsque le type de vidéo MP3 est sélectionné, car
les informations sont lues automatiquement lorsque des fichiers MP3 sont utilisés. Pour les
fichiers FLV, vous devez ajouter le temps total du support (Media.totalTime) pour que la
barre de lecture du composant MediaPlayback (ou de tout composant MediaController
d’écoute) puisse refléter précisément la progression de la lecture.
352
Chapitre 4 : Dictionnaire des composants
• Si vous définissez le type de fichier sur FLV, une option Milliseconds s’affiche et (si l’option
Milliseconds est désactivée) un menu contextuel FPS apparaît. Lorsque l’option Milliseconds
est activée, le contrôle FPS est masqué. Dans ce mode, la durée affichée dans la barre de lecture
lors de l’exécution est au format HH:MM:SS.mmm (H = heures, M = minutes, S = secondes,
m = millisecondes) et les points de repère sont définis en secondes. Lorsque l’option
Milliseconds est désactivée, le contrôle FPS est activé et la durée de la barre de lecture est au
format HH:MM:SS.II (I = images par seconde), alors que les points de repère sont définis par
image.
Remarque : Vous pouvez uniquement définir la propriété FPS en utilisant le panneau Inspecteur
de composants. La définition d’une valeur fps à l’aide d’ActionScript n’a aucun effet et sera
ignorée.
Contrôle des composants de support à l’aide des comportements
Les comportements sont des scripts ActionScript prêts à l’emploi ajoutés à une occurrence d’objet,
tel qu’un composant MediaDisplay, pour le contrôler. Les comportements vous permettent
d’ajouter la puissance, le contrôle et la flexibilité du codage ActionScript à votre document sans
avoir à créer le code ActionScript vous-même.
Pour contrôler un composant de support à l’aide d’un comportement, vous devez utiliser le
panneau Comportements afin d’appliquer le comportement à une occurrence de composant de
support donnée. Définissez l’événement déclencheur du comportement (par exemple le fait
d’atteindre un point de repère spécifique), sélectionnez un objet cible (les composants de support
qui seront affectés par le comportement) et, si nécessaire, sélectionnez les paramètres du
comportement (par exemple le clip dans le support vers lequel naviguer).
Le tableau ci-dessous présente les comportements disponibles dans Flash MX 2004 Professionnel,
permettant de contrôler les composants de support intégrés.
Comportement
Objectif
Paramètres
Contrôleur associé
Associe un composant MediaController à
un composant MediaDisplay
Nom d’occurrence des
composants MediaController
cibles
Affichage associé
Associe un composant MediaDisplay à un Nom d’occurrence des
composant MediaController
composants MediaController
cibles
Exploration des
points de repère de
l’image nommée
Place une action sur une occurrence de
MediaDisplay ou de MediaPlayback qui
indique à un clip spécifié de naviguer vers
une image portant le même nom qu’un
point de repère donné
Exploration des
points de repère de
la diapositive
Fait naviguer un document Flash basé sur Nom de la diapositive et nom du
point de repère (les noms doivent
des diapositives jusqu’à une diapositive
être identiques)
portant le même nom qu’un point de
repère donné
Nom de l’image et nom du point
de repère (les noms doivent être
identiques)
Pour associer un composant MediaDisplay à un composant MediaController :
1 Placez une occurrence de MediaDisplay et une occurrence de MediaController sur la scène.
2 Sélectionnez l’occurrence de MediaDisplay et, dans l’inspecteur des propriétés, entrez
monAffichageDeSupport comme nom d’occurrence.
Composants de support (Flash Professionnel uniquement)
353
3 Sélectionnez l’occurrence de MediaController qui déclenche le comportement.
4 Dans le panneau Comportements (Fenêtre > Panneaux de développement > Comportements),
cliquez sur le bouton Ajouter un comportement (+) et sélectionnez Médias > Affichage associé.
5 Dans la fenêtre Affichage associé, sélectionnez monAffichageDeSupport sous _root et cliquez
sur OK.
Remarque : Si vous avez associé le composant MediaDisplay au composant MediaController, il
n’est pas nécessaire d’associer le composant MediaController au composant MediaDisplay.
Pour associer un composant MediaController à un composant MediaDisplay :
1 Placez une occurrence de MediaDisplay et une occurrence de MediaController sur la scène.
2 Sélectionnez l’occurrence de MediaController et, dans l’inspecteur des propriétés, entrez
monContrôleurDeSupport comme nom d’occurrence.
3 Sélectionnez l’occurrence de MediaDisplay qui déclenche le comportement.
4 Dans le panneau Comportements (Fenêtre > Panneaux de développement > Comportements),
cliquez sur le bouton Ajouter un comportement (+) et sélectionnez Médias > Contrôleur associé.
5 Dans la fenêtre Contrôleur associé, sélectionnez monContrôleurDeSupport sous _root et
cliquez sur OK.
Pour utiliser un comportement Exploration des points de repère de l’image nommée :
1 Placez une occurrence du composant MediaDisplay ou MediaPlayback sur la scène.
2 Sélectionnez l’image vers laquelle vous souhaitez que le support navigue et, à l’aide de
l’inspecteur des propriétés, entrez monImageNommée comme nom d’image.
3 Sélectionnez votre occurrence de MediaDisplay ou de MediaPlayback.
4 Dans le panneau Inspecteur de composants, cliquez sur le bouton Ajouter (+), entrez l’heure du
point de repère au format HH:MM:SS:mmm ou HH:MM:SS:II, et nommez le point de repère
monImageNommée.
Le point de repère indique la durée devant s’écouler avant que vous ne naviguiez vers l’image
sélectionnée. Par exemple, si vous souhaitez atteindre monImageNommée 5 secondes après le
début de l’animation, entrez 5 dans le champ de texte SS et entrez monImageNommée dans le
champ de texte Name.
5 Dans le panneau Comportements (Fenêtre > Panneaux de développement > Comportements),
cliquez sur le bouton Ajouter un comportement (+) et sélectionnez Médias > Exploration des
points de repère de l’image nommée.
6 Dans la fenêtre Exploration des points de repère de l’image nommée, sélectionnez le clip _root
et cliquez sur OK.
Pour utiliser un comportement Exploration des points de repère d’une diapositive :
1 Ouvrez votre nouveau document comme un diaporama Flash.
2 Placez une occurrence du composant MediaDisplay ou MediaPlayback sur la scène.
3 Dans le panneau situé à gauche de la scène, cliquez sur le bouton Insérer un écran (+) pour
ajouter une deuxième diapositive, puis sélectionnez la deuxième diapositive et renommez-la
maDiapositive.
4 Sélectionnez votre occurrence de MediaDisplay ou de MediaController.
5 Dans le panneau Inspecteur de composants, cliquez sur le bouton Ajouter (+) et entrez l’heure
du point de repère au format HH:MM:SS:mmm ou HH:MM:SS:II, et nommez le point de
repère maDiapositive.
354
Chapitre 4 : Dictionnaire des composants
Le point de repère indique la durée devant s’écouler avant que vous ne naviguiez vers la
diapositive sélectionnée. Par exemple, si vous souhaitez atteindre maDiapositive 5 secondes
après le début de l’animation, entrez 5 dans le champ de texte SS et entrez maDiapositive dans
le champ de texte Name.
6 Dans le panneau Comportements (Fenêtre > Panneaux de développement > Comportements),
cliquez sur le bouton Ajouter un comportement (+) et sélectionnez Médias > Exploration des
points de repère d’une diapositive.
7 Dans la fenêtre Exploration des points de repère d’une diapositive, sélectionnez Présentation
sous le clip _root et cliquez sur OK.
Paramètres des composants de support (Flash Professionnel uniquement)
Les tableaux suivants répertorient les paramètres de programmation que vous pouvez définir pour
une occurrence de composant de support donnée dans l’inspecteur des propriétés :
Paramètres du composant MediaDisplay
Nom
Type
Valeur par
défaut
Description
Automatically Play
(Media.autoPlay)
Booléen
Sélectionné
Indique si le support est lu dès la fin de son
chargement.
Use Preferred Media Size
(Media.autoSize)
Booléen
Sélectionné
Indique si le support associé à l’occurrence
de MediaDisplay correspond à la taille du
composant ou utilise simplement sa taille
par défaut.
FPS
Entier
30
Indique le nombre d’images par seconde.
Lorsque l’option Milliseconds est activée,
ce contrôle est désactivé.
Points de repère
(Media.cuePoints)
Tableau
Non définis
Tableau d’objets point de repère, chaque
objet possédant un nom et une position
dans le temps dans un format
HH:MM:SS:II (option Milliseconds activée)
ou HH:MM:SS:mmm valide.
FLV ou MP3
(Media.mediaType)
"FLV" ou
"MP3" ()
"FLV"
Indique le type de support à lire.
Milliseconds
Booléen
Non
sélectionné
Indique si la barre de lecture utilise des
images ou des millisecondes et si les
points de repère utilisent des secondes ou
des images. Lorsque cette option est
activée, le contrôle FPS est masqué.
URL (Media.contentPath)
Chaîne
Non défini
Chaîne contenant le chemin et le nom de
fichier du support à lire.
Video Length
(Media.totalTime)
Entier
Non défini
Le temps total nécessaire pour lire le
support FLV. Ce paramètre est requis pour
que la barre de lecture fonctionne
correctement. Ce contrôle est uniquement
visible lorsque le type de support est défini
sur FLV.
Composants de support (Flash Professionnel uniquement)
355
Paramètres du composant MediaController
Nom
Type
Valeur par
défaut
Description
"pause"
activePlayControl
Chaîne :
(Media.activePlayControl) "pause" ou
"play"
Détermine si la barre de lecture est en
mode pause ou play au moment de
l’instanciation.
backgroundStyle
(Media.backgroundStyle)
Chaîne :
"default"
ou "none"
"default"
Indique si l’arrière-plan chromé doit être
dessiné pour l’occurrence de
MediaController.
controllerPolicy
(Media.controllerPolicy)
"auto",
"on" ou
"off"
"auto"
Détermine si le contrôleur s’ouvre ou se
ferme en fonction de la position de la
souris, ou est verrouillé dans l’état ouvert
ou fermé.
horizontal
(Media.horizontal)
Booléen
true
Détermine si la portion de contrôleur de
l’occurrence est orientée verticalement ou
horizontalement. Une valeur true indique
que le composant aura une position
horizontale.
enabled
Booléen
true
Détermine si ce contrôle peut être modifié
par l’utilisateur. Une valeur true indique
que le contrôle peut être modifié.
visible
Booléen
true
Détermine si ce contrôle peut être affiché
par l’utilisateur. Une valeur true indique
que le contrôle peut être affiché.
minHeight
Entier
0
Hauteur minimale autorisée pour cette
occurrence, en pixels.
minWidth
Entier
0
Largeur minimale autorisée pour cette
occurrence, en pixels.
Paramètres du composant MediaPlayback
356
Nom
Type
Valeur par
défaut
Description
Control Placement
(Media.controlPlacement)
"top",
"bottom",
"left" et
"right"
"bottom"
Position du contrôleur. La valeur est liée à
l’orientation.
Media.controllerPolicy
Booléen
true
Détermine si le contrôleur s’ouvre ou se
ferme en fonction de la position de la
souris.
Automatically Play
(Media.autoPlay)
Booléen
Sélectionné
Indique si le support est lu dès la fin de son
chargement.
Chapitre 4 : Dictionnaire des composants
Nom
Type
Valeur par
défaut
Description
Use Preferred Media Size
(Media.autoSize)
Booléen
Sélectionné
Détermine si l’occurrence de
MediaController est redimensionnée en
fonction de la taille du support ou si elle
utilise d’autres paramètres.
FPS
Entier
30
Nombre d’images par seconde. Lorsque
l’option Milliseconds est activée, ce
contrôle est désactivé.
Points de repère
(Media.cuePoints)
Tableau
Non définis
Tableau d’objets point de repère, chaque
objet possédant un nom et une position
dans le temps dans un format
HH:MM:SS:mmm (option Milliseconds
activée) ou HH:MM:SS:II valide.
FLV ou MP3
(Media.mediaType)
"FLV" ou
"MP3" ()
"FLV"
Indique le type de support à lire.
Milliseconds
Booléen
Non
sélectionné
Indique si la barre de lecture utilise des
images ou des millisecondes et si les
points de repère utilisent des secondes ou
des images. Lorsque cette option est
activée, le contrôle FPS est désactivé.
URL (Media.contentPath)
Chaîne
Non défini
Chaîne contenant le chemin et le nom de
fichier du support à lire.
Video Length
(Media.totalTime)
Entier
Non défini
Le temps total nécessaire pour lire le
support FLV. Ce paramètre est requis pour
que la barre de lecture fonctionne
correctement.
Création d’applications avec les composants de support (Flash Professionnel
uniquement)
Il est relativement facile de créer du contenu Flash à l’aide des composants de support, et ce en
quelques étapes seulement.
Cet exemple montre comment créer une application pour lire un petit fichier de support
accessible au public.
Pour ajouter un composant de support à une application :
1 Dans Flash, choisissez Fichier > Nouveau, puis sélectionnez Document Flash.
2 Dans le panneau Composants (Fenêtre > Panneaux de développement > Composants), double-
cliquez sur le composant MediaPlayback pour l’ajouter sur la scène.
3 Dans l’inspecteur des propriétés, entrez monSupport comme nom d’occurrence.
4 Dans l’Inspecteur des propriétés, cliquez sur Ouvrir l’Inspecteur de composants.
5 Dans le panneau Inspecteur de composants, entrez http://www.cathphoto.com/c.flv dans le
champ de texte URL.
6 Choisissez Contrôle > Tester l’animation pour visualiser la lecture du support.
Composants de support (Flash Professionnel uniquement)
357
Personnalisation des composants de support (Flash Professionnel
uniquement)
Vous pouvez appliquer des enveloppes pour modifier l’apparence de vos composants de support.
Pour obtenir un guide complet sur la personnalisation des composants, consultez
le Chapitre 3, Personnalisation des composants, page 29.
Utilisation des styles avec les composants de support
Les styles ne sont pas supportés avec les composants de support.
Utilisation d’enveloppes avec les composants de support
Les composants de support ne supportent pas le réhabillage dynamique, même si vous pouvez
ouvrir le document source des composants de support et modifier leurs actifs pour obtenir l’aspect
escompté. Il est préférable de faire une copie de ce fichier et d’utiliser cette copie, de façon à
pouvoir toujours revenir au document source installé. Le document source des composants de
support se trouve aux emplacements suivants :
• Windows : C:\Documents and Settings\utilisateur\Local Settings\Application
Data\Macromedia\Flash MX 2004\langue\Configuration\ComponentFLA.fla
• Macintosh : Disque dur:Users:nomUtilisateur:Library:Application Support:Macromedia:Flash
MX 2004:langue:Configuration:ComponentFLA.fla
Pour plus d’informations sur les enveloppes de composants, consultez A propos de l’application des
enveloppes aux composants, page 38.
Classe Media (Flash Professionnel uniquement)
Héritage
mx.core.UIComponent
Noms de classe ActionScript
mx.controls.MediaController, mx.controls.MediaDisplay,
mx.controls.MediaPlayback
Toutes les classes de composants ont une propriété version qui correspond à une propriété de
classe. Les propriétés de classe sont uniquement disponibles pour la classe elle-même. La propriété
version renvoie une chaîne qui indique la version du composant. Pour accéder à la propriété
version, utilisez le code suivant :
trace(mx.controls.MediaPlayback.version);
Remarque : Le code trace(monOccurrenceDeSupport.version); renvoie undefined.
Méthodes de la classe Media
Méthode
Composants
Description
Media.addCuePoint()
MediaDisplay,
MediaPlayback
Ajoute un objet point de repère à l’occurrence du
composant.
Media.associateController() MediaDisplay
Media.associateDisplay()
358
Associe une occurrence de MediaDisplay à une
occurrence de MediaController.
MediaController Associe une occurrence de MediaController à une
occurrence de MediaDisplay.
Chapitre 4 : Dictionnaire des composants
Méthode
Composants
Description
Media.displayFull()
MediaPlayback
Convertit l’occurrence du composant en mode de
lecture plein écran.
Media.displayNormal()
MediaPlayback
Reconvertit l’occurrence de composant à sa taille
d’écran originale.
Media.getCuePoint()
MediaDisplay,
MediaPlayback
Renvoie un objet point de repère.
Media.play()
MediaDisplay,
MediaPlayback
Lit le support associé à l’occurrence de
composant à un point de départ donné.
Media.pause()
MediaDisplay,
MediaPlayback
Met la tête de lecture en pause à son
emplacement actuel dans le scénario du support.
Media.removeAllCuePoints()
MediaDisplay,
MediaPlayback
Supprime tous les objets point de repère associés
à une occurrence de composant donnée.
Media.removeCuePoint()
MediaDisplay,
MediaPlayback
Supprime un point de repère spécifié associé à
une occurrence de composant donnée.
Media.setMedia()
MediaDisplay,
MediaPlayback
Définit le type et le chemin du support sur le type
de support spécifié.
Media.stop()
MediaDisplay,
MediaPlayback
Arrête la tête de lecture et la déplace à la
position 0, qui correspond au début du support.
Propriétés de la classe Media
Propriété
Composants
Description
Media.activePlayControl
MediaController Détermine l’état du composant lors de son
chargement à l’exécution.
Media.aspectRatio
MediaDisplay,
MediaPlayback
Détermine si l’occurrence du composant
conserve les proportions de sa vidéo.
Media.autoPlay
MediaDisplay,
MediaPlayback
Détermine si l’occurrence du composant est
immédiatement mise en mémoire tampon et lue.
Media.autoSize
MediaDisplay,
MediaPlayback
Détermine comment la portion d’affichage de
support du composant MediaDisplay ou
MediaPlayback est redimensionnée.
Media.backgroundStyle
MediaController Détermine si l’occurrence du composant dessine
son arrière-plan chromé.
Media.bytesLoaded
MediaDisplay,
MediaPlayback
Nombre d’octets chargés pouvant être lus.
Media.bytesTotal
MediaDisplay,
MediaPlayback
Nombre d’octets à charger dans l’occurrence du
composant.
Media.contentPath
MediaDisplay,
MediaPlayback
Chaîne contenant le chemin relatif et le nom de
fichier du support devant être diffusé en flux
continu et lu.
Composants de support (Flash Professionnel uniquement)
359
Propriété
Composants
Description
Media.controllerPolicy
MediaController, Détermine si les contrôles contenus dans le
MediaPlayback composant sont masqués pendant la lecture et
uniquement affichés lorsqu’un événement de
survol est déclenché ou lorsque les contrôles sont
visibles ou masqués en permanence.
Media.controlPlacement
MediaPlayback
Détermine si les contrôles du composant sont
positionnés par rapport au composant.
Media.cuePoints
MediaDisplay,
MediaPlayback
Tableau d’objets point de repère ayant été
associés à une occurrence de composant
donnée.
Media.horizontal
MediaController Détermine l’orientation de l’occurrence du
composant.
Media.mediaType
MediaDisplay,
MediaPlayback
Détermine le type de support à lire.
Media.playheadTime
MediaDisplay,
MediaPlayback
Contient la position actuelle de la tête de lecture
(en secondes) pour le scénario de support en
cours de lecture.
Media.playing
MediaDisplay,
MediaPlayback
Renvoie une valeur booléenne indiquant si une
occurrence de composant donnée lit un support.
Media.preferredHeight
MediaDisplay,
MediaPlayback
Valeur par défaut de la hauteur d’un fichier de
support FLV.
Media.preferredWidth
MediaDisplay,
MediaPlayback
Valeur par défaut de la largeur d’un fichier de
support FLV.
Media.totalTime
MediaDisplay,
MediaPlayback
Entier indiquant la durée totale du support, en
secondes.
Media.volume
MediaDisplay,
MediaPlayback
Entier de 0 (minimum) à 100 (maximum)
représentant le niveau de volume.
Evénements de la classe Media
360
Evénement
Composants
Description
Media.change
MediaDisplay,
MediaPlayback
Diffusé en continu pendant la lecture du support.
Media.click
MediaController, Diffusé lorsque l’utilisateur clique sur le bouton de
MediaPlayback lecture/pause.
Media.complete
MediaDisplay,
MediaPlayback
Notification indiquant que la tête de lecture a
atteint la fin du support.
Media.cuePoint
MediaDisplay,
MediaPlayback
Notification indiquant que la tête de lecture a
atteint un point de repère donné.
Media.playheadChange
MediaController, Diffusé par l’occurrence du composant lorsque
MediaPlayback l’utilisateur déplace le curseur de lecture ou clique
sur le bouton Rembobiner ou Atteindre la fin.
Chapitre 4 : Dictionnaire des composants
Evénement
Composants
Description
Media.progress
MediaDisplay,
MediaPlayback
Est généré en continu jusqu’à la fin du
téléchargement du support.
Media.volume
MediaController, Diffusé lorsque l’utilisateur règle le volume.
MediaPlayback
Media.activePlayControl
S’applique à
MediaController
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.activePlayControl
Description
Propriété : une valeur booléenne déterminant l’état du composant MediaController lorsqu’il est
chargé à l’exécution. Une valeur true indique que le composant MediaController devrait être en
lecture à l’exécution et une valeur false indique qu’il est en pause à l’exécution. Cette propriété
doit être définie en conjonction avec la propriété autoPlay, de sorte que toutes deux soient en
pause ou en lecture à l’exécution. La valeur par défaut est true.
Exemple
L’exemple suivant indique que le contrôle sera en pause lors de son premier chargement à
l’exécution.
monSupport.activePlayControl = false;
Voir aussi
Media.autoPlay
Media.addCuePoint()
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.addCuePoint(nomPointRepère, heurePointRepère)
Composants de support (Flash Professionnel uniquement)
361
Paramètres
nomPointRepère
heurePointRepère
cuePoint.
Chaîne pouvant être utilisée pour nommer le point de repère.
Nombre, en secondes, indiquant le moment de diffusion d’un événement
Renvoie
Rien.
Description
Méthode : ajoute un objet point de repère à une occurrence de composant MediaPlayback ou
MediaDisplay. Lorsque l’heure de la tête de lecture est égale à celle d’un point de repère, un
événement cuePoint est diffusé.
Exemple
Le code suivant ajoute un point de repère nommé Homerun à monSupport à l’heure =
16 secondes.
monSupport.addCuePoint("Homerun", 16);
Voir aussi
Media.cuePoint, Media.cuePoints, Media.getCuePoint(), Media.removeAllCuePoints(),
Media.removeCuePoint()
Media.aspectRatio
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.aspectRatio
Description
Propriété : une valeur booléenne indiquant si une occurrence de MediaDisplay ou de
MediaPlayback conserve les proportions de sa vidéo pendant la lecture. Une valeur true indique
que les proportions doivent être conservées, et une valeur false indique que les proportions
peuvent changer pendant la lecture. La valeur par défaut est true.
Exemple
L’exemple suivant indique que les proportions peuvent changer lors de la lecture :
monSupport.aspectRatio = false;
362
Chapitre 4 : Dictionnaire des composants
Media.associateController()
S’applique à
MediaDisplay
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.associateController(nomOccurrence)
Paramètres
nomOccurrence
Une chaîne indiquant le nom d’occurrence du composant MediaController à
associer.
Renvoie
Rien.
Description
Méthode : associe une occurrence de composant MediaDisplay à une occurrence de
MediaController donnée.
Si vous avez associé une occurrence de MediaController à une occurrence de MediaDisplay à
l’aide de Media.associateDisplay(), il n’est pas nécessaire d’utiliser
Media.associateController().
Exemple
Le code suivant associe monSupport à monContrôleur :
monSupport.associateController(monContrôleur);
Voir aussi
Media.associateDisplay()
Media.associateDisplay()
S’applique à
MediaController
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.associateDisplay(nomOccurrence)
Composants de support (Flash Professionnel uniquement)
363
Paramètres
nomOccurrence
Une chaîne indiquant le nom d’occurrence du composant MediaDisplay à
associer.
Renvoie
Rien.
Description
Méthode : associe une occurrence de composant MediaController à une occurrence de
MediaDisplay donnée.
Si vous avez associé une occurrence de MediaDisplay à une occurrence de MediaController à
l’aide de Media.associateController(), il n’est pas nécessaire d’utiliser
Media.associateDisplay().
Exemple
Le code suivant associe monSupport à monAffichage :
monSupport.associateDisplay(monAffichage);
Voir aussi
Media.associateController()
Media.autoPlay
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.autoPlay
Description
Propriété : une valeur booléenne indiquant si une occurrence de MediaPlayback ou de
MediaDisplay est immédiatement mise en mémoire tampon et lue. Une valeur true indique que
le contrôle est mis en mémoire tampon et lu à l’exécution alors qu’une valeur false indique que
le contrôle est arrêté à l’exécution. Cette propriété dépend des propriétés contentPath et
mediaType. Si les propriétés contentPath et mediaType ne sont pas définies, il n’y aura pas de
lecture à l’exécution. La valeur par défaut est true.
364
Chapitre 4 : Dictionnaire des composants
Exemple
L’exemple suivant indique que le contrôle ne sera pas lancé lors de son premier chargement à
l’exécution.
monSupport.autoPlay = false;
Voir aussi
Media.contentPath, Media.mediaType
Media.autoSize
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.autoSize
Description
Propriété : une valeur booléenne indiquant comment la zone d’affichage du support du
composant MediaDisplay ou MediaPlayback est redimensionnée.
Pour le composant MediaDisplay, la propriété se comporte de la manière suivante :
• Si vous définissez cette propriété sur true, Flash affiche le support à sa taille préférée, sans tenir
•
compte de la taille du composant. Ceci implique que, à moins que la taille de l’occurrence
MediaDisplay ne soit la même que celle du support, le support dépassera les limites de
l’occurrence ou ne remplira pas la taille de l’occurrence.
Si vous définissez cette propriété sur false, Flash utilise la taille de l’occurrence dans la mesure
du possible, tout en respectant les proportions. Si Media.autoSize et Media.aspectRatio
sont tous deux définis sur false, la taille exacte du composant est utilisée.
Pour le composant MediaPlayback, la propriété se comporte de la manière suivante :
• Si vous définissez cette propriété sur true, Flash affiche le support à sa taille préférée, sauf si la
•
zone du support de lecture est inférieure à la taille préférée. Si tel est le cas, Flash réduit le
support pour qu’il puisse s’adapter à la taille de l’occurrence et respecter les proportions. Si la
taille préférée est inférieure à la zone de support de l’occurrence, une partie de la zone du
support ne sera pas utilisée.
Si vous définissez cette propriété sur false, Flash utilise la taille de l’occurrence dans la mesure
du possible, tout en respectant les proportions. Si Media.autoSize et Media.aspectRatio
sont définis sur false, la zone du support du composant est remplie. Cette zone est située audessus des contrôles (dans la disposition par défaut) et est entourée d’une marge de 8 pixels
correspondant aux bords du composant.
La valeur par défaut est true.
Composants de support (Flash Professionnel uniquement)
365
Exemple
L’exemple suivant indique que le contrôle ne sera pas lu en fonction de la taille de son support :
monSupport.autoSize = false;
Voir aussi
Media.aspectRatio
Media.backgroundStyle
S’applique à
MediaController
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.backgroundStyle
Description
Propriété : une valeur default indique que l’arrière-plan chromé sera dessiné pour l’occurrence
de MediaController, alors qu’une valeur none indique qu’aucun arrière-plan chromé ne sera
dessiné. La valeur par défaut est default.
Il ne s’agit pas d’une propriété style et elle ne sera donc pas affectée par les paramètres de style.
Exemple
L’exemple suivant indique que l’arrière-plan chromé ne sera pas dessiné pour le contrôle :
monSupport.backgroundStyle = "none";
Media.bytesLoaded
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.bytesLoaded
Description
Propriété lecture seule : le nombre d’octets déjà chargés dans le composant pouvant être lus. La
valeur par défaut est undefined.
366
Chapitre 4 : Dictionnaire des composants
Exemple
Le code suivant crée une variable appelée PlaybackLoad qui sera définie avec le nombre d’octets
chargés dans la boucle for.
// créez une variable contenant le nombre d’octets chargés
var PlaybackLoad = monSupport.bytesLoaded;
// exécutez une fonction jusqu’à ce que la lecture soit prête
for (PlaybackLoad < 150) {
function X();
}
Media.bytesTotal
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.bytesTotal
Description
Propriété : le nombre d’octets à charger dans le composant MediaPlayback ou MediaDisplay. La
valeur par défaut est undefined.
Exemple
L’exemple suivant indique à l’utilisateur la taille du support à diffuser en flux continu.
monChampDeTexte.text = monSupport.bytesTotal;
Media.change
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.change = function(objetEvt){
// insérez votre code ici
}
monSupport.addEventListener("change", objetDécoute)
Composants de support (Flash Professionnel uniquement)
367
Description
Evénement : diffusé par les composants MediaDisplay et MediaPlayback pendant la lecture du
support. Le pourcentage atteint peut être récupéré depuis l’occurrence de composant. Consultez
l’exemple ci-dessous.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. L’objet événement de l’événement Media.change possède deux propriétés
supplémentaires :
Une référence à l’objet diffusé.
target
type
La chaîne "change", qui indique le type d’événement.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
L’exemple suivant utilise un écouteur d’objet pour déterminer la position de la tête de lecture
(Media.playheadTime), à partir de laquelle le pourcentage atteint peut être calculé
var monEcouteurDeLecteur = new Object();
monEcouteurDeLecteur.change = function(objetEvt){
var maPosition = monLecteur.playheadTime;
var maPositionDePourcentage = (maPosition/totalTime);
}
monLecteur.addEventListener("change", monEcouteurDeLecteur);
Voir aussi
Media.playing, Media.pause()
Media.click
S’applique à
MediaController, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
var monEcouteurDeSupport = new Object()
monEcouteurDeSupport.click = function(){
// insérez votre code ici
}
monLecteur.addEventListener("click", monEcouteurDeSupport);
368
Chapitre 4 : Dictionnaire des composants
Description
Evénement : diffusé lorsque l’utilisateur clique sur le bouton de lecture/pause. Le champ détail
doit être utilisé pour indiquer sur quel bouton l’utilisateur a cliqué. L’objet événement
Media.click possède les propriétés suivantes :
detail
La chaîne "pause" ou "play".
target
Une référence à l’occurrence du composant MediaController ou MediaPlayback.
type
La chaîne "click".
Exemple
L’exemple suivant ouvre une fenêtre contextuelle lorsque l’utilisateur clique sur Lire :
var monEcouteurDeSupport = new Object()
monEcouteurDeSupport.click = function(){
PopUpManager.createPopup(_root, mx.containers.Window, false, {contentPath:
movieSale});
}
monSupport.addEventListener("click", monEcouteurDeSupport);
Media.complete
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
ObjetDécoute.complete = function(objetEvt){
// insérez votre code ici
}
monSupport.addEventListener("terminé", objetDécoute)
Description
Evénement : notification indiquant que la tête de lecture a atteint la fin du support. L’objet
événement Media.complete possède les propriétés suivantes :
target
type
Une référence à l’occurrence du composant MediaDisplay ou MediaPlayback.
La chaîne "terminé".
Composants de support (Flash Professionnel uniquement)
369
Exemple
L’exemple suivant utilise un écouteur d’objet pour indiquer le moment ou la lecture du support
est terminée :
var monEcouteur = new Object();
monEcouteur.complete = function(objetEvt) {
trace("le support est terminé");
};
monSupport.addEventListener("terminé", monEcouteur);
Media.contentPath
S’applique à
MediaController
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.contentPath
Description
Propriété : une chaîne contenant le chemin relatif et le nom de fichier du support devant être
diffusé en flux continu et/ou lu. La méthode Media.setMedia() est la seule qui permet de définir
cette propriété via ActionScript. La valeur par défaut est undefined.
Exemple
L’exemple suivant affiche le nom de l’animation lue dans un champ de texte :
monChampDeTexte = monSupport.contentPath;
Voir aussi
Media.setMedia()
Media.controllerPolicy
S’applique à
MediaController, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.controllerPolicy
370
Chapitre 4 : Dictionnaire des composants
Description
Propriété : détermine si le composant MediaController (ou le sous-composant du contrôleur dans
le composant MediaPlayback) est masqué lorsqu’il est instancié et n’est affiché que lorsque
l’utilisateur fait passer la souris sur l’état réduit du contrôleur.
Les valeurs possibles pour cette propriété sont les suivantes :
•
•
•
indique que les contrôles sont toujours développés.
indique que les contrôles sont toujours réduits.
"auto" indique que le contrôle reste à l’état réduit jusqu’à ce que l’utilisateur déplace la souris
sur la zone active. La zone active correspond à la zone dans laquelle est dessiné le contrôle
réduit. Le contrôle reste développé jusqu’à ce que la souris quitte cette zone.
"on"
"off"
Remarque : La zone active se développe et se réduit avec le contrôleur.
Exemple
L’exemple suivant maintient le contrôleur ouvert en permanence :
monSupport.controllerPolicy = "on";
Media.controlPlacement
S’applique à
MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.controlPlacement
Description
Propriété : détermine l’endroit où la portion du contrôleur du composant MediaPlayback est
positionnée par rapport à son affichage. Les valeurs possibles sont "top" (haut), "bottom" (bas),
"left" (gauche) et "right" (droite). La valeur par défaut est "bottom".
Exemple
Dans l’exemple suivant, la portion du contrôleur du composant MediaPlayback sera située sur le
côté droit :
monSupport.controlPlacement = "right";
Composants de support (Flash Professionnel uniquement)
371
Media.cuePoint
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.cuePoint = function(objetEvt){
// insérez votre code ici
}
monSupport.addEventListener("pointRepère", objetDécoute)
Description
Evénement : notification indiquant que la tête de lecture a atteint le point de repère. L’objet
événement Media.cuePoint possède les propriétés suivantes :
name
Une chaîne indiquant le nom du point de repère.
Un nombre, exprimé en images ou en secondes, indiquant le moment où le point de
repère est atteint.
time
Une référence à l’objet point de repère.
target
type
La chaîne "pointRepère".
Exemple
L’exemple suivant utilise un écouteur d’objet pour déterminer le moment où un point de repère a
été atteint :
var monEcouteurPointRepère = new Object();
monEcouteurPointRepère.cuePoint = function(objetEvt){
trace("écouté " + eventObject.type + ", " + eventObject.target);
}
maLecture.addEventListener("pointRepère", monEcouteurPointRepère);
Voir aussi
Media.addCuePoint(), Media.cuePoints, Media.getCuePoint()
372
Chapitre 4 : Dictionnaire des composants
Media.cuePoints
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.cuePoints[N]
Description
Propriété : un tableau d’objets point de repère ayant été affectés à une occurrence de composant
MediaPlayback ou MediaDisplay. Dans le tableau, chaque objet point de repère peut avoir un
nom, un temps en secondes ou en images et une propriété de lecteur (qui est le nom d’occurrence
du composant auquel il est associé). La valeur par défaut est un tableau vide [].
Exemple
L’exemple suivant supprime le troisième point de repère en cas de lecture d’aperçu d’une action :
if(maVariable == actionPreview) {
monSupport.removeCuePoint(monSupport.cuePoints[2]);
}
Voir aussi
Media.addCuePoint(), Media.getCuePoint(), Media.removeCuePoint()
Media.displayFull()
S’applique à
MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.displayFull()
Paramètres
Aucun.
Renvoie
Rien.
Composants de support (Flash Professionnel uniquement)
373
Description
Méthode : définit l’occurrence du composant MediaPlayback en mode plein écran. En d’autres
termes, le composant se développe pour remplir la totalité de la scène. Pour que le composant
retrouve sa taille normale, utilisez Media.displayNormal().
Exemple
Le code suivant force le composant à se développer pour s’adapter à la taille de la scène :
monSupport.displayFull();
Voir aussi
Media.displayNormal()
Media.displayNormal()
S’applique à
MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.displayNormal()
Paramètres
Aucun.
Renvoie
Rien.
Description
Méthode : redéfinit l’occurrence de MediaPlayback sur sa taille normale après l’utilisation d’une
méthode Media.displayFull().
Exemple
Le code suivant renvoie un composant MediaPlayback à sa taille originale :
monSupport.displayNormal();
Voir aussi
Media.displayFull()
374
Chapitre 4 : Dictionnaire des composants
Media.getCuePoint()
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.getCuePoint(nomPointRepère)
Paramètres
Aucun.
Renvoie
nomPointRepère
La chaîne fournie lors de l’utilisation de Media.addCuePoint().
Description
Méthode : renvoie un objet point de repère en fonction de son nom de point de repère.
Exemple
Le code suivant récupère un point de repère appelé monPointDeRepère.
monSupport.removeCuePoint(monSupport.getCuePoint("monPointDeRepère"));
Voir aussi
Media.addCuePoint(), Media.cuePoint, Media.cuePoints, Media.removeCuePoint()
Media.horizontal
S’applique à
MediaController
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.horizontal
Composants de support (Flash Professionnel uniquement)
375
Description
Propriété : détermine si le composant MediaController est affiché verticalement ou
horizontalement. Une valeur true indique que le composant est affiché horizontalement et une
valeur false indique une orientation verticale. Lorsque la valeur est false, la tête de lecture et
l’indicateur de progression du chargement se déplacent de bas en haut. La valeur par défaut est
true.
Exemple
L’exemple suivant affiche le composant MediaController dans une position verticale :
monSupport.horizontal = false;
Media.mediaType
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.mediaType
Description
Propriété : contient la valeur du type de support à lire. Les deux choix possibles sont les
formats FLV et MP3. La valeur par défaut est "FLV". Consultez « Importation des fichiers FLV
(Macromedia Flash Video) », dans le guide Utilisation de Flash de l’aide.
Exemple
L’exemple suivant détermine le type de support actuel en cours de lecture :
var supportActuel = monSupport.mediaType;
Voir aussi
Media.setMedia()
Media.pause()
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
376
Chapitre 4 : Dictionnaire des composants
Usage
monSupport.pause()
Paramètres
Aucun.
Renvoie
Rien.
Description
Méthode : met la tête de lecture en pause à l’emplacement actuel.
Exemple
Le code suivant met la lecture en pause.
monSupport.pause()
Media.play()
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.play(pointDépart)
Paramètres
Une valeur entière non négative indiquant le point de départ (en secondes) de la
lecture du support.
pointDépart
Renvoie
Rien.
Description
Méthode : lit le support associé à l’occurrence de composant à un point de départ donné. La
valeur par défaut est la valeur actuelle de playheadTime.
Exemple
Le code suivant indique que la lecture du composant de support doit commencer à 120 secondes :
monSupport.play(120);
Voir aussi
Media.pause()
Composants de support (Flash Professionnel uniquement)
377
Media.playheadChange
S’applique à
MediaController, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.playheadChange = function(objetEvt){
// insérez votre code ici
}
monSupport.addEventListener("playheadChange", objetDécoute)
Description
Evénement : diffusé par le composant MediaController ou MediaPlayback lorsque l’utilisateur
déplace le curseur de lecture ou clique sur le bouton Rembobiner ou Atteindre la fin. L’objet
événement Media.playheadChange possède les propriétés suivantes :
detail
type
Un nombre indiquant le pourcentage de support qui a été lu.
La chaîne "playheadChange".
Exemple
L’exemple suivant envoie le pourcentage lu au panneau de sortie lorsque l’utilisateur arrête de
déplacer la tête de lecture :
var écouteurContrôle = new Object();
écouteurContrôle.playheadChange = function(objetEvt){
trace(eventObject.detail);
}
monSupport.addEventListener("playheadChange", écouteurContrôle);
Media.playheadTime
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.playheadTime
378
Chapitre 4 : Dictionnaire des composants
Description
Propriété : contient la position actuelle de la tête de lecture (en secondes) pour le scénario du
support en cours de lecture. La valeur par défaut est définie sur l’emplacement de la tête de
lecture.
Exemple
L’exemple suivant définit une variable à l’emplacement de la tête de lecture, indiqué en secondes :
var maTêteDeLecture = monSupport.playheadTime;
Media.playing
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.playing
Description
Propriété lecture seule : renvoie une valeur booléenne indiquant si le support est en cours de
lecture. Une valeur true indique que le support est en cours de lecture. Une valeur false indique
que le support est mis en pause par l’utilisateur.
Exemple
Le code suivant détermine si le support est en cours de lecture ou en pause :
if(monSupport.playing == true){
une fonction;
}
Voir aussi
Media.change
Media.preferredHeight
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Composants de support (Flash Professionnel uniquement)
379
Usage
monSupport.preferredHeight
Description
Propriété : définie en fonction de la valeur de la hauteur par défaut d’un fichier FLV. Cette
propriété s’applique uniquement aux supports FLV car la hauteur des fichiers MP3 est fixe. Cette
propriété peut être utilisée pour définir les paramètres de hauteur et de largeur (ainsi qu’une
marge pour le composant lui-même). La valeur par défaut est undefined si aucun support FLV
n’est défini.
Exemple
L’exemple suivant redimensionne une occurrence de MediaPlayback par rapport à l’occurrence
qu’elle lit et tient compte de la marge de pixels nécessaire à l’occurrence de composant :
if(maLecture.contentPath = !undefined){
var hauteurSupport = maLecture.preferredHeight;
var largeurSupport = maLecture.preferredWidth;
maLecture.setSize((largeurSupport + 20), (hauteurSupport + 70));
}
Media.preferredWidth
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.preferredWidth
Description
Propriété : définie en fonction de la valeur de la largeur par défaut d’un fichier FLV. La valeur par
défaut est undefined.
Exemple
L’exemple suivant définit la largeur désirée de la variable largeurSupport :
var largeurSupport = monSupport.preferredWidth;
Media.progress
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
380
Chapitre 4 : Dictionnaire des composants
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.progress = function(objetEvt){
// insérez votre code ici
}
monSupport.addEventListener("progress", objetDécoute)
Description
Evénement : est généré en continu jusqu’à la fin du téléchargement du support. L’objet
événement Media.progress possède les propriétés suivantes :
Une référence à l’occurrence du composant MediaDisplay ou MediaPlayback.
target
type
La chaîne "progress".
Exemple
L’exemple suivant écoute la progression :
var monEcouteurDeProgression = new Object();
monEcouteurDeProgression.progress = function(){
// Faites clignoter lightMovieClip pendant la progression
var lumièreVisible = lightMovieClip.visible;
lightMovieClip.visible = !lightVisible;
}
Media.removeAllCuePoints()
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.removeAllCuePoints()
Paramètres
Aucun.
Renvoie
Rien.
Description
Méthode : supprime tous les objets point de repère associés à une occurrence de composant.
Composants de support (Flash Professionnel uniquement)
381
Exemple
Le code suivant supprime tous les objets point de repère :
monSupport.removeAllCuePoints();
Voir aussi
Media.addCuePoint(), Media.cuePoints, Media.removeCuePoint()
Media.removeCuePoint()
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.removeCuePoint(pointRepère)
Paramètres
pointRepère Une référence à un
biais de Media.addCuePoint().
objet point de repère ayant été précédemment affecté par le
Renvoie
Rien.
Description
Méthode : supprime un objet point de repère spécifique associé à une occurrence de composant.
Exemple
Le code suivant supprime un point de repère appelé monPointRepère :
monSupport.removeCuePoint(getCuePoint("monPointRepère"));
Voir aussi
Media.addCuePoint(), Media.cuePoints, Media.removeAllCuePoints()
Media.setMedia()
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
382
Chapitre 4 : Dictionnaire des composants
Usage
monSupport.setMedia(contentPath, mediaType)
Paramètres
Une chaîne indiquant le chemin et le nom de fichier du support à lire.
contentPath
mediaType
Une chaîne utilisée pour définir le type de support sur FLV ou MP3. Ce paramètre
est facultatif.
Renvoie
Rien.
Description
Méthode : définit le type de support et le chemin vers le type de support spécifié à l’aide d’un
argument d’URL. La valeur par défaut pour contentPath est undefined.
Cette méthode est la seule qui permette de définir le chemin du contenu et le type du support
pour les composants MediaPlayback et MediaDisplay.
Exemple
Le code suivant fournit un nouveau support à lire pour une occurrence de composant :
monSupport.setMedia("http://www.RogerMoore.com/moonraker.flv", "FLV");
Media.stop()
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.stop()
Paramètres
Aucun.
Renvoie
Rien.
Description
Méthode : arrête la tête de lecture et la déplace à la position 0, qui correspond au début du
support.
Composants de support (Flash Professionnel uniquement)
383
Exemple
Le code suivant arrête la tête de lecture et la déplace à l’heure = 0.
monSupport.stop()
Media.totalTime
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.totalTime
Description
Propriété : la durée totale du support, en secondes. Etant donné que le format de fichier FLV ne
fournit pas sa durée de lecture à un composant de support tant que son chargement n’est pas
terminé, il est nécessaire d’ajouter manuellement Media.totalTime de sorte que le curseur de
lecture puisse refléter précisément la durée de lecture réelle du support. La valeur par défaut pour
les fichiers MP3 est la durée de lecture du support. Pour les fichiers FLV, la valeur par défaut est
undefined.
Il est impossible de définir cette propriété pour les fichiers MP3 car cette information est
contenue dans l’objet Sound.
Exemple
L’exemple suivant définit la durée de lecture en secondes pour le support FLV :
monSupport.totalTime = 151;
Media.volume
S’applique à
MediaDisplay, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
monSupport.volume
384
Chapitre 4 : Dictionnaire des composants
Description
Propriété : stocke la valeur entière du paramètre volume, qui peut aller de 0 à 100. La valeur par
défaut pour cette propriété est 75.
Exemple
L’exemple suivant définit le volume maximum pour la lecture du support :
monSupport.volume = 100;
Voir aussi
Media.volume, Media.pause()
Media.volume
S’applique à
MediaController, MediaPlayback
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.volume = function(objetEvt){
// insérez votre code ici
}
monSupport.addEventListener("volume", objetDécoute)
Description
Evénement : diffusé lorsque la valeur du volume est réglée par l’utilisateur. L’objet événement
Media.volume possède les propriétés suivantes :
Une valeur entière comprise entre 0 et 100 qui représente le niveau de volume.
detail
type
La chaîne "volume".
Exemple
L’exemple suivant informe l’utilisateur que le volume est en cours de réglage.
var monEcouteurDeVol = new Object();
monEcouteurDeVol.volume = function(){
monChampDeTexte.text = "Volume réglé !";
}
monSupport.addEventListener("volume", monEcouteurDeVol)
Voir aussi
Media.volume
Composants de support (Flash Professionnel uniquement)
385
Composant Menu (Flash Professionnel uniquement)
Le composant Menu permet à un utilisateur de sélectionner un élément depuis un menu
déroulant, tout comme le menu Fichier ou Edition de la plupart des applications logicielles.
Un menu s’ouvre généralement dans une application lorsqu’un utilisateur survole un activateur de
menu de type bouton ou clique sur ce dernier. Vous pouvez également écrire un script indiquant à
un composant Menu de s’ouvrir lorsqu’un utilisateur appuie sur une touche spécifique.
Les composants Menu sont toujours créés dynamiquement à l’exécution. Vous devez ajouter le
composant au document à partir du panneau Composants, puis le supprimer pour l’ajouter dans
la bibliothèque. Utilisez le code suivant pour créer un menu avec ActionScript :
var monMenu = mx.controls.Menu.createMenu(parent, menuDataProvider);
Utilisez le code suivant pour ouvrir un menu dans une application :
monMenu.show(x, y);
Un événement menuShow est diffusé à l’ensemble des écouteurs des occurrences de Menu avant
que le menu ne soit rendu, afin de pouvoir mettre à jour l’état des éléments de menu. De la même
façon, un événement menuHide est diffusé juste après qu’une occurrence de menu est masquée.
Les éléments d’un menu sont décrits avec XML. Pour plus d’informations, consultez Présentation
du composant Menu : affichage et données, page 388.
Vous ne pouvez pas rendre le composant Menu accessible aux lecteurs d’écran.
Interaction avec le composant Menu (Flash Professionnel uniquement)
Vous pouvez utiliser la souris et le clavier pour interagir avec un composant Menu.
Une fois qu’un menu est ouvert, il reste visible jusqu’à ce qu’il soit fermé par un script ou jusqu’à
ce que l’utilisateur clique avec la souris en dehors du menu ou à l’intérieur d’un élément activé.
Vous pouvez sélectionner un élément de menu en cliquant sur ce dernier, excepté pour les types
d’éléments de menu suivants :
• Les éléments désactivés ou les séparateurs Les survols et clics n’ont aucun effet (le menu reste
•
visible).
Les ancres d’un sous-menu Les survols activent le sous-menu, les clics n’ont aucun effet. Le
survol de tout élément autre que ceux appartenant au sous-menu ferme le sous-menu.
Lorsqu’un élément est sélectionné, un événement Menu.change est envoyé à l’ensemble des
écouteurs du menu, le menu est masqué et les actions suivantes se produisent, en fonction du type
d’élément :
•
•
check
radio
L’attribut selected de l’élément est activé.
L’élément devient la sélection actuelle de son groupe de boutons radio.
Le déplacement de la souris déclenche des événements Menu.rollOut et Menu.rollOver.
Le fait d’appuyer sur le bouton de la souris en dehors du menu ferme le menu et déclenche un
événement Menu.menuHide.
386
Chapitre 4 : Dictionnaire des composants
Le fait de relâcher le bouton de la souris dans un élément activé affecte les types d’éléments
comme suit :
•
•
•
L’attribut selected de l’élément est activé.
radio L’attribut selected de l’élément est défini sur true et l’attribut selected de
l’élément précédemment sélectionné dans le groupe de boutons radio est défini sur false. La
propriété selection de l’objet groupe de boutons radio correspondant est définie pour faire
référence à l’élément de menu sélectionné.
undefined et le parent d’un menu hiérarchique La visibilité du menu hiérarchique est activée.
check
Lorsqu’une occurrence de Menu a le focus via un clic ou l’utilisation de la tabulation, vous pouvez
utiliser les touches suivantes pour la contrôler :
Touche
Description
Flèche vers le bas Déplace la sélection de bas en haut dans les lignes du menu. La sélection boucle
dans la première ou la dernière ligne.
Flèche vers le
haut
Flèche vers la
droite
Ouvre un sous-menu ou déplace la sélection vers le menu suivant dans une barre
de menus (si une barre de menus est disponible).
Flèche vers la
gauche
Ferme un sous-menu et renvoie le focus au menu parent (si un menu parent est
disponible) ou déplace la sélection vers le menu précédent dans une barre de
menus (si une barre de menus est disponible).
Entrée
Ouvre un sous-menu, ou clique et relâche le bouton de la souris sur une ligne si
aucun sous-menu n’existe.
Remarque : Si un menu est ouvert, vous pouvez appuyer sur la touche de tabulation pour quitter le
menu. Vous devez effectuer une sélection ou quitter le menu en appuyant sur Echap.
Utilisation du composant Menu (Flash Professionnel uniquement)
Vous pouvez utiliser le composant Menu pour créer des menus d’options sélectionnables
individuellement semblables aux menus Fichier et Edition de la plupart des applications
logicielles. Vous pouvez également utiliser le composant Menu pour créer des menus contextuels
qui s’affichent lorsque l’utilisateur appuie sur une zone sensible ou une touche de modification.
Utilisez le composant Menu avec le composant MenuBar pour créer une barre de menus
horizontale contenant des menus qui se développent sous chaque élément de la barre de menus.
Tout comme les menus d’ordinateur de bureau standard, le composant Menu supporte les
éléments de menu dont les fonctions correspondent aux catégories générales suivantes :
Activateurs de commandes Ces éléments déclenchent des événements. Vous devez écrire du
code pour gérer ces événements.
Ancres de sous-menus
Boutons radio
Ces éléments sont des ancres qui ouvrent des sous-menus.
Ces éléments fonctionnent par groupe. Vous ne pouvez sélectionner qu’un
élément à la fois.
Eléments de case à cocher
Ces éléments représentent une valeur booléenne (true ou false).
Ces éléments fournissent une ligne horizontale unique qui divise les éléments
d’un menu en différents groupes visuels.
Séparateurs
Composant Menu (Flash Professionnel uniquement)
387
Présentation du composant Menu : affichage et données
Au niveau de sa conception, le composant Menu est composé d’un modèle de données et d’une
vue qui affiche les données. La classe Menu est la vue et elle contient les méthodes de
configuration visuelle. La Classe MenuDataProvider ajoute des méthodes à l’objet prototype XML
global (tout comme la classe DataProvider le fait pour l’objet Array). Ces méthodes vous
permettent de créer des fournisseurs de données de façon externe et de les ajouter à plusieurs
occurrences de menu. Le fournisseur de données diffuse toutes les modifications à l’ensemble de
ses vues client. Pour plus d’informations, consultez Classe MenuDataProvider, page 410.
Une occurrence de Menu est un ensemble hiérarchique d’éléments XML correspondant aux
éléments de menu individuels. Les attributs définissent le comportement et l’apparence de
l’élément de menu correspondant à l’écran. Cet ensemble peut facilement être traduit depuis et
vers le langage XML, qui est utilisé pour décrire les menus (la balise de menu) et les éléments (la
balise menuitem). La classe XML ActionScript intégrée est la base du modèle sous-jacent du
composant Menu.
Un menu simple contenant deux éléments peut être décrit dans XML avec deux sous-éléments
d’élément de menu :
<Menu>
<menuitem label="Haut" />
<menuitem label="Bas" />
</menu>
Remarque : Les noms de balise des nœuds XML (menu et menuitem) ne sont pas importants. Les
attributs et leurs relations d’imbrication sont utilisés dans le menu.
A propos des menus hiérarchiques
Pour créer des menus hiérarchiques, imbriquez des éléments XML dans un élément XML parent
de la manière suivante :
<Menu>
<menuitem label="ElémentMenu A" >
<menuitem label="ElémentSousMenu
<menuitem label="ElémentSousMenu
</menuitem>
<menuitem label="ElémentMenu B" >
<menuitem label="ElémentSousMenu
<menuitem label="ElémentSousMenu
</menuitem>
</menu>
1-A" />
2-A" />
1-B" />
2-B" />
Remarque : Ceci convertit l’élément du menu parent en ancre de menu déroulant, pour qu’il ne
génère pas d’événement une fois sélectionné.
388
Chapitre 4 : Dictionnaire des composants
A propos des attributs XML d’élément de menu
Les attributs de l’élément XML d’un élément de menu déterminent ce qui est affiché, le
comportement de l’élément de menu et la façon dont il est exposé à ActionScript. Le tableau
suivant décrit les attributs d’un élément de menu XML :
Nom de
l’attribut
Type
Valeur par
défaut
Description
label
String
undefined
Le texte affiché pour représenter un élément de
menu. Cet attribut est requis pour tous les types
d’élément, excepté pour les séparateurs.
type
separator,
check, radio,
normal ou
undefined
Le type d’élément de menu : separator, check box,
radio button ou normal (une commande ou un
activateur de sous-menu). Si cet attribut n’existe
pas, la valeur par défaut est normal.
undefined
icon
String
undefined
L’identificateur de liaison d’un actif d’image. Cet
attribut n’est pas requis. Cet attribut n’est pas
disponible pour les types check, radio, ou
separator.
instanceName
String
undefined
Un identificateur que vous pouvez utiliser pour faire
référence à l’occurrence d’élément de menu depuis
l’occurrence de menu racine. Par exemple, un
élément de menu nommé jaune peut être référencé
en tant que monMenu.jaune. Cet attribut n’est pas
requis.
groupName
String
undefined
Un identifiant que vous pouvez utiliser pour
associer plusieurs boutons radio au sein d’un
groupe radio et pour exposer l’état d’un groupe
radio à partir de l’occurrence de menu racine. Par
exemple, un groupe radio nommé couleurs peut
être référencé en tant que monMenu.couleurs. Cet
attribut est uniquement requis pour le type radio.
selected
false, true ou false
false ou true
(une chaîne ou
une valeur
booléenne)
enabled
false, true ou true
false ou true
(une chaîne ou
une valeur
booléenne)
Une valeur booléenne indiquant si un élément check
ou radio est activé (true) ou désactivé (false). Cet
attribut n’est pas requis.
Une valeur booléenne indiquant si l’élément de
menu peut être sélectionné (true) ou non (false).
Cet attribut n’est pas requis.
Composant Menu (Flash Professionnel uniquement)
389
A propos des types d’élément de menu
Il existe quatre types d’élément de menu, spécifiés par l’attribut type :
<Menu>
<menuitem label="Elément normal" />
<menuitem type="separator" />
<menuitem label="Elément Case à cocher" type="check"
instanceName="cocher_1"/>
<menuitem label="Elément Bouton radio" type="radio"
groupName="groupeRadio_1" />
</menu>
Eléments de menu normaux
L’élément de menu normal ne possède pas d’attribut type, ce qui signifie que son attribut type
prend par défaut la valeur normal. Les éléments normaux peuvent être des activateurs de
commande ou des activateurs de sous-menu, selon qu’ils comportent des sous-éléments imbriqués
ou non.
Eléments de menu séparateurs
Les éléments de menu dont l’attribut type est défini sur separator servent de séparateurs visuels
dans le menu. Le code XML suivant crée les trois éléments de menu Haut, Milieu et Bas, ainsi
que des séparateurs entre chacun d’entre eux :
<Menu>
<menuitem
<menuitem
<menuitem
<menuitem
<menuitem
</menu>
label="Haut" />
type="separator" />
label="Milieu" />
type="separator" />
label="Bas" />
Tous les éléments séparateurs sont désactivés. Le fait de cliquer ou de passer la souris sur un
séparateur n’a aucun effet.
Eléments de menu Case à cocher
Les éléments de menu dont l’attribut type est défini sur check jouent le rôle de case à cocher
dans le menu ; lorsque l’attribut selected est défini sur true, une case à cocher apparaît en
regard de l’étiquette de l’élément de menu. Lorsqu’un élément case à cocher est sélectionné, son
état change immédiatement et un événement change est diffusé à tous les écouteurs du menu
racine. L’exemple suivant définit trois éléments de menu de type case à cocher :
<Menu>
<menuitem label="Pommes" type="check" instanceName="acheterDesPommes"
selected="true" />
<menuitem label="Oranges" type="check" instanceName="acheterDesOranges"
selected="false" />
<menuitem label="Bananes" type="check" instanceName="acheterDesBananes"
selected="false" />
</menu>
Dans ActionScript, les noms d’occurrence vous permettent d’accéder directement aux éléments de
menu à partir du menu, comme dans l’exemple suivant :
monMenu.setMenuItemSelected(monMenu.acheterdespommes, true);
monMenu.setMenuItemSelected(monMenu.acheterdesoranges, false);
390
Chapitre 4 : Dictionnaire des composants
Remarque : Pour modifier l’attribut selected, seule la méthode setMenuItemSelected(item, b) doit
être utilisée. Vous pouvez examiner directement l’attribut selected, mais celui-ci renvoie une valeur
de chaîne true ou false.
Eléments de menu Bouton radio
Les éléments de menu dont l’attribut type est défini sur radio peuvent être groupés de sorte que
seul un élément puisse être sélectionné à la fois. Pour créer un groupe radio, affectez la même
valeur à l’attribut groupName de tous les éléments de menu à inclure dans le groupe, comme dans
l’exemple suivant :
<Menu>
<menuitem label="Centre" type="radio" groupName="groupe_alignement"
instanceName="élément_centre"/>
<menuitem type="separator" />
<menuitem label="Haut"
type="radio" groupName="groupe_alignement" />
<menuitem label="Bas" type="radio" groupName="groupe_alignement" />
<menuitem label="Droite" type="radio" groupName="groupe_alignement" />
<menuitem label="Gauche"
type="radio" groupName="groupe_alignement" />
</menu>
Lorsque l’utilisateur sélectionne l’un des éléments, la sélection en cours change automatiquement
et un événement change est diffusé à tous les écouteurs du menu racine. Dans ActionScript, la
propriété sélection permet de faire référence à l’élément actuellement sélectionné dans le
groupe radio, comme dans l’exemple suivant :
var élémentMenuSélectionné = monMenu.groupe_alignement.sélection;
monMenu.groupe_alignement = monMenu.élément_centre;
Chaque valeur groupName doit être unique dans le domaine de l’occurrence de menu racine.
Remarque : Pour modifier l’attribut selected, seule la méthode setMenuItemSelected(item, b) doit
être utilisée. Vous pouvez examiner directement l’attribut selected, mais celui-ci renvoie une valeur
de chaîne true ou false.
Exposition des éléments de menu à ActionScript
Vous pouvez utiliser l’attribut instanceName pour affecter un identifiant unique à chaque
élément de menu et ainsi pouvoir y accéder directement à partir du menu racine. Par exemple, le
code XML suivant définit les attributs instanceName de chaque élément de menu :
<Menu>
<menuitem label="Elément 1" instanceName="élément_1" />
<menuitem label="Elément 2" instanceName="élément_2" >
<menuitem label="Sous-élément A" instanceName="sous_élément_A" />
<menuitem label="Sous-élément B" instanceName="sous_élément_B" />
</menuitem>
</menu>
Vous pouvez utiliser ActionScript pour accéder aux occurrences d’objet correspondantes et à leurs
attributs directement depuis le composant menu, comme dans l’exemple suivant :
var unElémentDeMenu = monMenu.élément_1;
monMenu.setMenuItemEnabled(élément_2, true);
var uneEtiquette = monMenu.sous_élément_A.label;
Remarque : Chaque attribut instanceName doit être unique dans le domaine de l’occurrence de
menu racine (y compris dans tous les sous-menus du menu racine).
Composant Menu (Flash Professionnel uniquement)
391
A propos des propriétés d’objet d’initialisation
Le paramètre objetInit (objet d’initialisation) joue un rôle fondamental dans la création de la
disposition du composant Menu. Le paramètre objetInit est un objet possédant des propriétés.
Chaque propriété représente l’un des attributs XML possibles d’un élément de menu (pour
obtenir la description des propriétés autorisées dans le paramètre objetInit, consultez A propos
des attributs XML d’élément de menu, page 389).
Le paramètre objetInit est utilisé dans les méthodes suivantes :
•
•
•
•
Menu.addMenuItem()
Menu.addMenuItemAt()
MenuDataProvider.addMenuItem()
inboxMenuDataProvider.addMenuItemAt()
L’exemple suivant crée un paramètre objetInit avec deux propriétés, label et instanceName :
var i = monMenu.addMenuItem({label:"monElémentDeMenu",
instanceName:"monPremierElément"});
Vous pouvez conjuguer plusieurs propriétés pour créer un type particulier d’élément de menu.
Vous affectez des propriétés spécifiques pour créer certains types d’éléments de menu (normal,
séparateur, case à cocher ou bouton radio).
Pour initialiser un élément de menu normal, par exemple, utilisez le paramètre objetInit
suivant :
monMenu.addMenuItem({label:"monElémentDeMenu", enabled:true, icon:"monIcône",
instanceName:"monPremierElément"});
Pour initialiser un élément de menu séparateur, utilisez le paramètre objetInit suivant :
monMenu.addMenuItem({type:"separator"});
Pour initialiser un élément de menu case à cocher, utilisez le paramètre objetInit suivant :
monMenu.addMenuItem({type:"check", label:"maCaseACocher", enabled:false,
selected:true, instanceName:"maPremièreCaseACocher"})
Pour initialiser un élément de menu bouton radio, utilisez le paramètre objetInit suivant :
monMenu.addMenuItem({type:"radio", label:"monBoutonRadio1", enabled:true,
selected:false, groupName:"monGroupeRadio"
instanceName:"monPremierBoutonRadio"})
Il est important de noter que les attributs instanceName, groupName et type d’un élément de
menu doivent être considérés comme des éléments en lecture seule. Définissez-les uniquement au
moment où vous créez un élément (par exemple, dans un appel de addMenuItem()). Si vous
modifiez ces attributs par la suite, ils risquent de produire des résultats imprévisibles.
Paramètres du composant Menu
Il n’existe pas de paramètres de création pour le composant Menu.
Vous pouvez rédiger du code ActionScript pour contrôler le composant Menu à l’aide de ses
propriétés, méthodes et événements. Pour plus d’informations, consultez Classe Menu (Flash
Professionnel uniquement), page 396.
392
Chapitre 4 : Dictionnaire des composants
Création d’une application avec le composant Menu
Dans l’exemple ci-dessous, un développeur crée une application et utilise le composant Menu
pour exposer quelques-unes des commandes que les utilisateurs peuvent émettre, telles que
Ouvrir, Fermer, Enregistrer, etc.
Pour créer une application avec le composant Menu :
1 Choisissez Fichier > Nouveau pour créer un document Flash.
2 Faites glisser le composant Menu du panneau Composants jusqu’à la scène et supprimez-le.
Le composant Menu est ajouté à la bibliothèque, mais pas à l’application. Les menus sont créés
dynamiquement à l’aide d’ActionScript.
3 Faites glisser un composant Button du panneau Composants vers la scène.
Cliquez sur le bouton pour activer le menu.
4 Dans l’inspecteur des propriétés, donnez au bouton le nom d’occurrence BtnCommande et la
propriété text Commandes.
5 Dans le panneau Actions de la première image, entrez le code suivant pour ajouter un écouteur
d’événement click à l’occurrence BtnCommande :
var écouteur = new Object();
écouteur.click = function(objEvt) {
var bouton = objEvt.target;
if(bouton.menu == undefined) {
// Créer une occurrence de menu et ajouter quelques éléments
bouton.menu = mx.controls.Menu.createMenu();
bouton.menu.addMenuItem("Ouvrir");
bouton.menu.addMenuItem("Fermer");
bouton.menu.addMenuItem("Enregistrer");
bouton.menu.addMenuItem("Rétablir");
// Ajouter un écouteur de l’événement change pour détecter les
sélections
var écouteurChange = new Object();
écouteurChange.change = function(événement) {
var élément = événement.menuItem;
trace("Elément sélectionné : " + élément.attributes.label);
}
bouton.menu.addEventListener("change", écouteurChange);
}
bouton.menu.show(bouton.x, bouton.y + bouton.height);
}
btnCommande.addEventListener("click", écouteur);
6 Choisissez Contrôle > Tester l’animation.
Cliquez sur le bouton Commandes pour afficher le menu. Sélectionnez des éléments de menu
pour visualiser les éléments sélectionnés tels qu’ils ont été consignés par les actions trace dans
le panneau de sortie.
Pour utiliser les données XML d’un serveur afin de créer et d’alimenter un menu :
1 Choisissez Fichier > Nouveau pour créer un document Flash.
2 Faites glisser le composant Menu du panneau Composants jusqu’à la scène et supprimez-le.
Le composant Menu est ajouté à la bibliothèque, mais pas à l’application. Les menus sont créés
dynamiquement à l’aide d’ActionScript.
Composant Menu (Flash Professionnel uniquement)
393
3 Dans le panneau Actions, ajoutez le code suivant à la première image pour créer un menu et lui
ajouter quelques éléments :
var monMenu = mx.controls.Menu.createMenu();
// Importer un fichier XML
var loader = new XML();
loader.menu = monMenu;
loader.ignoreWhite = true;
loader.onLoad = function(succès) {
// Transmettre les données au menu lorsqu’elles arrivent
if (succès) {
this.menu.dataProvider = this.firstChild;
}
};
loader.load(url);
Remarque : Les éléments de menu sont décrits par les enfants du premier enfant du document
XML.
4 Choisissez Contrôle > Tester l’animation.
Pour utiliser une chaîne XML bien construite afin de créer et d’alimenter un menu :
1 Choisissez Fichier > Nouveau pour créer un document Flash.
2 Faites glisser le composant Menu du panneau Composants jusqu’à la scène et supprimez-le.
Le composant Menu est ajouté à la bibliothèque, mais pas à l’application. Les menus sont créés
dynamiquement à l’aide d’ActionScript.
3 Dans le panneau Actions, ajoutez le code suivant à la première image pour créer un menu et lui
ajouter quelques éléments :
// Créer une chaîne XML contenant une définition de menu
var s = "";
s += "<menu>";
s += "<menuitem label='Annuler' />";
s += "<menuitem type='separator' />";
s += "<menuitem label='Couper' />";
s += "<menuitem label='Copier' />";
s += "<menuitem label='Coller' />";
s += "<menuitem label='Effacer' />";
s += "<menuitem type='separator' />";
s += "<menuitem label='Sélectionner tout' />";
s += "</menu>";
// Créer un objet XML à partir de la chaîne
var xml = new XML(s);
xml.ignoreWhite = true;
// Créer un menu à partir du premier enfant de l’objet XML
var monMenu = mx.controls.Menu.createMenu(_root, xml.firstChild);
4 Choisissez Contrôle > Tester l’animation.
Pour utiliser la classe MenuDataProvider pour créer et alimenter un menu :
1 Choisissez Fichier > Nouveau pour créer un document Flash.
2 Faites glisser le composant Menu du panneau Composants jusqu’à la scène et supprimez-le.
Le composant Menu est ajouté à la bibliothèque, mais pas à l’application. Les menus sont créés
dynamiquement à l’aide d’ActionScript.
394
Chapitre 4 : Dictionnaire des composants
3 Dans le panneau Actions, ajoutez le code suivant à la première image pour créer un menu et lui
ajouter quelques éléments :
// Créer un objet XML qui servira de jeu préconfiguré
var xml = new XML();
// Le prochain élément créé n’apparaîtra pas dans le menu.
// L’appel de la méthode ’createMenu’ (ci-dessous) attend la
// réception d’un élément racine dont les enfants deviendront
// les éléments du menu. Il s’agit simplement d’une méthode pour créer
facilement cet
// élément racine et lui donner un nom
// pratique.
var élémentDeMenu = xml.addMenuItem("Edition");
// Ajouter les éléments de menu
élémentDeMenu.addMenuItem({label:"Annuler"});
élémentDeMenu.addMenuItem({type:"separator"});
élémentDeMenu.addMenuItem({label:"Couper"});
élémentDeMenu.addMenuItem({label:"Copier"});
élémentDeMenu.addMenuItem({label:"Coller"});
élémentDeMenu.addMenuItem({label:"Effacer", enabled:"false"});
élémentDeMenu.addMenuItem({type:"separator"});
élémentDeMenu.addMenuItem({label:"Sélectionner tout"});
// Créer l’objet Menu
var laCommandeMenu = mx.controls.Menu.createMenu(_root, élémentDeMenu);
4 Choisissez Contrôle > Tester l’animation.
Personnalisation du composant Menu
La taille horizontale du menu s’ajuste automatiquement pour contenir le texte le plus long. Vous
pouvez également appeler la méthode setSize() pour définir la taille du composant. La taille des
icônes ne doit pas dépasser 16 pixels par 16 pixels.
Utilisation de styles avec le composant Menu
Vous pouvez appeler la méthode setStyle() pour modifier le style du menu, de ses éléments et
de ses sous-menus. Un composant Menu supporte les styles de halo suivants :
Style
Description
themeColor
Couleur d’arrière-plan du menu. Il s’agit du seul style de couleur qui
n’hérite pas de sa valeur.
color
Couleur de l’étiquette de texte d’un élément de menu.
disabledColor
Couleur désactivée pour du texte.
fontFamily
Nom de police pour du texte.
fontSize
Taille en points pour la police.
fontStyle
Style de police : normal ou italic.
fontWeight
Epaisseur de la police : normal ou bold.
rollOverColor
Couleur des éléments de menu survolés par le curseur.
selectionColor
Eléments sélectionnés et éléments contenant des sous-menus.
Composant Menu (Flash Professionnel uniquement)
395
Style
Description
selectionDisabledColor
Eléments sélectionnés et éléments contenant des sous-menus et
étant désactivés.
textRollOverColor
Couleur du texte lorsque le curseur passe sur un élément.
textDecoration
Décoration du texte : none ou underline.
textDisabledColor
Couleur du texte désactivé.
textSelectedColor
Couleur du texte d’un élément de menu sélectionné.
popupDuration
Durée de la transition lorsqu’un menu s’ouvre. La valeur 0 signifie
aucune transition.
Utilisation d’enveloppes avec le composant Menu
Pour des informations actualisées sur cette fonction, cliquez sur le bouton Mettre à jour dans la
partie supérieure de l’onglet Aide.
Classe Menu (Flash Professionnel uniquement)
Héritage
UIObject > UIComponent > View > ScrollView > ScrollSelectList > Menu
Nom de classe ActionScript
mx.controls.Menu
Méthodes de la classe Menu
Méthode
Description
Menu.addMenuItem()
Ajoute un élément de menu au menu.
Menu.addMenuItemAt()
Ajoute un élément de menu à un endroit spécifique du menu.
Menu.createMenu()
Crée une occurrence de la classe Menu. C’est une méthode statique.
Menu.getMenuItemAt()
Obtient une référence à un élément de menu, à un emplacement
spécifique.
Menu.hide()
Ferme un menu.
Menu.indexOf()
Renvoie l’index d’un élément de menu donné.
Menu.removeAll()
Supprime tous les éléments d’un menu.
Menu.removeMenuItemAt()
Supprime un élément de menu à un emplacement spécifique d’un
menu.
Menu.setMenuItemEnabled()
Indique si un élément de menu est activé (true) ou non (false).
Menu.setMenuItemSelected() Indique si un élément de menu est sélectionné (true) ou non (false).
Menu.show()
Ouvre un menu à un emplacement spécifique ou à son emplacement
précédent.
Hérite de toutes les méthodes des classes UIObject, UIComponent, ScrollView et ScrollSelectList.
396
Chapitre 4 : Dictionnaire des composants
Propriétés de la classe Menu
Propriété
Description
Menu.dataProvider
Source de données d’un menu.
Hérite de toutes les propriétés des classes UIObject, UIComponent, ScrollView et ScrollSelectList.
Evénements de la classe Menu
Evénement
Description
Menu.change
Diffusé lorsqu’un utilisateur sélectionne un élément.
Menu.menuHide
Diffusé lorsqu’un menu se ferme.
Menu.menuShow
Diffusé lorsqu’un menu s’ouvre.
Menu.rollOut
Diffusé lorsque le pointeur cesse de survoler un élément.
Menu.rollOver
Diffusé lorsque le pointeur passe au-dessus d’un élément.
Hérite de tous les événements des classes UIObject, UIComponent, ScrollView et ScrollSelectList
Menu.addMenuItem()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Usage 1 :
monMenu.addMenu(objetInit)
Usage 2 :
monMenu.addMenu(élémentMenuEnfant)
Paramètres
objetInit Objet contenant les propriétés d’initialisation des attributs d’un élément de menu.
Pour plus d’informations, consultez A propos des attributs XML d’élément de menu, page 389.
élémentMenuEnfant
Objet nœud XML.
Renvoie
Une référence au nœud XML ajouté.
Description
Méthode : dans l’usage 1, ajoute un élément de menu à la fin du menu. L’élément de menu est
construit à partir des valeurs fournies dans le paramètre objetInit. Dans l’usage 2, ajoute un
élément de menu (nœud XML prédéfini) sous la forme d’un objet XML à la fin du menu. Si le
nœud ajouté existe déjà, il est supprimé de son emplacement précédent.
Composant Menu (Flash Professionnel uniquement)
397
Exemple
Usage 1 : L’exemple suivant ajoute un élément de menu à un menu :
monMenu.addMenuItem({ label:"Elément 1", type:"radio", selected:false,
enabled:true, instanceName:"elémentRadio1", groupName:"monGroupeRadio" } );
Usage 2 : L’exemple suivant déplace un nœud d’un menu vers la racine d’un autre menu :
monMenu.addMenuItem(monDeuxièmeMenu.getMenuItemAt(monDeuxièmeMenu, 3));
Menu.addMenuItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Usage 1 :
monMenu.addMenuItemAt(index, objetInit)
Usage 2 :
monMenu.addMenuItemAt(index, élémentMenuEnfant)
Paramètres
index
Entier indiquant la position (parmi les nœuds enfants) à laquelle l’élément est ajouté.
objetInit Objet contenant les propriétés d’initialisation des attributs d’un élément de menu.
Pour plus d’informations, consultez A propos des attributs XML d’élément de menu, page 389.
élémentMenuEnfant
Objet nœud XML.
Renvoie
Une référence au nœud XML ajouté.
Description
Méthode : dans l’usage 1, ajoute un élément de menu (nœud enfant) à l’emplacement indiqué
dans le menu. L’élément de menu est construit à partir des valeurs fournies dans le paramètre
objetInit. Dans l’usage 2, ajoute un élément de menu (nœud XML prédéfini) sous la forme
d’un objet XML à un emplacement spécifié dans le menu. Si le nœud ajouté existe déjà, il est
supprimé de son emplacement précédent.
Exemple
Usage 1 : L’exemple suivant ajoute un nouveau nœud en tant que deuxième enfant de la racine du
menu :
monMenu.addMenuItemAt(1, { label:"Elément 1", instanceName:"élémentRadio1",
type:"radio", selected:false, enabled:true, groupName:"monGroupeRadio" } );
Usage 2 : L’exemple suivant déplace un nœud d’un menu vers le quatrième enfant de la racine
d’un autre menu :
monMenu.addMenuItemAt(3, monDeuxièmeMenu.getMenuItemAt(monDeuxièmeMenu, 3));
398
Chapitre 4 : Dictionnaire des composants
Menu.change
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.change = function(objetEvt){
// insérez votre code ici
}
monMenu.addEventListener("change", objetDécoute)
Description
Evénement : diffusé à l’ensemble des écouteurs enregistrés chaque fois qu’un utilisateur provoque
un changement dans le menu.
Les composants V2 font appel à un modèle d’événement dispatcher/écouteur. Lorsqu’un
composant Menu diffuse un événement change, l’événement est géré par une fonction
(également appelée gestionnaire) associée à un objet d’écoute (objetDécoute) que vous créez.
Vous appelez la méthode addEventListener() et lui transmettez le nom du gestionnaire en tant
que paramètre.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. L’objet événement de l’événement Menu.change possède les propriétés
supplémentaires suivantes :
•
•
•
•
Référence à l’occurrence de composant MenuBar qui est le parent du Menu cible.
Elle prend la valeur undefined si le menu cible n’appartient pas à un menu.
menu Référence à l’occurrence de composant Menu contenant l’élément cible.
menuItem Nœud XML représentant l’élément de menu sélectionné.
groupName Chaîne indiquant le nom du groupe de boutons radios auquel l’élément
appartient. Elle prend la valeur undefined si l’élément n’appartient pas à un groupe de boutons
radios.
menuBar
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
Dans l’exemple suivant, un gestionnaire appelé écouteur est défini et transmis à la méthode
monMenu.addEventListener() en tant que deuxième paramètre. L’objet événement est capturé
par le gestionnaire change du paramètre événement. Lorsque l’événement change est diffusé,
une instruction trace est envoyée au panneau Sortie, comme suit :
listener = new Object();
écouteur.change = function(evt){
trace("Elément de menu sélectionné : "+evt.menuItem.attributes.label);
}
monMenu.addEventListener("change", écouteur)
Composant Menu (Flash Professionnel uniquement)
399
Menu.createMenu()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Menu.createMenu(parent, mdp)
Paramètres
parent Occurrence du composant MovieClip. Le clip est le composant parent contenant la
nouvelle occurrence de menu. Ce paramètre est facultatif.
Occurrence de composant MenuDataProvider décrivant cette occurrence de menu.
Ce paramètre est facultatif.
mdp
Renvoie
Une référence à la nouvelle occurrence de menu.
Description
Méthode (statique) : crée une occurrence de menu et l’associe (éventuellement) au parent
indiqué ; la classe MenuDataProvider est spécifiée en tant que source de données des éléments de
menu.
Si l’argument parent est omis ou null, le menu est associé au scénario _root.
Si l’argument mdp est omis ou null, le menu ne contient aucun élément ; vous devez appeler les
méthodes addMenu() ou setDataProvider() pour l’alimenter.
Exemple
Dans l’exemple suivant, la ligne 1 crée une occurrence du composant MenuDataProvider, c’est-àdire un objet XML décoré avec les méthodes de la classe MenuDataProvider. Les lignes suivantes
ajoutent un élément de menu (Nouveau) et des sous-menus (Fichier, Projet et Ressource). Le bloc
de code suivant ajoute d’autres éléments au menu principal. Le troisième bloc de code crée un
menu vide associé à monClipParent, l’alimente avec la source de données monMDP (pour
MenuData Provider) et l’ouvre à l’emplacement spécifié (coordonnées 100, 20), comme suit :
var monMDP = new XML();
var élémentNouveau = monMDP.addMenuItem({label:"Nouveau"});
élémentNouveau.addMenuItem({label:"Fichier..."});
élémentNouveau.addMenuItem({label:"Projet..."});
élémentNouveau.addMenuItem({label:"Ressource..."});
monMDP.addMenuItem({label:"Ouvrir", instanceName:"miOuvrir"});
monMDP.addMenuItem({label:"Enregistrer", instanceName:"miEnregistrer"});
monMDP.addMenuItem({type:"separator"});
monMDP.addMenuItem({label:"Quitter", instanceName:"miQuitter"});
var monMenu = mx.controls.Menu.createMenu(monClipParent, monMDP);
monMenu.show(100, 20);
400
Chapitre 4 : Dictionnaire des composants
Pour tester ce code, placez-le sur l’image 1 du scénario principal dans le panneau Actions. Faites
glisser un composant Menu du panneau Composants vers la scène et supprimez-le. Il est ajouté à
la bibliothèque, mais pas au document.
Menu.dataProvider
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monMenu.dataProvider
Description
Propriété : la source de données des éléments d’un composant Menu.
Menu.dataProvider est un objet nœud XML. La définition de cette propriété remplace la source
de données actuelle du menu.
La valeur par défaut est undefined.
Remarque : Toutes les occurrences XML ou XMLNode héritent automatiquement des méthodes et
propriétés de l’API MenuDataProvider lorsqu’elles sont utilisées avec le composant Menu.
Exemple
L’exemple suivant importe un fichier XML et l’affecte à la propriété Menu.dataProvider :
var monMenuDP = new XML();
monMenuDP.load("http://monServeur.monDomaine.com/source.xml");
monMenuDP.onLoad = function(){
maCommandeMenu.dataProvider = monMenuDP;
}
Menu.getMenuItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monMenu.getMenuItemAt(index)
Paramètres
index
Entier spécifiant l’index du nœud dans le menu.
Renvoie
Une référence au nœud spécifié.
Composant Menu (Flash Professionnel uniquement)
401
Description
Méthode : renvoie une référence au nœud enfant spécifié dans le menu.
Exemple
L’exemple suivant obtient une référence au deuxième nœud enfant de monMenu et en copie la
valeur dans la variable monElément :
var monElément = monMenu.getMenuItemAt(1);
Menu.hide()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monMenu.hide()
Paramètres
index
Index de l’élément Menu.
Renvoie
Rien.
Description
Méthode : ferme un menu en appliquant éventuellement des effets de transition.
Exemple
L’exemple suivant permet de réduire un menu développé :
monMenu.hide();
Voir aussi
Menu.show()
Menu.indexOf()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monMenu.indexOf(élément)
Paramètres
élément
402
Référence à un nœud XML qui décrit un élément de menu.
Chapitre 4 : Dictionnaire des composants
Renvoie
L’index de l’élément de menu spécifié, ou undefined si l’élément n’appartient pas au menu.
Description
Méthode : renvoie l’index, dans cette occurrence de menu, de l’élément de menu spécifié.
Exemple
L’exemple suivant ajoute un élément de menu à un élément parent, puis obtient l’index de
l’élément dans ce parent :
var monElément = monMenu.addMenuItem({label:"CetElément"});
var monIndex = monMenu.indexOf(monElément);
Menu.menuHide
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.menuHide = function(objetEvt){
// insérez votre code ici
}
monMenu.addEventListener("menuHide", objetDécoute)
Description
Evénement : diffusé à l’ensemble des écouteurs enregistrés chaque fois qu’un menu se ferme.
Les composants V2 font appel à un modèle d’événement dispatcher/écouteur. Lorsqu’un
composant Menu distribue un événement menuHide, l’événement est géré par une fonction
(également appelée gestionnaire) associée à un objet d’écoute (objetDécoute) que vous créez.
Vous appelez la méthode addEventListener() et lui transmettez le nom du gestionnaire et le
nom de l’objet d’écoute en tant que paramètres.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. L’objet événement de l’événement Menu.menuHide possède deux propriétés
supplémentaires :
•
•
menuBar Référence à l’occurrence de MenuBar qui est le parent du Menu cible. Elle prend la
valeur undefined si le menu cible n’appartient pas à une occurrence de MenuBar.
menu Référence à l’occurrence de Menu masquée.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Composant Menu (Flash Professionnel uniquement)
403
Exemple
Dans l’exemple suivant, un gestionnaire appelé formulaire est défini et transmis à la méthode
monMenu.addEventListener() en tant que deuxième paramètre. L’objet événement est capturé
par le gestionnaire menuHide du paramètre événement. Lorsque l’événement menuHide est
diffusé, une instruction trace est envoyée vers le panneau de sortie, comme suit :
form = new Object();
formulaire.menuHide = function(evt){
trace("Menu fermé : "+evt.menu);
}
monMenu.addEventListener("menuHide", formulaire);
Voir aussi
Menu.menuShow
Menu.menuShow
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.menuShow = function(objetEvt){
// insérez votre code ici
}
monMenu.addEventListener("menuShow", objetDécoute)
Description
Evénement : diffusé à l’ensemble des écouteurs enregistrés chaque fois qu’un menu s’ouvre. Tous
les nœuds parent ouvrent leurs menus pour afficher leurs enfants.
Les composants V2 font appel à un modèle d’événement dispatcher/écouteur. Lorsqu’un
composant Menu diffuse un événement menuShow, l’événement est géré par une fonction
(également appelée gestionnaire) associée à un objet d’écoute (objetDécoute) que vous créez.
Vous appelez la méthode addEventListener() et lui transmettez le nom du gestionnaire et le
nom de l’objet d’écoute en tant que paramètres.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. L’objet événement de l’événement Menu.menuShow possède les propriétés
supplémentaires suivantes :
•
•
Référence à l’occurrence de composant MenuBar qui est le parent du Menu cible.
La valeur est undefined si le Menu cible n’appartient pas à un menu.
menu Référence à l’occurrence du composant Menu affichée.
menuBar
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
404
Chapitre 4 : Dictionnaire des composants
Exemple
Dans l’exemple suivant, un gestionnaire appelé formulaire est défini et transmis à la méthode
monMenu.addEventListener() en tant que deuxième paramètre. L’objet événement est capturé
par le gestionnaire menuShow du paramètre objetEvt. Lorsque l’événement menuShow est diffusé,
une instruction trace est envoyée vers le panneau de sortie, comme suit :
form = new Object();
formulaire.menuShow = function(evt){
trace("Menu ouvert : "+evt.menu);
}
monMenu.addEventListener("menuShow", formulaire);
Voir aussi
Menu.menuHide
Menu.removeAll()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monMenu.removeAll()
Paramètres
Aucun.
Renvoie
Rien.
Description
Méthode : supprime tous les éléments et actualise le menu.
Exemple
L’exemple suivant supprime tous les nœuds du menu :
monMenu.removeAll();
Menu.removeMenuItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monMenu.removeMenuItemAt(index)
Composant Menu (Flash Professionnel uniquement)
405
Paramètres
index
Index de l’élément de menu à supprimer.
Renvoie
Une référence à l’élément de menu renvoyé (nœud XML). La valeur est undefined s’il n’y a aucun
élément à cette position.
Description
Méthode : supprime l’élément de menu et tous ses enfants à l’index spécifié. Si aucun élément de
menu n’existe à l’index spécifié, l’appel de cette méthode n’a aucun effet.
Exemple
L’exemple suivant supprime un élément de menu à l’index 3 :
var Elément = monMenu.removeMenuItemAt(3);
Menu.rollOut
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.rollOut = function(objetEvt){
// insérez votre code ici
}
monMenu.addEventListener("rollOut", objetDécoute)
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsque le pointeur cesse de survoler un
élément de menu.
Les composants V2 font appel à un modèle d’événement dispatcher/écouteur. Lorsqu’un
composant Menu diffuse un événement rollOut, l’événement est géré par une fonction
(également appelée gestionnaire) associée à un objet d’écoute (objetDécoute) que vous créez.
Vous appelez la méthode addEventListener() et lui transmettez le nom du gestionnaire en tant
que paramètre.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. L’objet événement de l’événement Menu.rollOut possède la propriété
supplémentaire suivante :
•
élémentMenu
Référence à l’élément de menu (nœud XML) que le pointeur a cessé de survoler.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
406
Chapitre 4 : Dictionnaire des composants
Exemple
Dans l’exemple suivant, un gestionnaire appelé formulaire est défini et transmis à la méthode
monMenu.addEventListener() en tant que deuxième paramètre. L’objet événement est capturé
par le gestionnaire rollOut du paramètre événement. Lorsque l’événement rollOut est diffusé,
une instruction trace est envoyée vers le panneau de sortie, comme suit :
form = new Object();
formulaire.rollOut = function(evt){
trace("Fin du survol du menu : "+evt.menuItem.attributes.label);
}
monMenu.addEventListener("rollOut", formulaire)
Menu.rollOver
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
objetDécoute = new Object();
objetDécoute.rollOver = function(objetEvt){
// insérez votre code ici
}
monMenu.addEventListener("rollOver", objetDécoute)
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsque le pointeur passe au-dessus d’un
élément de menu.
Les composants V2 font appel à un modèle d’événement dispatcher/écouteur. Lorsqu’un
composant Menu diffuse un événement change, l’événement est géré par une fonction
(également appelée gestionnaire) associée à un objet d’écoute (objetDécoute) que vous créez.
Vous appelez la méthode addEventListener() et lui transmettez le nom du gestionnaire en tant
que paramètre.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. L’objet événement de l’événement Menu.rollOver possède la propriété
supplémentaire suivante :
élémentMenu
Référence à l’élément de menu (nœud XML) que le pointeur a survolé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Composant Menu (Flash Professionnel uniquement)
407
Exemple
Dans l’exemple suivant, un gestionnaire appelé formulaire est défini et transmis à la méthode
monMenu.addEventListener() en tant que deuxième paramètre. L’objet événement est capturé
par le gestionnaire rollOver du paramètre événement. Lorsque l’événement rollOver est
diffusé, une instruction trace est envoyée vers le panneau de sortie, comme suit :
form = new Object();
formulaire.rollOver = function(evt){
trace("Survol du menu : "+evt.menuItem.attributes.label);
}
monMenu.addEventListener("rollOver", formulaire)
Menu.setMenuItemEnabled()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monMenu.setMenuItemEnabled(élément, actif)
Paramètres
Nœud XML. Le nœud de l’élément de menu cible dans le fournisseur de données.
élément
actif
Valeur booléenne indiquant si l’élément est activé (true) ou non (false).
Renvoie
Rien.
Description
Méthode : applique à l’attribut enabled de l’élément cible l’état fourni par le paramètre actif. Si
cet appel entraîne un changement d’état, l’élément est redessiné avec le nouvel état.
Exemple
L’exemple suivant désactive le deuxième enfant de monMenu :
var monElément = monMenu.getMenuItemAt(1);
monMenu.setMenuItemEnabled(monElément, false);
Voir aussi
Menu.setMenuItemSelected()
408
Chapitre 4 : Dictionnaire des composants
Menu.setMenuItemSelected()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monMenu.setMenuItemSelected(élément, sélectionné)
Paramètres
élément
Nœud XML. Le nœud de l’élément de menu cible dans le fournisseur de données.
Valeur booléenne indiquant si l’élément est sélectionné (true) ou non (false).
Si l’élément est une case à cocher, elle peut être cochée selon sa valeur. Si l’élément est un bouton
radio, il devient la sélection en cours dans le groupe radio.
sélectionné
Renvoie
Rien.
Description
Méthode : applique à l’attribut selected de l’élément l’état spécifié par le paramètre
sélectionné. Si cet appel entraîne un changement d’état, l’élément est redessiné avec le nouvel
état. Cette méthode n’a d’effet que sur les éléments dont l’attribut type est défini sur "radio" ou
"check", car elle modifie leur apparence. Si vous l’appelez sur un élément de type "normal" ou
"separator", aucun effet visible ne se produit.
Exemple
L’exemple suivant désélectionne le deuxième enfant de monMenu :
var monElément = monMenu.getMenuItemAt(1);
monMenu.setMenuItemSelected(monElément, false);
Menu.show()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monMenu.show(x, y)
Paramètres
x
Coordonnée x.
y
Coordonnée y.
Composant Menu (Flash Professionnel uniquement)
409
Renvoie
Rien.
Description
Méthode : ouvre un menu à un emplacement spécifique. Le menu est automatiquement
redimensionné pour que tous les éléments de premier niveau soient visibles et que son coin
supérieur gauche soit placé à l’emplacement indiqué dans le système de coordonnées fourni par le
parent du composant.
Si les paramètres x et y sont omis, le menu apparaît à son emplacement précédent.
Exemple
L’exemple suivant étend un menu :
monMenu.show(10, 10);
Voir aussi
Menu.hide()
Classe MenuDataProvider
La classe MenuDataProvider est une API Decorator (mix-in) qui complète la fonctionnalité de la
classe globale XMLNode. Cette fonctionnalité permet aux occurrences XML affectées à une
propriété Menu dataProvider de manipuler leurs propres données ainsi que les affichages de menu
correspondants par l’intermédiaire de l’API MenuDataProvider.
Principaux concepts :
• MenuDataProvider est une API Decorator (mix-in). Elle n’a pas besoin d’être instanciée pour
•
•
•
•
•
410
être utilisée.
En mode natif, les menus acceptent la valeur XML pour la propriété dataProvider.
Si une classe Menu est instanciée, toutes les occurrences XML du fichier SWF sont décorées
par l’API MenuDataProvider.
Seules les méthodes de l’API MenuDataProvider diffusent des événements aux commandes de
menu. Vous pouvez toutefois utiliser des méthodes XML natives, mais celles-ci ne serviront pas
d’événements de diffusion destinés à actualiser l’affichage des menus.
■ Utilisez les méthodes de l’API MenuDataProvider pour contrôler le modèle de données.
■ Utilisez les méthodes XML pour les opérations en lecture seule (parcourir la hiérarchie d’un
menu, par exemple).
Tous les éléments du menu sont des objets XML décorés à l’aide de l’API MenuDataProvider.
Les modifications apportées aux attributs des éléments n’apparaissent pas dans le menu tant
que celui-ci n’est pas redessiné.
Chapitre 4 : Dictionnaire des composants
Méthodes de la classe MenuDataProvider
Méthode
Description
MenuDataProvider.addMenuItem()
Ajoute un élément enfant.
inboxMenuDataProvider.addMenuItemAt() Ajoute un élément enfant à un emplacement spécifique.
MenuDataProvider.getMenuItemAt()
Obtient une référence à un élément de menu, à un
emplacement spécifique.
MenuDataProvider.indexOf()
Renvoie l’index d’un élément de menu donné.
MenuDataProvider.removeMenuItem()
Supprime un élément de menu.
MenuDataProvider.removeMenuItemAt()
Supprime un élément de menu à un endroit spécifique.
MenuDataProvider.addMenuItem()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Usage 1 :
monMenu.addMenuItem(objetInit)
Usage 2 :
monMenu.addMenuItem(élémentMenuEnfant)
Paramètres
objetInit Objet contenant les attributs spécifiques qui initialisent les attributs d’un élément
de menu. Pour plus d’informations, consultez A propos des attributs XML d’élément de menu,
page 389.
élémentMenuEnfant
Nœud XML.
Renvoie
Une référence à un objet XMLNode.
Description
Méthode : dans l’usage 1, ajoute un élément enfant à la fin d’un élément de menu parent (il peut
s’agir du menu lui-même). L’élément de menu est construit à partir des valeurs transmises dans le
paramètre objetInit. Dans l’usage 2, ajoute un élément de menu enfant défini dans le paramètre
XML élémentMenuEnfant spécifié à la fin de l’élément de menu parent.
Exemple
L’exemple suivant ajoute un nouveau nœud au nœud spécifié dans le menu :
monMenuDP.firstChild.addMenuItem("Boîte de réception", { label:"Elément 1",
icon:"icôneElémentRadio", type:"radio", selected:false, enabled:true,
instanceName:"élémentRadio1", groupName:"monGroupeRadio" } );
Composant Menu (Flash Professionnel uniquement)
411
inboxMenuDataProvider.addMenuItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Usage 1 :
monMenu.addMenuItemAt(index, objetInit)
Usage 2 :
monMenu.addMenuItemAt(index, élémentMenuEnfant)
Paramètres
index
Entier.
Objet contenant les attributs spécifiques qui initialisent les attributs d’un élément
de menu. Pour plus d’informations, consultez A propos des attributs XML d’élément de menu,
page 389.
objetInit
élémentMenuEnfant
Nœud XML.
Renvoie
Une référence au nœud XML ajouté.
Description
Méthode : dans l’usage 1, ajoute un élément enfant à la position d’index indiquée dans l’élément
de menu parent (il peut s’agir du menu lui-même). L’élément de menu est construit à partir des
valeurs transmises dans le paramètre objetInit. Dans l’usage 2, ajoute un élément de menu
enfant défini dans le paramètre XML élémentMenuEnfant spécifié à l’index spécifié d’un élément
de menu parent.
Exemple
Usage 1 : L’exemple suivant ajoute un nouveau nœud en tant que deuxième enfant de la racine du
menu :
monMenu.addMenuItemAt(1, { label:"Elément 1", type:"radio", selected:false,
enabled:true, instanceName:"elémentRadio1", groupName:"monGroupeRadio" } );
MenuDataProvider.getMenuItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monMenu.getMenuItemAt(index)
412
Chapitre 4 : Dictionnaire des composants
Paramètres
index
Entier indiquant la position du menu.
Renvoie
Une référence au nœud XML spécifié.
Description
Méthode : renvoie une référence à l’élément de menu enfant spécifié dans l’élément de menu en
cours.
Exemple
L’exemple suivant trouve le nœud que vous recherchez, puis obtient le deuxième enfant de
monElémentDeMenu :
var monElémentDeMenu = monMenuDP.firstChild.firstChild;
monElémentDeMenu.getMenuItemAt(1);
MenuDataProvider.indexOf()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monMenu.indexOf(élément)
Paramètres
élément
Référence au nœud XML qui décrit l’élément de menu.
Renvoie
L’index de l’élément de menu spécifié ; renvoie undefined si l’élément n’appartient pas au menu.
Description
Méthode : renvoie l’index de l’élément de menu spécifié dans l’élément de menu parent.
Exemple
L’exemple suivant ajoute un élément de menu à un élément parent, puis obtient l’index de
l’élément :
var monElément = monElémentParent.addMenuItem({label:"CetElément"});
var monIndex = monElémentParent.indexOf(monElément);
Composant Menu (Flash Professionnel uniquement)
413
MenuDataProvider.removeMenuItem()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monMenu.removeMenuItem()
Paramètres
Aucun.
Renvoie
Une référence à l’élément de menu supprimé (nœud XML) ; undefined si une erreur se produit.
Description
Méthode : supprime l’élément cible et ses nœuds enfant, le cas échéant.
Exemple
L’exemple suivant supprime monElémentDeMenu de son parent :
monElémentDeMenu.removeMenuItem();
MenuDataProvider.removeMenuItemAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
monMenu.removeMenuItemAt(index)
Paramètres
index
Index de l’élément Menu.
Renvoie
Une référence à l’élément de menu supprimé. La valeur est undefined s’il n’y a aucun élément à
cette position.
Description
Méthode : supprime l’élément enfant de l’élément de menu spécifié par le paramètre index. Si
aucun élément de menu n’existe à l’index spécifié, l’appel de cette méthode n’a aucun effet.
414
Chapitre 4 : Dictionnaire des composants
Exemple
L’exemple suivant supprime le quatrième élément :
monMenuDP.removeMenuItemAt(3);
Composant MenuBar (Flash Professionnel uniquement)
Le composant MenuBar permet de créer une barre de menus horizontale comportant des menus
déroulants et des commandes, d’un type similaire à celui des barres de menu Fichier et Edition
rencontrées dans les applications les plus courantes (comme Macromedia Flash). La barre de
menus complète le composant Menu en fournissant une interface dans laquelle l’utilisateur peut,
à l’aide de la souris ou du clavier, afficher ou masquer des menus qui se comportent comme un
groupe.
La barre de menus permet de créer un menu d’application en quelques étapes seulement. Pour
créer une barre de menus, vous pouvez soit affecter un fournisseur de données XML à la barre de
menus pour décrire une série de menus, soit utiliser la méthode MenuBar.addMenu() pour
ajouter des occurrences de menu de façon individuelle.
Dans la barre de menus, chaque menu se compose de deux parties : le menu et le bouton qui
ouvre le menu (appelé activateur de menu). Les activateurs de menu sur lesquels vous pouvez
cliquer apparaissent dans la barre de menus sous la forme d’étiquettes de texte comportant des
bordures incrustées ou en relief, selon leur état de mise en valeur. Ces étiquettes réagissent aux
interactions de la souris et du clavier.
Lorsque l’utilisateur clique sur l’activateur d’un menu, ce dernier s’ouvre sous l’activateur. Le
menu reste actif jusqu’à ce que l’utilisateur clique à nouveau sur l’activateur, ou jusqu’à ce qu’il
sélectionne un élément de menu ou clique hors de la zone du menu.
Outre les activateurs de menu, qui permettent d’afficher et de masquer les menus, la barre de
menus regroupe plusieurs menus sous un même comportement. L’utilisateur peut ainsi parcourir
un grand nombre de commandes en faisant glisser la souris sur les séries d’activateurs ou en
utilisant les touches de direction pour passer d’une liste à l’autre. L’interactivité avec la souris est
conjuguée à l’interactivité avec le clavier pour permettre à l’utilisateur de passer d’un menu à
l’autre dans le composant MenuBar.
Un utilisateur ne peut pas parcourir les menus d’une barre de menus. Si des menus dépassent la
largeur de la barre de menus, ils sont masqués.
Vous ne pouvez pas rendre le composant MenuBar accessible aux lecteurs d’écran.
Interaction avec le composant MenuBar (Flash Professionnel uniquement)
Vous pouvez utiliser la souris et le clavier pour interagir avec le composant MenuBar.
Lorsque vous passez la souris sur un activateur de menu, l’étiquette de l’activateur est mise en
valeur par une bordure en relief.
Lorsqu’une occurrence de MenuBar a le focus (après que l’utilisateur a cliqué ou utilisé la touche
de tabulation), il est possible d’utiliser les touches suivantes pour la contrôler :
Touche
Description
Flèche vers le bas
Déplace la sélection d’un élément plus bas dans le menu.
Flèche vers le haut
Déplace la sélection d’un élément plus haut dans le menu.
Composant MenuBar (Flash Professionnel uniquement)
415
Touche
Description
Flèche vers la droite
Déplace la sélection vers le bouton suivant.
Flèche vers la gauche
Déplace la sélection vers le bouton précédent.
Entrée/Echap
Ferme un menu ouvert.
Remarque : Lorsqu’un menu est ouvert, vous ne pouvez pas utiliser la touche de tabulation pour le
fermer. Vous devez soit faire une sélection, soit fermer le menu en appuyant sur Echap.
Utilisation du composant MenuBar (Flash Professionnel uniquement)
Vous pouvez utiliser le composant MenuBar pour ajouter un jeu de menus (par exemple, Fichier,
Edition, Spécial, Fenêtre, etc.) à la bordure supérieure d’une application.
Paramètres du composant MenuBar
Les paramètres suivants sont des paramètres de programmation que vous pouvez définir pour
chaque occurrence de composant MenuBar dans le panneau de l’inspecteur des propriétés ou des
composants :
Tableau qui ajoute à la barre de menus des activateurs de menu portant les étiquettes
indiquées. La valeur par défaut est [] (tableau vide).
labels
Vous pouvez contrôler ces options et d’autres options du composant MenuBar à l’aide des
propriétés, méthodes et événements d’ActionScript. Pour plus d’informations, consultez Classe
MenuBar, page 418.
Création d’une application avec le composant MenuBar
Dans cet exemple, vous faites glisser un composant MenuBar vers la scène, ajoutez du code pour
remplir l’occurrence avec des menus et associez à ces menus des écouteurs qui réagiront aux
sélections de l’utilisateur.
Pour utiliser un composant MenuBar dans une application :
1 Choisissez Fichier > Nouveau pour créer un document Flash.
2 Faites glisser le composant MenuBar du panneau Composants jusqu’à la scène.
3 Placez le menu en haut de la scène pour obtenir une disposition standard.
4 Sélectionnez la barre de menus et saisissez le nom d’occurrence maBarreDeMenus dans
l’inspecteur des propriétés.
5 Dans le panneau Actions, sur l’Image 1, entrez le code suivant :
var menu = maBarreDeMenus.addMenu("Fichier");
menu.addMenuItem({label:"Nouveau", instanceName:"occurrenceNouveau"});
menu.addMenuItem({label:"Ouvrir", instanceName:"occurrenceOuvrir"});
menu.addMenuItem({label:"Fermer", instanceName:"occurrenceFermer"});
Ce code ajoute un menu Fichier à l’occurrence de barre de menus. Il utilise ensuite l’API Menu
pour ajouter trois éléments de menu : Nouveau, Ouvrir et Fermer.
416
Chapitre 4 : Dictionnaire des composants
6 Dans le panneau Actions, sur l’Image 1, entrez le code suivant :
var écouter = new Object();
écouter.change = function(evt){
var menu = evt.menu;
var item = evt.menuItem
if (item == menu.occurrenceNouveau){
monNouveau();
trace(élément);
}else if (item == menu.occurrenceOuvrir){
monOuvrir()
trace(élément);
}
}
menu.addEventListener("change",écouter);
Ce code crée un objet d’écoute, écouter, qui utilise l’objet événement evt pour capturer les
sélections d’élément de menu.
Remarque : Vous devez appeler la méthode addEventListener pour enregistrer l’écouteur avec
l’occurrence de menu et non avec l’occurrence de barre de menus.
7 Choisissez Contrôle > Tester l’animation pour tester le composant MenuBar.
Personnalisation du composant MenuBar (Flash Professionnel uniquement)
La taille de ce composant s’ajuste automatiquement en fonction des étiquettes d’activateur
fournies par la propriété dataProvider ou les méthodes de la classe MenuBar. Lorsqu’un bouton
d’activateur se trouve sur une barre de menus, il conserve une taille fixe qui est fonction des styles
de police et de la longueur du texte.
Utilisation de styles avec le composant MenuBar
Le composant MenuBar crée une étiquette d’activateur pour chaque menu à l’intérieur d’un
groupe. Vous pouvez utiliser des styles pour modifier l’aspect des étiquettes d’activateur. Un
composant MenuBar supporte les styles de halo suivants :
Style
Description
themeColor
La couleur de mise en valeur d’une sélection. Il s’agit du seul style de
couleur qui n’hérite pas de sa valeur. "haloGreen", "haloBlue" et
"haloOrange" sont des valeurs possibles.
color
Texte d’une étiquette de composant.
disabledColor
Couleur désactivée pour du texte.
fontFamily
Nom de police pour du texte.
fontSize
Taille en points pour la police.
fontStyle
Style de la police : "normal" ou "italic".
fontWeight
Epaisseur de la police : "normal" ou "bold".
textDecoration
Décoration du texte : "none" ou "underline".
popupDuration
Le temps en millisecondes qui s’écoule avant qu’un menu s’ouvre. La
valeur par défaut est 0.
Composant MenuBar (Flash Professionnel uniquement)
417
Le composant MenuBar utilise également la classe RectBorder pour dessiner les bordures de mise
en valeur incrustée et en relief reflétant les interactions utilisateur avec les différents éléments. La
méthode setStyle() (consultez UIObject.setStyle()) vous permet de modifier les propriétés
suivantes du style RectBorder :
Styles RectBorder
Position de la bordure
borderColor
a
highlightColor
b
borderColor
c
shadowColor
d
borderCapColor
e
shadowCapColor
f
shadowCapColor
g
borderCapColor
h
Les propriétés de style définissent les positions suivantes sur la bordure :
Utilisation d’enveloppes avec le composant MenuBar
Le composant MenuBar utilise les enveloppes du composant Menu pour représenter ses états
visuels. Pour plus d’informations sur les enveloppes du composant Menu, consultez Utilisation
d’enveloppes avec le composant Menu, page 396.
Classe MenuBar
Héritage
UIObject > UIComponent > MenuBar
Nom de classe ActionScript
mx.controls.MenuBar
Méthodes de la classe MenuBar
Méthode
Description
MenuBar.addMenu()
Ajoute un menu à la barre de menus.
MenuBar.addMenuAt()
Ajoute un menu à un emplacement spécifique de la barre de menus.
MenuBar.getMenuAt()
Obtient une référence à un menu, à un emplacement spécifique.
MenuBar.getMenuEnabledAt() Renvoie une valeur booléenne indiquant si un menu est activé (true)
ou non (false).
418
Chapitre 4 : Dictionnaire des composants
Méthode
Description
MenuBar.removeMenuAt()
Supprime un menu à un emplacement spécifique d’une barre de
menus.
MenuBar.setMenuEnabledAt() Valeur booléenne indiquant si un menu est activé (true) ou non
(false).
Hérite de toutes les méthodes des classes UIObject et UIComponent.
Propriétés de la classe MenuBar
Propriété
Description
MenuBar.dataProvider
Modèle de données d’une barre de menus.
MenuBar.labelField
Chaîne déterminant l’attribut de chaque objet XMLNode à utiliser en
tant que texte d’étiquette de l’élément de barre de menus.
MenuBar.labelFunction
Fonction déterminant le texte à afficher dans l’étiquette de chaque
élément de la barre de menus.
Hérite de toutes les méthodes des classes UIObject et UIComponent.
MenuBar.addMenu()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Usage 1 :
maBarreDeMenus.addMenu(étiquette)
Usage 2 :
maBarreDeMenus.addMenu(étiquette, menuDataProvider)
Paramètres
étiquette
Chaîne indiquant l’étiquette du nouveau menu.
menuDataProvider Occurrence XML ou XMLNode décrivant le menu et ses éléments. S’il
s’agit d’une occurrence XML, le premier enfant (firstChild) de l’occurrence est utilisé.
Renvoie
Une référence au nouvel objet Menu.
Description
Méthode : dans l’usage 1, ajoute un seul menu et un seul activateur de menu à la fin de la barre de
menus avec la valeur spécifiée dans le paramètre étiquette. Dans l’usage 2, ajoute un seul menu
et un seul activateur de menu, définis dans le paramètre XML menuDataProvider spécifié.
Composant MenuBar (Flash Professionnel uniquement)
419
Exemple
Usage 1 : L’exemple suivant ajoute un menu Fichier, puis utilise la méthode
Menu.addMenuItem() pour ajouter les éléments de menu Nouveau et Ouvrir :
menu = maBarreDeMenus.addMenu("Fichier");
menu.addMenuItem({label:"Nouveau", instanceName:"occurrenceNouveau"});
menu.addMenuItem("{label:"Ouvrir", instanceName:"occurrenceOuvrir"}");
Usage 2 : L’exemple suivant ajoute un menu Police contenant les éléments de menu Gras et
Italique définis dans le paramètre monMenuDP2 de menuDataProvider :
var monMenuDP2 = new XML();
monMenuDP2.addMenuItem({type:"check", label:"Gras", instanceName:"cocher1"});
monMenuDP2.addMenuItem({type:"check", label:"Italique",
instanceName:"cocher2"});
menu = maBarreDeMenus.addMenu("Police",monMenuDP2);
MenuBar.addMenuAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
Usage 1 :
maBarreDeMenus.addMenuAt(index, étiquette)
Usage 2 :
maBarreDeMenus.addMenuAt(index, étiquette, menuDataProvider)
Paramètres
Entier indiquant la position à laquelle le menu doit être inséré. La première position
est 0. Pour insérer le menu à la fin, appelez la méthode MenuBar.addMenu(étiquette).
index
étiquette
Chaîne indiquant l’étiquette du nouveau menu.
Occurrence XML ou XMLNode décrivant le menu. S’il s’agit d’une
occurrence XML, le premier enfant (firstChild) de l’occurrence est utilisé.
menuDataProvider
Renvoie
Une référence au nouvel objet Menu.
Description
Méthode : dans l’usage 1, ajoute un seul menu et un seul activateur de menu à l’index spécifié
avec la valeur spécifiée dans le paramètre étiquette. Dans l’usage 2, ajoute un seul menu et un
seul activateur de menu étiqueté à l’index spécifié. Le contenu du menu est défini dans le
paramètre menuDataProvider.
420
Chapitre 4 : Dictionnaire des composants
Exemple
Usage 1 : L’exemple suivant place un menu à gauche de tous les menus du composant MenuBar :
menu = maBarreDeMenus.addMenuAt(0,"Toréador");
menu.addMenuItem("A propos de Macromedia Flash", instanceName:"occurApropos");
menu.addMenuItem("Préférences", instanceName:"occurPréf");
Usage 2 : L’exemple suivant ajoute un menu Edition comportant les éléments de menu Annuler,
Répéter, Couper et Copier, définis dans le paramètre monMenuDP de menuDataProvider :
var monMenuDP = new XML();
monMenuDP.addMenuItem({label:"Annuler", instanceName:"occurAnnuler"});
monMenuDP.addMenuItem({label:"Répéter", instanceName:"occurRépéter"});
monMenuDP.addMenuItem({type:"separator"});
monMenuDP.addMenuItem({label:"Couper", instanceName:"occurCouper"});
monMenuDP.addMenuItem({label:"Copier", instanceName:"occurCopier"});
maBarreDeMenus.addMenuAt(0,"Edition",monMenuDP);
MenuBar.dataProvider
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maBarreDeMenus.dataProvider
Description
Propriété : le modèle de données des éléments d’un composant MenuBar.
menuBar.dataProvider est un objet nœud XML. La définition de cette propriété remplace le
modèle de données actuel du composant MenuBar. Si le fournisseur de données possède des
nœuds enfant, ceux-ci deviennent les éléments de la barre de menus ; les sous-nœuds de ces
nœuds enfant deviennent les éléments de leurs menus respectifs.
La valeur par défaut est undefined.
Remarque : Toutes les occurrences XML ou XMLNode héritent automatiquement des méthodes et
propriétés de l’API MenuDataProvider lorsqu’elles sont utilisées avec le composant MenuBar.
Exemple
L’exemple suivant importe un fichier XML et l’affecte à la propriété MenuBar.dataProvider :
var maBarreDeMenusDP = new XML();
maBarreDeMenusDP.load("http://monServeur.monDomaine.com/source.xml");
maBarreDeMenusDP.onLoad = function(succès){
if(succès){
maBarreDeMenus.dataProvider = maBarreDeMenusDP;
} else {
trace("erreur lors du chargement du fichier XML");
}
}
Composant MenuBar (Flash Professionnel uniquement)
421
MenuBar.getMenuAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maBarreDeMenus.getMenuAt(index)
Paramètres
index
Entier indiquant la position du menu.
Renvoie
Une référence au menu à l’index spécifié. La valeur est undefined s’il n’y a aucun menu à cette
position.
Description
Méthode : renvoie une référence au menu à l’index spécifié.
Exemple
Etant donné que la méthode getMenuAt() renvoie une occurrence, vous pouvez ajouter des
éléments dans un menu à l’index spécifié. Dans l’exemple suivant, une fois les activateurs de menu
Fichier, Edition et Affichage créés à l’aide du paramètre Label, le code suivant permet d’ajouter les
éléments Nouveau et Ouvrir au menu Fichier à l’exécution :
menu = maBarreDeMenus.getMenuAt(0);
menu.addMenuItem({label:"Nouveau", instanceName:"occurNouveau"});
menu.addMenuItem({label:"Ouvrir", instanceName:"occurOuvrir"});
MenuBar.getMenuEnabledAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maBarreDeMenus.getMenuEnabledAt(index)
Paramètres
index
Index de l’élément MenuBar.
Renvoie
Une valeur booléenne indiquant si le menu peut être choisi (true) ou non (false).
422
Chapitre 4 : Dictionnaire des composants
Description
Méthode : renvoie une valeur booléenne indiquant si le menu peut être choisi (true) ou non
(false).
Exemple
L’exemple suivant appelle la méthode sur le menu situé à la première position de
maBarreDeMenus :
maBarreDeMenus.getMenuEnabledAt(0);
MenuBar.labelField
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maBarreDeMenus.labelField
Description
Propriété : une chaîne déterminant l’attribut de chaque XMLNode à utiliser en tant que texte
d’étiquette du menu. Cette propriété est également transmise à tous les menus créés à partir de la
barre de menus. La valeur par défaut est "label".
Une fois la propriété dataProvider définie, cette propriété est en lecture seule.
Exemple
L’exemple suivant utilise l’attribut nom de chaque nœud en tant que texte d’étiquette :
maBarreDeMenus.labelField = "nom";
MenuBar.labelFunction
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maBarreDeMenus.labelFunction
Description
Propriété : une fonction déterminant le texte à afficher dans chaque étiquette de menu. Cette
fonction accepte le nœud XML associé à l’élément en tant que paramètre et renvoie une chaîne à
utiliser en tant que texte d’étiquette. Cette propriété est transmise à tous les menus créés à partir
de la barre de menus. La valeur par défaut est undefined.
Une fois la propriété dataProvider définie, cette propriété est en lecture seule.
Composant MenuBar (Flash Professionnel uniquement)
423
Exemple
L’exemple suivant crée une étiquette personnalisée à partir des attributs de nœud :
maBarreDeMenus.labelFunction = function(nœud){
var a = nœud.attributes;
return "Le prix de " + a.name + " est " + a.price;
};
MenuBar.removeMenuAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maBarreDeMenus.removeMenuAt(index)
Paramètres
index
Index de l’élément MenuBar.
Renvoie
Une référence à l’élément MenuBar renvoyé. La valeur est undefined s’il n’y a aucun élément à
cette position.
Description
Méthode : supprime l’élément de menu à l’index spécifié. Si aucun élément de menu n’existe à
l’index spécifié, l’appel de cette méthode n’a aucun effet.
Exemple
L’exemple suivant supprime le menu à l’index 4 :
maBarreDeMenus.removeMenuAt(4);
MenuBar.setMenuEnabledAt()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
maBarreDeMenus.setMenuEnabledAt(index, booléen)
Paramètres
index
L’index de l’élément MenuBar à définir.
booléen
(true) ou
424
Une valeur booléenne indiquant si l’élément de menu à l’index spécifié est activé
non (false).
Chapitre 4 : Dictionnaire des composants
Renvoie
Rien.
Description
Méthode : active l’élément de menu à l’index spécifié. Si aucun menu n’existe à l’index spécifié,
l’appel de cette méthode n’a aucun effet.
Exemple
L’exemple suivant obtient l’objet MenuBarColumn à l’index 3 :
maBarreDeMenus.setMenuEnabledAt(3);
Composant NumericStepper
Le composant NumericStepper permet à un utilisateur de faire défiler un ensemble ordonné de
nombres. Il s’agit d’un nombre affiché à côté de petits boutons fléchés vers le haut et vers le bas.
Lorsqu’un utilisateur appuie sur les flèches, le nombre augmente ou diminue de façon
incrémentielle. Si l’utilisateur clique sur l’un des boutons fléchés, le nombre augmente ou
diminue, en fonction de la valeur du paramètre stepSize, jusqu’à ce que l’utilisateur relâche le
bouton de la souris ou que la valeur minimale ou maximale soit atteinte.
Le composant NumericStepper gère uniquement les données numériques. Vous devez également
redimensionner le stepper lors de la programmation pour afficher plus de deux chiffres (par
exemple, les nombres 5246 ou 1.34).
Un stepper peut être activé ou désactivé dans une application. Lorsqu’il est désactivé, le stepper ne
reçoit aucune information provenant du clavier ou de la souris. Un stepper activé reçoit le focus si
vous cliquez dessus ou si vous utilisez la tabulation pour l’ouvrir et son focus interne est défini
dans le champ de texte. Lorsqu’une occurrence NumericStepper a le focus, vous pouvez utiliser les
touches suivantes pour la contrôler :
Touche
Description
Bas
Les valeurs sont modifiées d’une unité.
Gauche
Déplace le point d’insertion vers la gauche à l’intérieur du champ de
texte.
Droite
Déplace le point d’insertion vers la droite à l’intérieur du champ de
texte.
Maj +Tab
Place le focus sur l’objet précédent.
Tab
Place le focus sur l’objet suivant.
Haut
Les valeurs sont modifiées d’une unité.
Pour plus d’informations sur le contrôle du focus, consultez Création de la navigation personnalisée
du focus, page 27 ou Classe FocusManager, page 287.
Un aperçu en direct de chaque occurrence de stepper reflète la valeur du paramètre value indiqué
par le panneau de l’inspecteur des propriétés ou des composants au cours de la programmation.
Cependant, il n’y a aucune interaction entre le clavier ou la souris et les boutons du stepper dans
l’aperçu en direct.
Composant NumericStepper
425
Lorsque vous ajoutez le composant NumericStepper à une application, vous pouvez utiliser le
panneau Accessibilité pour le rendre accessible aux lecteurs d’écran. Vous devez d’abord ajouter la
ligne de code suivante pour activer l’accessibilité :
mx.accessibility.NumericStepperAccImpl.enableAccessibility();
Vous n’activez l’accessibilité d’un composant qu’une fois, quel que soit son nombre d’occurrences.
Pour plus d’informations, consultez « Création de contenu accessible », dans le guide Utilisation
de Flash de l’aide.
Utilisation du composant NumericStepper
Le NumericStepper peut être utilisé là où vous souhaitez qu’un utilisateur sélectionne une valeur
numérique. Par exemple, vous pouvez utiliser un composant NumericStepper dans un formulaire
pour permettre à un utilisateur de définir la date d’expiration de sa carte de crédit. Dans un autre
exemple, vous pouvez utiliser un NumericStepper pour permettre à un utilisateur d’augmenter ou
de diminuer la taille d’une police.
Paramètres de NumericStepper
Les paramètres suivants sont des paramètres de programmation que vous pouvez définir pour
chaque occurrence de composant NumericStepper dans le panneau de l’inspecteur des propriétés
ou des composants :
value
définit la valeur de l’incrément actuel. La valeur par défaut est 0.
définit la valeur minimum. La valeur par défaut est 0.
minimum
maximum
stepSize
définit la valeur maximum. La valeur par défaut est 10.
définit l’unité d’incrémentation de la valeur. La valeur par défaut est 1.
Vous pouvez rédiger du code ActionScript pour contrôler ces options et d’autres options des
composants NumericStepper à l’aide des propriétés, méthodes et événements ActionScript. Pour
plus d’informations, consultez Classe NumericStepper.
Création d’une application avec le composant NumericStepper
La procédure suivante explique comment ajouter un composant NumericStepper à une
application lors de la programmation. Dans cet exemple, le stepper permet à l’utilisateur de
choisir une classification d’animation comprise entre 0 et 5 étoiles par incréments d’une demiétoile.
Pour créer une application avec le composant Button, procédez comme suit :
1 Faites glisser un composant NumericStepper du panneau Composants jusqu’à la scène.
2 Dans l’inspecteur des propriétés, entrez stepperEtoile comme nom d’occurrence.
3 Dans l’inspecteur des propriétés, procédez comme suit :
■
■
■
■
426
Entrez 0 pour le paramètre minimum.
Entrez 5 pour le paramètre maximum.
Entrez .5 pour le paramètre stepSize.
Entrez 0 pour le paramètre value.
Chapitre 4 : Dictionnaire des composants
4 Choisissez l’image 1 dans le scénario, ouvrez le panneau Actions et saisissez le code suivant :
classementFilm = new Object();
classementFilm.change = function (objetEvt){
classementEtoiles.value = objetEvt.target.value;
}
stepperEtoile.addEventListener("change", classementFilm);
La dernière ligne de code ajoute un gestionnaire d’événement change à l’occurrence
stepperEtoile. Le gestionnaire définit le clip classementEtoiles pour afficher la quantité
d’étoiles indiquée dans l’occurrence stepperEtoile. (Pour voir ce code fonctionner, vous
devez créer un clip classementEtoiles avec une propriété value qui affiche les étoiles.)
Personnalisation du composant NumericStepper
Vous pouvez orienter un composant NumericStepper horizontalement et verticalement à la fois
en cours de programmation et à l’exécution. Lors de la programmation, choisissez le composant
sur la scène et utilisez l’outil Transformer librement ou une commande de modification >
transformation. A l’exécution, utilisez la méthode setSize() (consultez UIObject.setSize())
ou toute propriété et méthode applicable de la classe NumericStepper. Pour plus d’informations,
consultez Classe NumericStepper.
Le redimensionnement du composant NumericStepper ne modifie pas la taille des boutons
fléchés vers le haut et le bas. Si le stepper est redimensionné au-delà de la hauteur par défaut, les
boutons du stepper sont placés en haut et en bas du composant. Les boutons du stepper
apparaissent toujours à droite du champ de texte.
Utilisation de styles avec le composant NumericStepper
Vous pouvez définir des propriétés de style pour modifier l’apparence d’une occurrence stepper. Si
le nom d’une propriété de style se termine par « Color », il s’agit d’une propriété de style de
couleur qui se comporte différemment des autres propriétés de style. Pour plus d’informations,
consultez Utilisation des styles pour personnaliser la couleur et le texte des composants, page 29.
Un composant NumericStepper supporte les styles de halo suivants :
Style
Description
themeColor
Arrière-plan d’un composant. Il s’agit du seul style de couleur qui
n’hérite pas de sa valeur. "haloGreen", "haloBlue" et "haloOrange"
sont des valeurs possibles.
color
Texte d’une étiquette de composant.
disabledColor
Couleur désactivée pour du texte.
fontFamily
Nom de police pour du texte.
fontSize
Taille en points pour la police.
fontStyle
Style de la police : "normal" ou "italic".
fontWeight
Epaisseur de la police : "normal" ou "bold".
textDecoration
Décoration du texte : "none" ou "underline".
textAlign
Alignement du texte : "left", "right" ou "center".
Composant NumericStepper
427
Utilisation d’enveloppes avec le composant NumericStepper
Le composant NumericStepper utilise des enveloppes pour représenter ses états visuels. Pour
envelopper le composant NumericStepper lors de la programmation, modifiez les symboles
d’enveloppe dans la bibliothèque et exportez de nouveau le composant en tant que fichier SWC.
Les symboles d’enveloppe sont situés dans le dossier Flash UI Components 2/Themes/
MMDefault/Stepper Elements/states de la bibliothèque. Pour plus d’informations, consultez
A propos de l’application des enveloppes aux composants, page 38.
Si un stepper est activé, les boutons fléchés vers le haut et vers le bas affichent leur état survolé
lorsque le pointeur se déplace au-dessus d’eux. Les boutons affichent leur état enfoncé lorsque
l’utilisateur clique dessus. Les boutons reviennent à l’état survolé lorsque le bouton de la souris est
relâché. Si le pointeur s’éloigne des boutons alors que le bouton de la souris est enfoncé, les
boutons reviennent à leur état original.
Si un stepper est désactivé, il affiche son état désactivé, quelle que soit l’interaction de l’utilisateur.
Un composant NumericStepper utilise les propriétés d’enveloppe suivantes :
Propriété
Description
upArrowUp
L’état haut de la flèche vers le haut. La valeur par défaut est
StepUpArrowUp.
upArrowDown
Etat enfoncé de la flèche vers le haut. La valeur par défaut est
StepUpArrowDown.
upArrowOver
Etat Survolé de la flèche vers le haut. La valeur par défaut est
StepUpArrowOver.
upArrowDisabled
Etat désactivé de la flèche vers le haut. La valeur par défaut est
StepUpArrowDisabled.
downArrowUp
Etat Relevé de la flèche bas. La valeur par défaut est
StepDownArrowUp.
downArrowDown
Etat Enfoncé de la flèche bas. La valeur par défaut est
StepDownArrowDown.
downArrowOver
Etat Survolé de la flèche bas. La valeur par défaut est
StepDownArrowOver.
downArrowDisabled
Etat désactivé de la flèche bas. La valeur par défaut est
StepDownArrowDisabled.
Classe NumericStepper
Héritage
UIObject > UIComponent > NumericStepper
Nom de classe ActionScript
mx.controls.NumericStepper
Les propriétés de la classe NumericStepper vous permettent d’ajouter et d’indiquer les valeurs
minimum et maximum, l’unité d’incrémentation et la valeur courante à l’exécution.
La définition d’une propriété de classe NumericStepper avec ActionScript annule le paramètre du
même nom défini dans le panneau de l’inspecteur des propriétés ou des composants.
428
Chapitre 4 : Dictionnaire des composants
Le composant NumericStepper utilise le FocusManager pour annuler le rectangle de focus de
Flash Player et dessiner un rectangle de focus personnalisé avec des angles arrondis. Pour plus
d’informations, consultez Création de la navigation personnalisée du focus, page 27.
Toutes les classes de composants ont une propriété version qui correspond à une propriété de
classe. Les propriétés de classe sont uniquement disponibles sur la classe elle-même. La propriété
version renvoie une chaîne qui indique la version du composant. Pour accéder à la propriété
version, utilisez le code suivant :
trace(mx.controls.NumericStepper.version);
Remarque : Le code suivant renvoie la valeur undefined :
trace(monOccurrenceDeNumericStepper.version);.
Méthodes de la classe NumericStepper
Hérite de toutes les méthodes des classes UIObject et UIComponent.
Propriétés de la classe NumericStepper
Propriété
Description
NumericStepper.maximum
Nombre indiquant la valeur de plage maximum.
NumericStepper.minimum
Nombre indiquant la valeur de plage minimum.
NumericStepper.nextValue
Nombre indiquant la prochaine valeur séquentielle. Cette propriété
est en lecture seule.
NumericStepper.previousValue Nombre indiquant la valeur séquentielle précédente. Cette
propriété est en lecture seule.
NumericStepper.stepSize
Nombre indiquant l’unité d’incrémentation.
NumericStepper.value
Nombre indiquant la valeur courante du stepper.
Hérite de toutes les propriétés des classes UIObject et UIComponent.
Evénements de la classe NumericStepper
Evénement
Description
NumericStepper.change
Déclenché lorsque la valeur change.
Hérite de tous les événements des classes UIObject et UIComponent.
Composant NumericStepper
429
NumericStepper.change
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(click){
...
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.change = function(objetEvt){
...
}
OccurrenceDeStepper.addEventListener("change", objetDécoute)
Description
Evénement : diffusé à l’ensemble des écouteurs enregistrés lorsque la valeur du stepper est
modifiée.
Le premier exemple d’utilisation utilise un gestionnaire on() et doit être directement associé à
une occurrence de composant NumericStepper. Le mot-clé this, utilisé dans un gestionnaire
on() lié à un composant, correspond à l’occurrence de comportement. Par exemple, le code
suivant, associé à l’incrémenteur monStepper, envoie « _level0.monStepper » au panneau de
sortie.
on(click){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (OccurrenceDIncrémenteur) distribue un événement (ici, change)
qui est géré par une fonction (également appelée un gestionnaire), sur un objet d’écoute
(objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour finir, vous appelez la méthode
UIEventDispatcher.addEventListener() sur l’occurrence de composant qui diffuse
l’événement pour enregistrer l’écouteur dans l’occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
430
Chapitre 4 : Dictionnaire des composants
Exemple
Cet exemple, écrit sur une image du scénario, envoie un message au panneau de sortie lorsqu’un
incrémenteur nommé monIncrémenteurNumérique est modifié. La première ligne de code crée
un objet d’écoute intitulé form. La deuxième ligne définit une fonction pour l’événement change
sur l’objet d’écoute. La fonction comporte une action trace qui utilise l’objet événement
automatiquement transmis à cette fonction, ici objEvt, pour générer un message. La propriété
target d’un objet d’écoute est le composant ayant généré l’événement, dans cet exemple,
monIncrémenteurNumérique. L’utilisateur accède à la propriété NumericStepper.value à partir
de la propriété target de l’objet événement. La dernière ligne appelle la méthode
UIEventDispatcher.addEventListener() depuis monIncrémenteurNumérique et lui
transmet l’événement change et l’objet d’écoute form comme paramètres, comme dans l’exemple
suivant :
form = new Object();
form.change = function(objEvt){
// objEvt.target est le composant ayant généré l’événement change,
//c’est-à-dire, l’incrémenteur numérique.
trace("Valeur passée à " + objEvt.target.value);
}
monIncrémenteurNumérique.addEventListener("change", form);
NumericStepper.maximum
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeStepper.maximum
Description
Propriété : la valeur de plage maximum de l’incrémenteur. Cette propriété peut contenir un
nombre comprenant jusqu’à trois chiffres. La valeur par défaut est 10.
Exemple
L’exemple suivant définit la valeur maximum de la plage de l’incrémenteur à 20 :
monIncrémenteur.maximum = 20;
Voir aussi
NumericStepper.minimum
Composant NumericStepper
431
NumericStepper.minimum
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeStepper.minimum
Description
Propriété : la valeur de plage minimum du stepper. Cette propriété peut contenir un nombre
comprenant jusqu’à trois chiffres. La valeur par défaut est 0.
Exemple
L’exemple suivant définit la valeur minimum de la plage du stepper à 20 :
monIncrémenteur.minimum = 100;
Voir aussi
NumericStepper.maximum
NumericStepper.nextValue
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeStepper.nextValue
Description
Propriété (lecture seule) : prochaine valeur séquentielle. Cette propriété peut contenir un nombre
comprenant jusqu’à trois chiffres.
Exemple
L’exemple suivant définit la propriété stepSize à 1 et la valeur de départ à 4, ce qui amène la
valeur de nextValue à 5 :
monIncrémenteur.stepSize = 1;
monIncrémenteur.value = 4;
trace(monIncrémenteur.nextValue);
Voir aussi
NumericStepper.previousValue
432
Chapitre 4 : Dictionnaire des composants
NumericStepper.previousValue
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeStepper.previousValue
Description
Propriété (lecture seule) : valeur séquentielle précédente. Cette propriété peut contenir un nombre
comprenant jusqu’à trois chiffres.
Exemple
L’exemple suivant définit la propriété stepSize à 1 et la valeur de départ à 4, ce qui amène la
valeur de nextValue à 3 :
monIncrémenteur.stepSize = 1;
monIncrémenteur.value = 4;
trace(monIncrémenteur.previousValue);
Voir aussi
NumericStepper.nextValue
NumericStepper.stepSize
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeStepper.stepSize
Description
Propriété : la quantité d’unités à modifier à partir de la valeur courante. La valeur par défaut est 1.
Cette valeur ne peut être 0. Cette propriété peut contenir un nombre comprenant jusqu’à trois
chiffres.
Exemple
L’exemple suivant règle la valeur de value et de l’unité stepSize sur 2. La valeur de nextValue
est 4 :
monIncrémenteur.value = 2;
monIncrémenteur.stepSize = 2;
trace(monIncrémenteur.nextValue);
Composant NumericStepper
433
NumericStepper.value
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeStepper.value
Description
Propriété : la valeur courante est affichée dans la zone de texte du stepper. La valeur ne sera pas
affectée si elle ne correspond pas à la plage du stepper et à l’unité d’incrémentation telles que
définies dans la propriété stepSize. Cette propriété peut contenir un nombre comprenant
jusqu’à trois chiffres.
Exemple
L’exemple suivant définit la valeur courante du stepper à 10 et envoie la valeur au panneau de
sortie :
monIncrémenteur.value = 10;
trace(monIncrémenteur.value);
Classe PopUpManager
Nom de classe ActionScript
mx.managers.PopUpManager
La classe PopUpManager vous permet de créer des fenêtres chevauchées qui peuvent être modales
ou non modales. (Une fenêtre modale ne permet pas d’interagir avec d’autres fenêtres lorsqu’elle
est active.) Vous pouvez appeler PopUpManager.createPopUp() pour créer une fenêtre
chevauchée et appeler PopUpManager.deletePopUp() sur l’occurrence de la fenêtre pour détruire
une fenêtre contextuelle.
Méthodes de la classe PopUpManager
434
Méthode
Description
PopUpManager.createPopUp()
Crée une fenêtre contextuelle.
PopUpManager.deletePopUp()
Supprime une fenêtre contextuelle créée par un appel à
PopUpManager.createPopUp().
Chapitre 4 : Dictionnaire des composants
PopUpManager.createPopUp()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004 et Flash MX Professionnel 2004.
Usage
PopUpManager.createPopUp(parent, classe, modale [, objinit, EvntExtérieurs])
Paramètres
parent
Référence à une fenêtre par dessus laquelle afficher une fenêtre contextuelle.
classe
Référence à la classe de l’objet à créer.
modale
Valeur booléenne indiquant si la fenêtre est modale (true) ou non (false).
objinit
Objet contenant les propriétés d’initialisation. Ce paramètre est facultatif.
EvntExtérieurs Valeur booléenne indiquant si un événement est déclenché lorsque
l’utilisateur clique en dehors de la fenêtre (true) ou non (false). Ce paramètre est facultatif.
Renvoie
Référence à la fenêtre créée.
Description
Méthode : si elle est modale, un appel à createPopUp() trouve la fenêtre commençant par parent
et crée une occurrence de la classe. Si elle est non modale, un appel à createPopUp() crée une
occurrence de la classe comme enfant de la fenêtre parent.
Exemple
Le code suivant crée une fenêtre modale lorsque l’utilisateur clique sur le bouton :
lo = new Object();
lo.click = function(){
mx.managers.PopUpManager.createPopUp(_root, mx.containers.Window, true);
}
button.addEventListener("click", lo);
PopUpManager.deletePopUp()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004 et Flash MX Professionnel 2004.
Usage
occurrenceFenêtre.deletePopUp();
Paramètres
Aucun.
Classe PopUpManager
435
Renvoie
Rien.
Description
Méthode : supprime une fenêtre contextuelle ainsi que l’état modal. C’est à la fenêtre chevauchée
d’appeler PopUpManager.deletePopUp() lorsque la fenêtre est détruite.
Exemple
Le code suivant crée une fenêtre modale, appelée fen et dotée d’un bouton de fermeture, et la
supprime lorsqu’un utilisateur clique sur ce bouton :
import mx.managers.PopUpManager
import mx.containers.Window
fen = PopUpManager.createPopUp(_root, Window, true, {closeButton:true});
lo = new Object();
lo.click = function(){
fen.deletePopUp();
}
fen.addEventListener("click", lo);
Composant ProgressBar
Le composant ProgressBar affiche la progression du chargement lorsqu’un utilisateur attend que le
contenu soit chargé. Le processus de chargement peut être déterminé ou indéterminé. Une barre
de progression déterminée est une représentation linéaire de la progression d’une tâche dans le
temps. Elle est utilisée lorsque la quantité de contenu à charger est connue. Une barre de
progression indéterminée est utilisée lorsque la quantité de contenu à charger est inconnue. Vous
pouvez ajouter une étiquette pour afficher la progression du contenu en chargement.
De par leur configuration, les composants sont exportés dans la première image par défaut. Ils
sont donc chargés dans une application avant le rendu de la première image. Pour créer un
preloader pour une application, vous devez désactiver l’option Exporter dans la première image
dans la boîte de dialogue Propriétés de liaison de chaque composant (menu d’options du panneau
Bibliothèque > Liaison). Vous devez toutefois configurer le composant ProgressBar de sorte qu’il
soit exporté dans la première image car son affichage doit précéder la lecture du reste du contenu
dans Flash Player.
Un aperçu en direct de chaque occurrence ProgressBar reflète les modifications effectuées sur les
paramètres dans le panneau de l’inspecteur des propriétés ou des composants en cours de
programmation. Les paramètres suivants sont reflétés dans l’aperçu en direct : conversion,
direction, label, labelPlacement, mode et source.
436
Chapitre 4 : Dictionnaire des composants
Utilisation du composant ProgressBar
Une barre de progression vous permet d’afficher la progression du contenu pendant le
chargement. Ces informations sont essentielles pour l’utilisateur lorsqu’il interagit avec une
application.
Vous pouvez utiliser le composant ProgressBar dans plusieurs modes. Définissez le mode à l’aide
du paramètre mode. Les modes les plus communément utilisés sont "event" et "polled". Ces
méthodes utilisent le paramètre source pour spécifier un processus de chargement qui émet des
événements progress et complete (mode event) ou expose des méthodes getBytesLoaded et
getBytesTotal (mode polled). Vous pouvez également utiliser le composant ProgressBar en
mode manuel en définissant manuellement les propriétés maximum, minimum et indeterminate
ainsi que les appels à la méthode ProgressBar.setProgress().
Paramètres du composant ProgressBar
Les paramètres suivants sont des paramètres de programmation que vous pouvez définir pour
chaque occurrence de composant ProgressBar dans le panneau de l’inspecteur des propriétés ou
des composants :
Mode dans lequel opère la barre de progression. Cette valeur peut être : event, polled ou
manual. La valeur par défaut est event.
mode
source
Chaîne devant être convertie en objet représentant le nom d’occurrence de la source.
La direction dans laquelle avance la barre de progression. Cette valeur peut être right
ou left, la valeur par défaut étant right.
direction
label Texte indiquant la progression du chargement. Ce paramètre est une chaîne au format
« %1 sur %2 chargé (%3%%) » ; %1 est un espace réservé pour le nombre d’octets actuellement
chargés, %2 est un espace réservé pour le nombre total d’octets chargés et %3 est un espace
réservé pour le pourcentage de contenu chargé. Les caractères « %% » sont un espace réservé pour
le caractère « % ». Si une valeur pour %2 est inconnue, elle est remplacée par « ?? ». Si une valeur
est undefined, l’étiquette ne s’affiche pas.
labelPlacement Position de l’étiquette par rapport à la barre de progression. Ce paramètre peut
prendre l’une des valeurs suivantes : top, bottom, left, right, center. La valeur par défaut est
bottom.
Nombre pour diviser les valeurs %1 et %2 dans la chaîne de l’étiquette avant
qu’elles ne soient affichées. La valeur par défaut est 1.
conversion
Vous pouvez rédiger du code ActionScript pour contrôler ces options ainsi que d’autres options
des composants ProgressBar à l’aide des propriétés, méthodes et événements ActionScript. Pour
plus d’informations, consultez Classe ProgressBar.
Création d’une application avec le composant ProgressBar
La procédure suivante explique comment ajouter un composant ProgressBar à une application
lors de la programmation. Dans cet exemple, la barre de progression est utilisée en mode event.
En mode event, le contenu en cours de chargement doit émettre des événements progress et
complete pour permettre à la barre de progression d’afficher la progression. Le composant Loader
émet ces événements. Pour plus d’informations, consultez Composant Loader, page 334.
Composant ProgressBar
437
Pour créer une application avec le composant ProgressBar en mode event, effectuez les
opérations suivantes :
1 Faites glisser un composant ProgressBar du panneau Composants jusqu’à la scène.
2 Dans l’inspecteur des propriétés, procédez comme suit :
Entrez barreP comme nom d’occurrence.
■ Sélectionnez le paramètre de mode event.
Faites glisser un composant Loader du panneau Composants jusqu’à la scène.
Dans l’inspecteur des propriétés, entrez loader comme nom d’occurrence.
Sélectionnez la barre de progression sur la scène et, dans l’inspecteur des propriétés, entrez
loader comme paramètre de source.
Sélectionnez l’image 1 dans le scénario, ouvrez le panneau Actions et entrez le code suivant qui
charge un fichier JPEG dans le composant Loader :
■
3
4
5
6
loader.autoLoad = false;
loader.contentPath = "http://imagecache2.allposters.com/images/86/
017_PP0240.jpg";
barreP.source = loader;
// le chargement ne commence que lorsque la méthode load est appelée
loader.load();
Dans l’exemple suivant, la barre de progression est utilisée en mode polled. En mode polled, la
barre de progression utilise les méthodes getBytesLoaded et getBytesTotal de l’objet source
pour afficher la progression.
Pour créer une application avec le composant ProgressBar en mode polled, effectuez les
opérations suivantes :
1 Faites glisser un composant ProgressBar du panneau Composants jusqu’à la scène.
2 Dans l’inspecteur des propriétés, procédez comme suit :
Entrez barreP comme nom d’occurrence.
■ Sélectionnez le paramètre de mode polled.
■ Entrez loader comme paramètre de source.
3 Sélectionnez l’image 1 dans le scénario, ouvrez le panneau Actions et entrez le code suivant qui
crée un objet Sound nommé loader et appelle la méthode loadSound() pour charger un son
dans l’objet Sound :
■
var loader:Object = new Sound();
loader.loadSound("http://soundamerica.com/sounds/sound_fx/A-E/air.wav",
true);
Dans l’exemple suivant, la barre de progression est utilisée en mode manuel. En mode manuel,
vous devez définir les propriétés maximum, minimum et indeterminate en conjonction avec la
méthode setProgress() pour afficher la progression. Vous ne définissez pas la propriété source
en mode manuel.
Pour créer une application avec le composant ProgressBar en mode manual, procédez
comme suit :
1 Faites glisser un composant ProgressBar du panneau Composants jusqu’à la scène.
2 Dans l’inspecteur des propriétés, procédez comme suit :
■
■
438
Entrez barreP comme nom d’occurrence.
Sélectionnez le paramètre de mode manual.
Chapitre 4 : Dictionnaire des composants
3 Sélectionnez l’image 1 dans le scénario, ouvrez le panneau Actions et entrez le code suivant qui
met à jour manuellement la barre de progression sur chaque téléchargement de fichier en
appelant la méthode setProgress() :
for(var:Number i=1; i <= total; i++){
// insérez le code pour charger le fichier
// insérez le code pour charger le fichier
barreP.setProgress(i,total);
}
Personnalisation du composant ProgressBar
Vous pouvez transformer un composant ProgressBar horizontalement au cours de la
programmation et à l’exécution. Lors de la programmation, choisissez le composant sur la scène et
utilisez l’outil Transformer librement ou une commande de modification > transformation. A
l’exécution, utilisez UIObject.setSize().
Les embouts gauche et droit de la barre de progression et le graphique de suivi ont une taille fixe.
Lorsque vous redimensionnez une barre de progression, sa partie centrale est redimensionnée
pour s’ajuster entre les embouts. Si une barre de progression est trop petite, il se peut que le rendu
soit incorrect.
Utilisation de styles avec le composant ProgressBar
Vous pouvez définir des propriétés de style pour modifier l’apparence d’une occurrence de barre
de progression. Si le nom d’une propriété de style se termine par « Color », il s’agit d’une propriété
de style de couleur qui se comporte différemment des autres propriétés de style. Pour plus
d’informations, consultez Utilisation des styles pour personnaliser la couleur et le texte des composants,
page 29.
Un composant ProgressBar supporte les styles de halo suivants :
Style
Description
themeColor
Arrière-plan d’un composant. Il s’agit du seul style de couleur qui
n’hérite pas de sa valeur. "haloGreen", "haloBlue" et "haloOrange"
sont des valeurs possibles.
color
Texte d’une étiquette de composant.
disabledColor
Couleur désactivée pour du texte.
fontFamily
Nom de police pour du texte.
fontSize
Taille en points pour la police.
fontStyle
Style de la police : "normal" ou "italic".
fontWeight
Epaisseur de la police : "normal" ou "bold".
textDecoration
Décoration du texte : "none" ou "underline".
Composant ProgressBar
439
Utilisation d’enveloppes avec le composant ProgressBar
Le composant ProgressBar utilise les symboles de clip suivants pour afficher ses états :
TrackMiddle, TrackLeftCap, TrackRightCap et BarMiddle, BarLeftCap, BarRightCap et IndBar.
Le symbole IndBar est utilisé pour une barre de progression indéterminée. Pour appliquer une
enveloppe au composant ProgressBar au cours de la programmation, modifiez les symboles dans
la bibliothèque et exportez de nouveau le composant en tant que fichier SWC. Les symboles sont
situés dans le dossier Flash UI Components 2/Themes/MMDefault/ProgressBar Elements dans la
bibliothèque du fichier HaloTheme.fla ou du fichier SampleTheme.fla. Pour plus d’informations,
consultez A propos de l’application des enveloppes aux composants, page 38.
Si vous utilisez la méthode UIObject.createClassObject() pour créer une occurrence de
composant ProgressBar de façon dynamique (à l’exécution), vous pouvez également lui appliquer
une enveloppe de façon dynamique. Pour appliquer un composant lors de l’exécution, définissez
les propriétés d’enveloppe du paramètre initObject qui est passé à la méthode
createClassObject(). Les propriétés d’enveloppe définissent le nom des symboles à utiliser
comme états de la barre de progression.
Un composant ProgressBar utilise les propriétés d’enveloppe suivantes :
Propriété
Description
progTrackMiddleName
Le milieu extensible du rail d’une barre de défilement. La valeur par
défaut est ProgTrackMiddle.
progTrackLeftName
L’embout gauche à taille fixe. La valeur par défaut est
ProgTrackLeft.
progTrackRightName
L’embout droit à taille fixe. La valeur par défaut est ProgTrackRight.
progBarMiddleName
Le graphique central extensible de la barre. La valeur par défaut est
ProgBarMiddle.
progBarLeftName
L’embout gauche de barre à taille fixe. La valeur par défaut est
ProgBarLeft.
progBarRightName
L’embout droit de barre à taille fixe. La valeur par défaut est
ProgBarRight.
progIndBarName
Le graphique de barre indéterminé. La valeur par défaut est
ProgIndBar.
Classe ProgressBar
Héritage
UIObject > ProgressBar
Nom de classe ActionScript
mx.controls.ProgressBar
La définition d’une propriété de la classe ProgressBar avec ActionScript annule le paramètre du
même nom défini dans le panneau de l’inspecteur des propriétés ou des composants.
Toutes les classes de composants ont une propriété version qui correspond à une propriété de
classe. Les propriétés de classe sont uniquement disponibles sur la classe elle-même. La propriété
version renvoie une chaîne qui indique la version du composant. Pour accéder à la propriété
version, utilisez le code suivant :
trace(mx.controls.ProgressBar.version);
440
Chapitre 4 : Dictionnaire des composants
Remarque : Le code suivant renvoie la valeur undefined :
trace(monOccurrenceDeBarreDeProgrès.version);.
Méthodes de la classe ProgressBar
Méthode
Description
ProgressBar.setProgress()
Définit la progression de la barre en mode manuel.
Hérite de toutes les méthodes de la classe UIObject.
Propriétés de la classe ProgressBar
Propriété
Description
ProgressBar.conversion
Nombre utilisé pour convertir la valeur courante des octets chargés
et les valeurs totales des octets chargés.
ProgressBar.direction
Direction dans laquelle la barre de progression se remplit.
ProgressBar.indeterminate
Indique que le nombre total d’octets de la source est inconnu.
ProgressBar.label
Texte accompagnant la barre de progression.
ProgressBar.labelPlacement
Emplacement de l’étiquette par rapport à la barre de progression.
ProgressBar.maximum
Valeur maximum de la barre de progression en mode manuel.
ProgressBar.minimum
Valeur minimum de la barre de progression en mode manuel.
ProgressBar.mode
Mode dans lequel la barre de progression charge le contenu.
ProgressBar.percentComplete Nombre indiquant le pourcentage chargé.
ProgressBar.source
Contenu à charger dont la progression est contrôlée par la barre de
progression.
ProgressBar.value
Indique le niveau de progression effectué. Cette propriété est en
lecture seule.
Hérite de toutes les propriétés de la classe UIObject.
Evénements de la classe ProgressBar
Evénement
Description
ProgressBar.complete
Déclenché une fois le téléchargement terminé.
ProgressBar.progress
Déclenché pendant le chargement du contenu en mode event ou
polled.
Hérite de tous les événements de la UIObject.
Composant ProgressBar
441
ProgressBar.complete
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(complete){
...
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.complete = function(objetEvt){
...
}
barreP.addEventListener("complete", objetDécoute)
Objet événement
Outre les propriétés d’objet événement standard, deux propriétés supplémentaires sont définies
pour l’événement ProgressBar.complete : current (la valeur chargée qui est égale au total) et
total (la valeur totale).
Description
Evénement : diffusé à l’ensemble des écouteurs enregistrés une fois la progression du chargement
terminée.
Le premier exemple d’utilisation fait appel à un gestionnaire on() et doit être directement associé
à une occurrence de composant ProgressBar. Le mot-clé this, utilisé dans un gestionnaire on()
lié à un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant,
associé à l’occurrence barreP, envoie « _level0.barreP » au panneau de sortie.
on(complete){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (pBar) distribue un événement (ici, complete) qui est géré par une
fonction (également appelée gestionnaire) sur un objet d’écoute (objetDécoute) que vous créez.
Vous définissez une méthode portant le même nom que l’événement traité par l’objet d’écoute ; la
méthode est appelée lorsque l’événement est déclenché. Lorsque l’événement est déclenché, il
transmet automatiquement un objet événement (objetEvt) à la méthode d’objet d’écoute.
Chaque objet événement dispose d’un jeu de propriétés contenant des informations relatives à
l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui traitera l’événement.
Pour finir, vous appelez la méthode UIEventDispatcher.addEventListener() sur l’occurrence
de composant qui diffuse l’événement pour enregistrer l’écouteur dans l’occurrence. Lorsque
l’occurrence distribue l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
442
Chapitre 4 : Dictionnaire des composants
Exemple
Cet exemple crée un objet d’écoute form avec une fonction de rappel complete qui envoie un
message au panneau de sortie avec la valeur de l’occurrence barreP de la manière suivante :
form.complete = function(objEvt){
// objEvt.target est le composant ayant généré l’événement change,
// c.-à-d., la barre de progression.
trace("Valeur passée à " + objEvt.target.value);
}
barreP.addEventListener("complete", form);
Voir aussi
UIEventDispatcher.addEventListener()
ProgressBar.conversion
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceBarreP.conversion
Description
Propriété : nombre qui définit une valeur de conversion pour les valeurs entrantes. Il divise les
valeurs courantes et totales, les réduit au minimum et affiche la valeur convertie dans la propriété
label. La valeur par défaut est 1.
Exemple
Le code suivant affiche la valeur de progression du chargement en kilooctets :
barreP.conversion = 1024;
ProgressBar.direction
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceBarreP.direction
Description
Propriété : indique la direction de remplissage de la barre de progression. La valeur par défaut est
"right".
Composant ProgressBar
443
Exemple
Le code suivant indique à la barre de progression de se remplir de droite à gauche.
barreP.direction = "left";
ProgressBar.indeterminate
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceBarreP.indeterminate
Description
Propriété : valeur booléenne indiquant si la barre de progression a un remplissage rayé et une
source de chargement de taille inconnue (true), ou un remplissage uni et une source de
chargement de taille connue (false).
Exemple
Le code suivant crée une barre de progression déterminée avec un remplissage uni qui se déplace
de la gauche vers la droite :
barreP.direction = "right";
barreP.indeterminate = false;
ProgressBar.label
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceBarreP.label
Description
Propriété : texte indiquant la progression du chargement. Cette propriété est une chaîne au
format « %1 sur %2 chargés (%3%%) » ; %1 est un espace réservé pour les octets courants
chargés, %2 est un espace réservé pour le total des octets chargés et %3 est un espace réservé pour
le pourcentage de contenu chargé. Les caractères « %% » sont un espace réservé pour le caractère
« % ». Si une valeur pour %2 est inconnue, elle est remplacée par « ?? ». Si une valeur est
undefined, l’étiquette ne s’affiche pas. La valeur par défaut est "LOADING %3%%"
444
Chapitre 4 : Dictionnaire des composants
Exemple
Le code suivant définit le texte devant apparaître à côté de la barre de progression au format
« 4 fichiers chargés » :
barreP.label = "%1 fichiers chargés";
Voir aussi
ProgressBar.labelPlacement
ProgressBar.labelPlacement
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceBarreP.labelPlacement
Description
Propriété : définit le placement de l’étiquette par rapport à la barre de progression. Les valeurs
possibles sont "left", "right", "top", "bottom" et "center".
Exemple
Le code suivant définit l’étiquette à afficher au-dessus de la barre de progression :
barreP.label = "%1 sur %2 chargés (%3%%)";
barreP.labelPlacement = "top";
Voir aussi
ProgressBar.label
ProgressBar.maximum
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceBarreP.maximum
Description
Propriété : la plus grande valeur de la barre de progression lorsque la propriété
ProgressBar.mode est définie sur "manual".
Composant ProgressBar
445
Exemple
Le code suivant fixe la propriété maximum au nombre total d’images d’une application Flash en
cours de chargement :
barreP.maximum = _totalframes;
Voir aussi
ProgressBar.minimum, ProgressBar.mode
ProgressBar.minimum
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceBarreP.minimum
Description
Propriété : la plus petite valeur de la barre de progression lorsque la propriété ProgressBar.mode
est définie sur "manual".
Exemple
Le code suivant définit la valeur minimum de la barre de progression :
barreP.minimum = 0;
Voir aussi
ProgressBar.maximum, ProgressBar.mode
ProgressBar.mode
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceBarreP.mode
446
Chapitre 4 : Dictionnaire des composants
Description
Propriété : mode dans lequel la barre de progression charge le contenu. Cette valeur peut être :
"event", "polled" ou "manual". Les modes les plus communément utilisés sont "event" et
"polled". Ils utilisent le paramètre source pour spécifier un processus de chargement qui émet
des événements progress et complete, tel un composant Loader (mode event), ou expose les
méthodes getBytesLoaded et getBytesTotal, tel un objet MovieClip (mode polled). Vous
pouvez également utiliser le composant ProgressBar en mode manuel en définissant
manuellement les propriétés maximum, minimum et indeterminate ainsi que les appels à la
méthode ProgressBar.setProgress().
Vous devez utiliser un objet Loader comme source en mode event. En mode polled, vous pouvez
utiliser comme source tout objet exposant les méthodes getBytesLoaded() et
getBytesTotal(), y compris un objet personnalisé ou l’objet _root.
Exemple
Le code suivant définit la barre de progression en mode event :
barreP.mode = "event";
ProgressBar.percentComplete
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceBarreP.percentComplete
Description
Propriété (lecture seule) : renvoie le pourcentage de progression du processus. Cette valeur est
réduite au minimum. La formule suivante est utilisée pour calculer le pourcentage :
100*(valeur-minimum)/(maximum-minimum)
Exemple
Le code suivant envoie la valeur de la propriété percentComplete au panneau de sortie :
trace("pourcentage terminé = " + barreP.percentComplete);
Composant ProgressBar
447
ProgressBar.progress
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(progress){
...
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.progress = function(objetEvt){
...
}
occurrenceBarreP.addEventListener("progress", objetDécoute)
Objet événement
Outre les propriétés d’objet événement standard, deux propriétés supplémentaires sont définies
pour l’événement ProgressBar.progress : current (la valeur chargée qui est égale au total) et
total (la valeur totale).
Description
Evénement : diffusé à l’ensemble des écouteurs enregistrés lorsque la valeur d’une barre de
progression est modifiée. Cet événement est uniquement diffusé lorsque ProgressBar.mode est
défini sur "manual" ou "polled".
Le premier exemple d’utilisation fait appel à un gestionnaire on() et doit être directement associé
à une occurrence de composant ProgressBar. Le mot-clé this, utilisé dans un gestionnaire on()
lié à un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant,
associé à l’occurrence maBarreP, envoie « _level0.maBarreP » au panneau de sortie :
on(progress){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (occurrenceBarreP) distribue un événement (ici, progress) qui est
géré par une fonction (également appelée gestionnaire) sur un objet d’écoute (objetDécoute) que
vous créez. Vous définissez une méthode portant le même nom que l’événement traité par l’objet
d’écoute ; la méthode est appelée lorsque l’événement est déclenché. Lorsque l’événement est
déclenché, il transmet automatiquement un objet événement (objetEvt) à la méthode d’objet
d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant des informations
relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui traitera
l’événement. Pour finir, vous appelez la méthode UIEventDispatcher.addEventListener() sur
l’occurrence de composant qui diffuse l’événement pour enregistrer l’écouteur dans l’occurrence.
Lorsque l’occurrence distribue l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
448
Chapitre 4 : Dictionnaire des composants
Exemple
Cet exemple crée un objet d’écoute, form, et définit un gestionnaire d’événement progress sur
celui-ci. L’écouteur form est enregistré sur l’occurrence barreP dans la dernière ligne de code.
Lorsque l’événement progress est déclenché, barreP diffuse l’événement à l’écouteur form qui
appelle la fonction de rappel progress de la manière suivante :
var form:Object = new Object();
form.progress = function(objEvt){
// objEvt.target est le composant ayant généré l’événement change,
// c.-à-d., la barre de progression.
trace("Valeur passée à " + objEvt.target.value);
}
barreP.addEventListener("progress", form);
Voir aussi
UIEventDispatcher.addEventListener()
ProgressBar.setProgress()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceBarreP.setProgress(completed, total)
Paramètres
completed
nombre indiquant le niveau de progression atteint. Vous pouvez utiliser les
propriétés ProgressBar.label et ProgressBar.conversion pour afficher le nombre sous
forme de pourcentage ou dans l’unité de votre choix, en fonction de la source de la barre de
progression.
total
nombre indiquant la progression totale devant être effectuée pour atteindre
100 pourcent.
Renvoie
Un nombre indiquant le niveau de progression atteint.
Description
Méthode : définit l’état de la barre pour refléter la progression effectuée lorsque la propriété
ProgressBar.mode est définie sur "manual". Vous pouvez appeler cette méthode pour que la
barre reflète l’état d’un processus autre que le chargement. L’argument completed est affecté à une
propriété value et un argument total est affecté à la propriété maximum. La propriété minimum
n’est pas altérée.
Exemple
Le code suivant appelle la méthode setProgress() en fonction de la progression du scénario
d’une animation Flash :
barreP.setProgress(_currentFrame, _totalFrames);
Composant ProgressBar
449
ProgressBar.source
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceBarreP.source
Description
Propriété : référence à l’occurrence devant être chargée et dont le processus de chargement sera
affiché. Le contenu en chargement doit émettre un événement progress à partir duquel les
valeurs courantes et totales sont récupérées. Cette propriété est uniquement utilisée lorsque
ProgressBar.mode est défini sur "event" ou "polled". La valeur par défaut est undefined.
Vous pouvez utiliser la barre de progression avec du contenu dans une application, y compris
_root.
Exemple
L’exemple suivant configure l’occurrence BarreP afin qu’elle affiche la progression du chargement
d’un composant Loader dont le nom d’occurrence correspond à loader :
barreP.source = loader;
Voir aussi
ProgressBar.mode
ProgressBar.value
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
occurrenceBarreP.value
Description
Propriété (lecture seule) : indique le niveau de progression atteint. Cette propriété est un nombre
compris entre la valeur de ProgressBar.minimum et ProgressBar.maximum. La valeur par
défaut est 0.
450
Chapitre 4 : Dictionnaire des composants
Composant RadioButton
Le composant RadioButton vous permet d’obliger un utilisateur à faire un choix unique parmi
plusieurs possibilités. Le composant RadioButton doit être utilisé dans un groupe comprenant au
moins deux occurrences RadioButton. Seul un membre peut être sélectionné au sein du groupe.
La sélection d’un bouton radio dans un groupe désélectionne le bouton jusqu’alors sélectionné
dans le groupe. Vous pouvez définir le paramètre groupName pour indiquer le groupe auquel
appartient un bouton radio.
Un bouton radio peut être activé ou désactivé. Lorsqu’un utilisateur utilise la tabulation dans un
groupe de boutons radio, seul le bouton radio sélectionné reçoit le focus. Un utilisateur peut
utiliser les touches fléchées pour modifier le focus à l’intérieur du groupe. Lorsqu’il est désactivé,
un bouton radio ne reçoit pas les informations provenant du clavier ou de la souris.
Un groupe de composant RadioButton reçoit le focus si vous cliquez dessus ou utilisez la
tabulation pour l’ouvrir. Lorsqu’un groupe RadioButton a le focus, vous pouvez utiliser les
touches suivantes pour le contrôler :
Touche
Description
Haut/Droite
La sélection se déplace vers le bouton radio précédent dans le groupe de
boutons radio.
Bas/Gauche
La sélection se déplace vers le bouton radio suivant dans le groupe de boutons
radio.
Tab
Déplace le focus du groupe de boutons radio vers le composant suivant.
Pour plus d’informations sur le contrôle du focus, consultez Création de la navigation personnalisée
du focus, page 27 ou Classe FocusManager, page 287.
Un aperçu en direct de chaque occurrence RadioButton sur la scène reflète les modifications
effectuées sur les paramètres dans le panneau de l’inspecteur des propriétés ou des composants lors
de la programmation. Cependant, l’exclusion mutuelle de la sélection ne s’affiche pas dans
l’aperçu en direct. Si vous définissez le paramètre sélectionné sur true pour deux boutons radios
dans un même groupe, ils apparaissent tous deux comme étant sélectionnés même si seule la
dernière occurrence créée apparaîtra comme étant sélectionnée à l’exécution. Pour plus
d’informations, consultez Paramètres RadioButton, page 452.
Lorsque vous ajoutez le composant RadioButton à une application, vous pouvez utiliser le
panneau Accessibilité pour le rendre accessible aux lecteurs d’écran. Vous devez d’abord ajouter la
ligne de code suivante pour activer l’accessibilité :
mx.accessibility.RadioButtonAccImpl.enableAccessibility();
Vous n’activez l’accessibilité d’un composant qu’une fois, quel que soit son nombre d’occurrences.
Pour plus d’informations, consultez « Création de contenu accessible », dans le guide Utilisation
de Flash de l’aide.
Utilisation du composant RadioButton
Un bouton radio est une partie essentielle de tout formulaire ou application web. Vous pouvez
utiliser les boutons radio partout où vous souhaitez qu’un utilisateur opte pour un choix dans une
liste d’options. Par exemple, utilisez des boutons radio dans un formulaire pour demander quelle
carte de crédit un utilisateur choisit pour effectuer le paiement.
Composant RadioButton
451
Paramètres RadioButton
Les paramètres de programmation suivants peuvent être définis pour chaque occurrence de
composant RadioButton dans le panneau de l’inspecteur des propriétés ou des composants :
label
définit la valeur du texte sur le bouton. La valeur par défaut est Radio Button.
data
correspond aux données associées au bouton radio. Il n’y a pas de valeur par défaut.
groupName
est le nom du groupe du bouton radio. La valeur par défaut est radioGroup.
selected définit la valeur initiale du bouton radio sur sélectionné (true) ou non sélectionné
(false). Un bouton radio sélectionné affiche un point. Seul un bouton radio dans un groupe peut
avoir une valeur sélectionnée définie sur true. Si, dans un groupe, plusieurs boutons radio sont
définis sur true, le dernier bouton radio à être instancié est sélectionné. La valeur par défaut est
false.
labelPlacement oriente le texte d’étiquette sur le bouton. Ce paramètre peut avoir l’un des quatre
paramètres suivants : left, right, top ou bottom ; la valeur par défaut est right. Pour plus
d’informations, consultez RadioButton.labelPlacement.
ActionScript vous permet de définir des options supplémentaires pour les occurrences
RadioButton à l’aide des méthodes, propriétés et événements de la classe RadioButton. Pour plus
d’informations, consultez Classe RadioButton.
Création d’une application avec le composant RadioButton
La procédure suivante explique comment ajouter des composants RadioButton à une application
lors de la programmation. Dans cet exemple, les boutons radio sont utilisés pour présenter une
question à laquelle on ne peut répondre que par oui ou par non, « Etes-vous joueur ? ». Les
données du groupe radio sont affichées dans un composant TextArea avec leVerdict comme
nom d’occurrence.
Pour créer une application avec le composant RadioButton, effectuez les opérations
suivantes :
1 Faites glisser deux composants RadioButton du panneau Composants jusqu’à la scène.
2 Sélectionnez l’un des boutons radio et effectuez les opérations suivantes dans le panneau
Inspecteur de composants :
■ Entrez Oui pour le paramètre label.
■ Entrez Joueur pour le paramètre data.
3 Sélectionnez l’autre bouton radio et, dans le panneau Inspecteur des composants, effectuez les
opérations suivantes :
■ Entrez Non pour le paramètre label.
■ Entrez Anti-joueur pour le paramètre data.
4 Choisissez l’image 1 dans le scénario, ouvrez le panneau Actions et saisissez le code suivant :
joueurListener = new Object();
joueurListener.click = function (evt){
leVerdict.text = evt.target.selection.data
}
radioGroup.addEventListener("click", joueurListener);
452
Chapitre 4 : Dictionnaire des composants
La dernière ligne de code ajoute un gestionnaire d’événement click au groupe de boutons
radio radioGroup. Le gestionnaire définit la propriété text de l’occurrence de composant
TextArea leVerdict à la valeur de la propriété data du bouton radio sélectionné dans le
groupe de boutons radio radioGroup. Pour plus d’informations, consultez
RadioButton.click.
Personnalisation du composant RadioButton
Vous pouvez transformer un composant RadioButton horizontalement et verticalement au cours
de la programmation et à l’exécution. Lors de la programmation, choisissez le composant sur la
scène et utilisez l’outil Transformer librement ou une commande de modification >
transformation. A l’exécution, utilisez la méthode setSize() (consultez UIObject.setSize(),
page 606).
Le cadre de délimitation d’un composant RadioButton est invisible et désigne également la zone
active du composant. Si vous augmentez la taille du composant, vous augmentez également la
taille de la zone active.
Si la dimension du cadre de délimitation du composant est trop petite pour l’étiquette du
composant, celle-ci sera rognée.
Utilisation de styles avec le composant RadioButton
Vous pouvez définir les propriétés des styles afin de modifier l’apparence d’un bouton radio. Si le
nom d’une propriété de style se termine par « Color », il s’agit d’une propriété de style de couleur
qui se comporte différemment des autres propriétés de style. Pour plus d’informations, consultez
Utilisation des styles pour personnaliser la couleur et le texte des composants, page 29.
Un composant RadioButton utilise les styles de halo suivants :
Style
Description
themeColor
Arrière-plan d’un composant. Il s’agit du seul style de couleur qui
n’hérite pas de sa valeur. "haloGreen", "haloBlue" et "haloOrange"
sont des valeurs possibles.
color
Texte d’une étiquette de composant.
disabledColor
Couleur désactivée pour du texte.
fontFamily
Nom de police pour du texte.
fontSize
Taille en points pour la police.
fontStyle
Style de la police : "normal" ou "italic".
fontWeight
Epaisseur de la police : "normal" ou "bold".
Utilisation d’enveloppes avec le composant RadioButton
Vous pouvez envelopper le composant RadioButton au cours de la programmation en modifiant
ses symboles dans la bibliothèque. Les enveloppes du composant RadioButton se trouvent dans le
dossier suivant de la bibliothèque de HaloTheme.fla ou SampleTheme.fla : Flash UI Components
2/Themes/MMDefault/RadioButton Assets/States. Pour plus d’informations, consultez A propos
de l’application des enveloppes aux composants, page 38.
Composant RadioButton
453
Si un bouton radio est activé mais n’est pas sélectionné, il affiche son état survolé lorsque
l’utilisateur place le pointeur de la souris au-dessus du bouton. Lorsque l’utilisateur clique sur un
bouton radio non sélectionné, le bouton radio reçoit le focus d’entrée et affiche son état false
enfoncé. Lorsque l’utilisateur relâche le bouton de la souris, le bouton radio affiche son état true
et le bouton radio sélectionné précédemment dans le groupe revient à son état false. Si l’utilisateur
éloigne le pointeur d’un bouton radio tout en appuyant sur le bouton de la souris, l’apparence du
bouton revient à son état false et conserve le focus d’entrée.
Si un bouton radio ou un groupe de boutons radio est désactivé, il affiche l’état désactivé, quelle
que soit l’interaction de l’utilisateur.
Si vous utilisez la méthode UIObject.createClassObject() pour créer de manière dynamique
une occurrence du composant RadioButton, vous pouvez aussi utiliser de manière dynamique
une enveloppe pour le composant. Pour utiliser de manière dynamique une enveloppe pour un
composant RadioButton, transmettez les propriétés de l’enveloppe à la méthode
UIObject.createClassObject(). Pour plus d’informations, consultez A propos de l’application
des enveloppes aux composants, page 38. Les propriétés d’enveloppe indiquent le symbole à utiliser
pour afficher un composant.
Un composant RadioButton utilise les propriétés d’enveloppe suivantes :
Nom
Description
falseUpIcon
L’état non coché. La valeur par défaut est radioButtonFalseUp.
falseDownIcon
L’état non coché enfoncé. La valeur par défaut est
radioButtonFalseDown.
falseOverIcon
L’état survolé non coché. La valeur par défaut est
radioButtonFalseOver.
falseDisabledIcon
L’état désactivé non coché. La valeur par défaut est
radioButtonFalseDisabled.
trueUpIcon
L’état coché. La valeur par défaut est radioButtonTrueUp.
trueDisabledIcon
L’état désactivé coché. La valeur par défaut est
radioButtonTrueDisabled.
Classe RadioButton
Héritage
UIObject > UIComponent > SimpleButton > Bouton > RadioButton
Nom du logiciel ActionScript
mx.controls.RadioButton
Les propriétés de la classe RadioButton vous permettent de créer au cours de l’exécution une
étiquette de texte et de la disposer par rapport au bouton radio. Vous pouvez aussi affecter des
valeurs de données aux boutons radio, les affecter à des groupes et les sélectionner en fonction de
la valeur de données ou du nom de l’occurrence.
La définition d’une propriété de la classe RadioButton avec ActionScript annule le paramètre du
même nom défini dans le panneau de l’inspecteur des propriétés ou des composants.
Le composant RadioButton utilise FocusManager pour annuler le rectangle de focus de Flash
Player et dessiner un rectangle de focus personnalisé avec des angles arrondis. Pour en savoir plus
sur la navigation du focus, consultez Création de la navigation personnalisée du focus, page 27.
454
Chapitre 4 : Dictionnaire des composants
Toutes les classes de composants ont une propriété version qui correspond à une propriété de
classe. Les propriétés de classe sont uniquement disponibles sur la classe elle-même. La propriété
version renvoie une chaîne qui indique la version du composant. Pour accéder à la propriété
version, utilisez le code suivant :
trace(mx.controls.RadioButton.version);
Remarque : Le code suivant renvoie la valeur undefined :
trace(monOccurrenceDeBoutonRadio.version);.
Méthodes de la classe RadioButton
Hérite de toutes les méthodes des classes UIObject, UIComponent, SimpleButton et Classe Button.
Propriétés de la classe RadioButton
Propriété
Description
RadioButton.data
La valeur associée à une occurrence de bouton radio.
RadioButton.groupName
Le nom d’un groupe de boutons radio ou d’une occurrence de bouton
radio.
RadioButton.label
Le texte affiché à côté d’un bouton radio.
RadioButton.labelPlacement L’orientation du texte de l’étiquette par rapport à un bouton radio.
RadioButton.selected
Définit l’état de l’occurrence de bouton radio sur selected et
désélectionne le bouton radio sélectionné précédemment.
RadioButton.selectedData
Sélectionne le bouton radio dans un groupe de boutons radio avec la
valeur de données spécifiée.
RadioButton.selection
Une référence au bouton radio actuellement sélectionné dans un
groupe de boutons radio.
Hérite de toutes les méthodes des classes UIObject, UIComponent, SimpleButton et Classe Button.
Evénements de la classe RadioButton
Evénement
Description
RadioButton.click
Déclenché lorsque l’on appuie sur le bouton de la souris au-dessus
d’une occurrence de bouton.
Hérite de tous les événements des classes UIObject, UIComponent, SimpleButton et Classe Button.
Composant RadioButton
455
RadioButton.click
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(click){
...
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.click = function(objetEvt){
...
}
GroupeDeBoutonsRadio.addEventListener("click", objetDécoute)
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsque l’utilisateur clique à l’aide de la souris
(bouton de la souris enfoncé et relâché) sur le bouton radio ou si le bouton radio est sélectionné
en utilisant les boutons fléchés. L’événement est aussi diffusé si l’on appuie sur la barre d’espace ou
sur les boutons fléchés lorsqu’un groupe de boutons radio a le focus mais que aucun des boutons
radio du groupe n’est sélectionné.
Le premier exemple d’utilisation recourt à un gestionnaire on() et doit être directement associé à
une occurrence du composant RadioButton. Le mot-clé this, utilisé dans un gestionnaire on()
lié à un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant,
associé au bouton radio monBoutonRadio, envoie « _level0.monBoutonRadio » au panneau de
sortie :
on(click){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (OccurrenceDeBoutonRadio) distribue un événement (ici, click) qui
est géré par une fonction (également appelée gestionnaire), sur un objet d’écoute (objetDécoute)
que vous créez. Vous définissez une méthode portant le même nom que l’événement traité par
l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché. Lorsque l’événement
est déclenché, il transmet automatiquement un objet événement (objetEvt) à la méthode d’objet
d’écoute. L’objet événement a un jeu de propriétés contenant des informations sur l’événement.
Vous pouvez utiliser ces propriétés pour rédiger le code qui traitera l’événement. Pour finir, vous
appelez la méthode UIEventDispatcher.addEventListener() sur l’occurrence de composant
qui diffuse l’événement pour enregistrer l’écouteur dans l’occurrence. Lorsque l’occurrence
distribue l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
456
Chapitre 4 : Dictionnaire des composants
Exemple
Cet exemple, écrit sur une image du scénario, envoie un message au panneau de sortie lorsqu’on
clique sur un bouton radio dans radioGroup. La première ligne de code crée un objet d’écoute
intitulé form. La deuxième ligne définit une fonction pour l’événement click sur l’objet
d’écoute. La fonction comporte une action trace qui utilise l’objet événement automatiquement
transmis à cette fonction, ici objEvt, pour générer un message. La propriété target d’un objet
événement est le composant qui a généré l’événement. Vous pouvez accéder aux propriétés de
l’occurrence à partir de la propriété target (dans cet exemple on accède à la propriété
RadioButton.selection). La dernière ligne appelle la méthode
UIEventDispatcher.addEventListener() à partir de radioGroup et transmet l’événement
click et l’objet d’écoute form comme paramètres de la manière suivante :
form = new Object();
form.click = function(objEvt){
trace("L’occurrence radio sélectionnée est" + objEvt.target.selection);
}
radioGroup.addEventListener("click", form);
Le code suivant envoie aussi un message au panneau de sortie lorsqu’on clique sur
OccurrenceDeBoutonRadio. Le gestionnaire on() doit être directement associé à
OccurrenceDeBoutonRadio de la manière suivante :
on(click){
trace("composant bouton radio cliqué");
}
RadioButton.data
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeBoutonRadio.data
Description
Propriété : spécifie les données à associer à une occurrence de bouton radio. La définition de cette
propriété annule la valeur du paramètre de données définie au cours de la programmation dans le
panneau de l’inspecteur des propriétés ou des composants. La propriété data peut être n’importe
quel type de données.
Exemple
L’exemple suivant affecte la valeur de données "#FF00FF" à l’occurrence de bouton radio
radioOne :
radioOne.data = "#FF00FF";
Composant RadioButton
457
RadioButton.groupName
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeBoutonRadio.groupName
GroupeDeBoutonsRadio.groupName
Description
Propriété : définit le nom du groupe d’une occurrence de bouton radio ou d’un groupe de
boutons radio. Vous pouvez utiliser cette propriété afin d’obtenir ou de définir un nom de groupe
pour une occurrence de bouton radio ou pour un groupe de boutons radio. L’appel de cette
méthode annule la valeur du paramètre groupName définie au cours de la programmation. La
valeur par défaut est "radioGroup".
Exemple
L’exemple suivant définit le nom du groupe d’une occurrence de bouton radio sur
"choixCouleur", puis transforme le nom en "choixTaille". Pour tester cet exemple, placez un
bouton radio sur la scène avec le nom d’occurrence monBoutonRadio et saisissez le code suivant
sur la première image :
monBoutonRadio.groupName = "choixCouleur";
trace(monBoutonRadio.groupName);
choixCouleur.groupName = "choixTaille";
trace(choixCouleur.groupName);
RadioButton.label
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeBoutonRadio.label
Description
Propriété : spécifie le texte de l’étiquette du bouton radio. Par défaut, l’étiquette apparaît à droite
du bouton radio. L’appel de cette méthode annule le paramètre label spécifié au cours de la
programmation. Si le texte de l’étiquette est trop long et ne rentre pas dans le cadre de
délimitation du composant, le texte est rogné.
Exemple
L’exemple suivant définit la propriété de l’étiquette de l’occurrence radioButton :
radioButton.label = "Supprimer de la liste";
458
Chapitre 4 : Dictionnaire des composants
RadioButton.labelPlacement
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeBoutonRadio.labelPlacement
groupeDeBoutonsRadio.labelPlacement
Description
Propriété : chaîne indiquant la position de l’étiquette par rapport à un bouton radio. Pour pouvez
définir cette propriété pour une occurrence individuelle ou pour un groupe de boutons radio. Si
vous définissez la propriété pour un groupe, l’étiquette est placée à l’endroit approprié pour
chaque bouton radio du groupe.
Quatre valeurs sont possibles :
•
•
•
•
Le bouton radio est placé dans le coin supérieur gauche du cadre de délimitation.
L’étiquette est placée à droite du bouton radio.
"left" Le bouton radio est placé dans le coin supérieur droit du cadre de délimitation.
L’étiquette est placée à gauche du bouton radio.
"bottom" L’étiquette est placée sous le bouton radio. Le bouton radio et l’étiquette sont
centrés horizontalement et verticalement. Si la dimension du cadre de délimitation du bouton
radio est trop réduite, l’étiquette sera rognée.
"top" L’étiquette est placée au-dessus du bouton radio. Le bouton radio et l’étiquette sont
centrés horizontalement et verticalement. Si la dimension du cadre de délimitation du bouton
radio est trop réduite, l’étiquette sera rognée.
"right"
Exemple
Le code suivant place l’étiquette à gauche de chaque bouton radio dans radioGroup :
radioGroup.labelPlacement = "left";
RadioButton.selected
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeBoutonRadio.selected
GroupeDeBoutonsRadio.selected
Composant RadioButton
459
Description
Propriété : valeur booléenne qui définit l’état du bouton radio sur sélectionné (true) et
désélectionne le bouton radio sélectionné précédemment ou définit l’état du bouton radio sur
désélectionné (false).
Exemple
La première ligne de code définit l’occurrence mcButton sur true. La deuxième ligne de code
renvoie la valeur de la propriété sélectionnée comme suit :
mcButton.selected = true;
trace(mcButton.selected);
RadioButton.selectedData
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
monGroupeDeBoutonsRadio.selectedData
Description
Propriété : sélectionne le bouton radio avec la valeur de données spécifiée et désélectionne le
bouton radio sélectionné précédemment. Si la propriété data n’est pas spécifiée pour une
occurrence sélectionnée, la valeur de l’étiquette de l’occurrence sélectionnée est sélectionnée et
renvoyée. La propriété selectedData peut être n’importe quel type de données.
Exemple
L’exemple suivant sélectionne le bouton radio avec la valeur "#FF00FF" à partir du groupe
colorGroup et envoie la valeur au panneau de sortie :
colorGroup.selectedData = "#FF00FF";
trace(colorGroup.selectedData);
RadioButton.selection
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeBoutonRadio.selection
GroupeDeBoutonsRadio.selection
460
Chapitre 4 : Dictionnaire des composants
Description
Propriété : se comporte de manière différente si vous obtenez ou définissez la propriété. Si vous
obtenez la propriété, elle renvoie la référence objet du bouton radio actuellement sélectionné dans
un groupe de boutons radio. Si vous définissez la propriété, elle sélectionne le bouton radio
spécifié (transmis comme référence objet) dans un groupe de boutons radio et désélectionne le
bouton radio précédemment sélectionné.
Exemple
L’exemple suivant sélectionne le bouton radio avec le nom d’occurrence color1 et envoie le nom
de son occurrence au panneau de sortie :
colorGroup.selection = color1;
trace(colorGroup.selection._name)
Composant RDBMSResolver (Flash Professionnel uniquement)
Les composants Resolver s’utilisent en association avec le composant DataSet (partie de la
fonctionnalité de gestion des données dans l’architecture de données Macromedia Flash). Les
composants Resolver vous permettent de convertir les modifications apportées aux données de
votre application dans un format adapté à la source de données externe que vous mettez à jour. Ils
ne sont pas visibles à l’exécution.
Si vous utilisez un composant DataSet dans votre application, il génère un jeu optimisé
d’instructions (DeltaPacket) qui décrivent les modifications apportées aux données à l’exécution.
Ce jeu d’instructions est converti au format approprié (paquet de mise à jour) par les composants
Resolver. Lorsqu’une mise à jour est envoyée au serveur, celui-ci envoie une réponse (paquet de
résultats) contenant d’autres mises à jour ou des erreurs résultant de l’opération de mise à jour. Les
composants Resolver peuvent reconvertir ces informations en DeltaPacket pour l’appliquer au
composant DataSet afin que ce dernier reste synchronisé avec la source de données externe. Les
composants Resolver vous permettent de maintenir votre application synchronisée avec une
source de données externe sans écrire de code ActionScript supplémentaire.
Le composant RDBMSResolver traduit le paquet XML qui peut être reçu et analysé par un
service web, JavaBean, servlet ou une page ASP. Le paquet XML contient les informations et le
formatage requis pour mettre à jour des bases de données relationnelles SQL standard. Le
composant Resolver parallèle XUpdateResolver (voir Composant XUpdateResolver (Flash
Professionnel uniquement), page 665) permet de renvoyer les données à un serveur XML. Pour plus
d’informations sur les composants DataSet, consultez Composant DataSet (Flash Professionnel
uniquement), page 207. Pour plus d’informations sur les connecteurs, consultez
WebServiceConnector (Flash Professionnel uniquement), page 636 et Composant XMLConnector
(Flash Professionnel uniquement), page 657. Pour plus d’informations sur l’architecture de données
Flash, consultez « Composants Resolver (Flash Professionnel uniquement) », dans le guide
Utilisation de Flash de l’aide.
Le composant RDBMSResolver convertit les modifications apportées aux données de votre
application en un paquet XML, qui peut ensuite être envoyé à une source de données externe.
Remarque : Vous pouvez utiliser le composant RDBMSResolver pour envoyer des mises à jour de
données à une source de données externe pouvant analyser les données XML et générer des
instructions SQL destinées à une base de données (par exemple, une page ASP, un servlet Java ou
un composant ColdFusion).
Composant RDBMSResolver (Flash Professionnel uniquement)
461
Les mises à jour issues du composant RDBMSResolver sont envoyées sous la forme d’un paquet
de mise à jour XML, transmis à la base de données via un objet connecteur. Le composant
Resolver est connecté à la propriété deltaPacket d’un composant DataSet ; il envoie son propre
paquet de mise à jour à un connecteur, qui lui renvoie les erreurs serveur ; le composant Resolver
transmet ces erreurs au composant DataSet. Tous ces processus utilisent les propriétés de liaison.
Utilisation du composant RDBMSResolver (Flash Professionnel uniquement)
Utilisez ce composant RDBMSResolver uniquement lorsque votre application Flash contient un
composant DataSet et doit renvoyer une mise à jour à la source de données. Ce composant traduit
les données que vous voulez renvoyer à une base de données relationnelles.
Pour plus d’informations sur l’utilisation du composant RDBMSResolver, consultez
« Composants Resolver (Flash Professionnel uniquement) », dans le guide Utilisation de Flash de
l’aide.
Paramètres du composant RDBMSResolver
TableName Chaîne représentant le nom de la table de base de données devant être mise à jour
dans le paquet XML. Cette valeur doit être identique à celle saisie pour la mise à jour de l’élément
Resolver.fieldInfo. S’il n’existe aucune mise à jour de ce champ, cette valeur doit rester vide
(c’est la valeur par défaut).
UpdateMode Enumérateur déterminant la manière dont les champs-clés sont identifiés au
moment de la génération du paquet de mise à jour XML. La valeur par défaut est umUsingKey.
Les valeurs possibles sont :
•
•
•
Utilise les anciennes valeurs de tous les champs modifiés pour identifier
l’enregistrement à mettre à jour. Il s’agit de la valeur la plus sûre pour la mise à jour, car elle
garantit que l’enregistrement n’a pas été modifié par un autre utilisateur depuis que vous l’avez
récupéré. Toutefois, elle prend du temps et génère un paquet de mise à jour plus volumineux.
umUsingModified Utilise les anciennes valeurs de tous les champs modifiés pour identifier
l’enregistrement à mettre à jour. Cette valeur garantit qu’aucun autre utilisateur n’a modifié les
mêmes champs de l’enregistrement depuis que vous l’avez récupéré.
umUsingKey Il s’agit de la valeur par défaut. Ce paramètre utilise les anciennes valeurs des
champs-clés. Il implique un « modèle de contrôle des accès concurrents optimiste », utilisé
aujourd’hui par la plupart des systèmes de base de données, et garantit que vous modifiez
l’enregistrement que vous avez récupéré de la base de données. Vos modifications remplacent
celles qu’un autre utilisateur a apportées aux mêmes données.
umUsingAll
Chaîne représentant une valeur de champ null. Vous pouvez la personnaliser pour
éviter de la confondre avec une chaîne vide ("") ou une autre valeur valide. La valeur par défaut est
{_NULL_}.
NullValue
Collection représentant un ou plusieurs champs-clés qui identifient les
enregistrements de façon unique. Si votre source de données est une table de base de données,
alors elle possède un ou plusieurs champs qui identifient ses enregistrements de façon unique. En
outre, certains champs peuvent avoir été calculés ou joints à partir d’une autre table. Ces champs
doivent être identifiés pour que les champs-clés puissent être définis dans le paquet de mise à jour
XML et pour que les champs qui ne doivent pas être mis à jour soient omis du paquet de mise à
jour XML.
FieldInfo
462
Chapitre 4 : Dictionnaire des composants
Le composant RDBMSResolver contient une propriété FieldInfo à cette fin. Cette propriété de
collection vous permet de définir un nombre illimité de champs avec des propriétés identifiant les
champs qui nécessitent un traitement particulier. Chaque élément FieldInfo de la collection
contient trois propriétés :
•
•
•
Nom d’un champ. Il doit correspondre à un champ du composant DataSet.
Valeur facultative utilisée pour identifier des champs qui ne sont pas inclus dans
la table définie dans le paramètre TableName du composant Resolver. Si vous entrez la même
valeur que celle du paramètre TableName ou le laissez vide, le champ est généralement inclus
dans le paquet de mise à jour XML. Si vous entrez une autre valeur, le champ est exclu du
paquet de mise à jour.
IsKey Propriété booléenne que vous devez définir sur true pour que tous les champs-clés de
la table soient mis à jour.
FieldName
OwnerName
L’exemple suivant montre les éléments FieldInfo créés pour mettre à jour les champs de la table
client. Vous devez identifier les champs-clés de la table client. La table client possède un champclé unique, "id" ; vous devez donc créer un élément de champ avec les valeurs suivantes :
FieldName = "id"
OwnerName = <--! laissez cette valeur vide -->
IsKey = "true"
Le champ typeClient est également ajouté à l’aide d’une jointure dans la requête. Ce champ doit
être exclu de la mise à jour. Vous créez donc un élément de champ avec les valeurs suivantes :
FieldName = "typeClient"
OwnerName = "ChampJoint"
IsKey = "false"
Une fois les éléments de champ définis, Flash Player peut les utiliser pour générer
automatiquement le paquet de mise à jour XML qui servira à mettre à jour une table.
Propriétés du composant RDBMSResolver
Propriété
Description
RDBMSResolver.deltaPacket
Une copie de la propriété DeltaPacket du composant
DataSet.
RDBMSResolver.fieldInfo
Un nombre illimité de champs avec des propriétés identifiant
les champs DataSet qui nécessitent un traitement particulier
(champ-clé ou champ non-actualisable, par exemple).
RDBMSResolver.nullValue
L’indicateur de la valeur null d’un champ.
RDBMSResolver.tableName
Le nom de la table de base de données qui doit être mise à
jour, dans le paquet XML.
RDBMSResolver.updateMode
La valeur déterminant la manière dont les champs-clés sont
identifiés lorsque le paquet de mise à jour XML est généré.
Composant RDBMSResolver (Flash Professionnel uniquement)
463
Propriété
Description
RDBMSResolver.updatePacket
Une copie de la propriété updatePacket du connecteur
contenant les données au format XML les plus récentes pour
renvoi au composant DataSet via le connecteur (lorsque le
serveur reçoit la demande de mise à jour de la part de
l’application).
RDBMSResolver.updateResults
Copie de la propriété Results du connecteur, qui renvoie les
éventuelles erreurs ou mises à jour (au format XML) destinées
au composant DataSet.
Méthodes du composant RDBMSResolver
Méthode
Description
RDBMSResolver.addFieldInfo()
Ajoute un nouvel élément à la collection fieldInfo, afin de
créer un composant Resolver de façon dynamique (à
l’exécution) plutôt que d’utiliser l’inspecteur des composants
dans l’environnement auteur.
Evénements du composant RDBMSResolver
Evénement
Description
RDBMSResolver.beforeApplyUpdates Défini dans l’application ; appelé par le composant Resolver
pour apporter des modifications personnalisées au paquet
XML de la propriété updatePacket avant qu’il soit lié au
connecteur.
RDBMSResolver.reconcileResults
Défini dans l’application ; appelé par le composant Resolver
pour reconstituer les mises à jour de la propriété updatePacket
envoyée au serveur et celles de la propriété updatePacket
renvoyée par le serveur.
RDBMSResolver.reconcileUpdates
Défini dans l’application ; appelé par le composant Resolver
pour reconstituer la mise à jour reçue par le serveur et la mise à
jour en attente.
RDBMSResolver.addFieldInfo()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
donnéesResolve.addFieldInfo("fieldName", "ownerName", "isKey")
Paramètres
fieldName
464
Chaîne ; fournit le nom du champ décrit par l’objet d’informations.
Chapitre 4 : Dictionnaire des composants
ownerName Chaîne ; fournit le nom de la table à laquelle le champ appartient. Peut être laissé
vide ("") s’il est identique à la propriété TableName de l’occurrence resolver.
isKey
Booléen ; indique s’il s’agit d’un champ clé.
Renvoie
Aucun.
Description
Méthode : ajoute un nouvel élément à la collection fieldInfo XML dans le paquet de mise à
jour. Utilisez cette méthode si vous devez définir un composant Resolver de façon dynamique (à
l’exécution) plutôt que d’utiliser l’inspecteur des composants dans l’environnement auteur.
Exemple
L’exemple suivant crée un composant Resolver et fournit le nom de la table, le nom du champ clé,
et empêche la mise à jour du champ nomTypePersonne :
var monResolver:RDBMSResolver = new RDBMSResolver();
monResolver.tableName = "Clients";
// Définit le champ id en tant que champ-clé
// et empêche la mise à jour du champ nomTypePersonne.
monResolver.addFieldInfo("id", "", true);
monResolver.addFieldInfo("nomTypePersonne", "ChampJoint", false);
// Définit les liaisons de données
//...
RDBMSResolver.beforeApplyUpdates
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
donnéesResolve.beforeApplyUpdates(objetEvt)
Paramètres
objetEvt Objet événement Resolver ; décrit les personnalisations apportées au paquet XML
avant l’envoi de la mise à jour à la base de données par le biais du connecteur. Cet objet
événement Resolver doit contenir les propriétés suivantes :
Propriété
Description
target
Objet ; resolver déclenchant l’événement.
type
Chaîne ; nom de l’événement.
updatePacket
Objet XML ; l’objet XML qui sera appliqué.
Renvoie
Aucun.
Composant RDBMSResolver (Flash Professionnel uniquement)
465
Description
Propriété : propriété de type deltaPacket qui reçoit un deltaPacket à traduire en
xupdatePacket et produit un deltaPacket à partir de n’importe quels résultats serveur placés
dans la propriété updateResults. Ce gestionnaire d’événement vous permet d’apporter des
modifications personnalisées au paquet XML avant l’envoi des données mises à jour au
connecteur.
Les messages dans la propriété updateResults sont considérés comme des erreurs. Cela signifie
qu’un paquet delta contenant des messages est de nouveau ajouté au deltaPacket pour être
renvoyé lors de la prochaine transmission du deltaPacket au serveur. Vous devez rédiger le code
qui gère les deltas contenant des messages pour que les messages soient présentés à l’utilisateur et
modifiés avant d’être ajoutés au deltaPacket suivant.
Exemple
L’exemple suivant ajoute les données d’authentification de l’utilisateur au paquet XML :
on (beforeApplyUpdates) {
// ajouter les données d’authentification de l’utilisateur
var infoUtilisateur = new XML( ""+getUserId()+ ""+getPassword()+"" );
updatePacket.firstChild.appendChild( infoUtilisateur );
}
RDBMSResolver.deltaPacket
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
donnéesResolve.deltaPacket
Description
Propriété : propriété de type deltaPacket qui reçoit un deltaPacket à traduire en
updatePacket et produit un deltaPacket à partir de n’importe quels résultats serveur placés
dans la propriété updateResults.
Les messages dans la propriété updateResults sont considérés comme des erreurs. Cela signifie
qu’un paquet delta contenant des messages est de nouveau ajouté au deltaPacket pour être
renvoyé lors de la prochaine transmission du deltaPacket au serveur. Vous devez rédiger le code
qui gère les deltas contenant des messages pour que les messages soient présentés à l’utilisateur et
modifiés avant d’être ajoutés au deltaPacket suivant.
466
Chapitre 4 : Dictionnaire des composants
RDBMSResolver.fieldInfo
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
donnéesResolve.fieldInfo
Description
Propriété : propriété de type Collection spécifiant une collection d’un nombre illimité de
champs avec des propriétés identifiant les champs DataSet qui nécessitent un traitement
particulier (champs-clés ou champs non-actualisables). Chaque élément FieldInfo de la
collection contient trois propriétés :
Propriété
Description
FieldName
Nom du champ de cas particulier. Le nom de ce champ doit
correspondre à un nom de champ dans le DataSet.
OwnerName
Cette propriété facultative correspond au nom du propriétaire
de ce champ s’il « n’appartient » pas à la même table que celle
définie dans le paramètre TableName du composant. Si vous y
entrez la valeur de ce paramètre ou le laissez vide, le champ est
généralement inclus dans le paquet de mise à jour XML. Si
vous y entrez une valeur différente, le champ est exclu du
paquet de mise à jour.
IsKey
Valeur booléenne définie sur true pour tous les champs clés
pour que la table soit mise à jour.
RDBMSResolver.nullValue
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
donnéesResolve.deltaPacket
Description
Propriété : propriété de type Chaîne utilisée pour affecter une valeur null à un champ. Vous
pouvez la personnaliser pour éviter de la confondre avec une chaîne vide ("") ou une autre valeur
valide. La chaîne par défaut est {_NULL_}.
Composant RDBMSResolver (Flash Professionnel uniquement)
467
RDBMSResolver.reconcileResults
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
donnéesResolve.reconcileResults(objetEvt)
Paramètres
objetEvt Objet événement Resolver ; décrit l’objet événement utilisé pour comparer
updatePackets Cet objet événement Resolver doit contenir les propriétés suivantes :
Propriété
Description
target
Objet ; resolver déclenchant l’événement.
type
Chaîne ; nom de l’événement.
deux
Renvoie
Aucun.
Description
Evénement : appelé par le composant Resolver pour comparer deux paquets une fois les résultats
renvoyés par le serveur et appliqués au deltaPacket.
Un paquet updateResults peut contenir à la fois le résultat des opérations spécifiées dans le
deltaPacket et des informations relatives aux mises à jour effectuées par d’autres clients.
Lorsqu’un nouveau updatePacket est reçu, les résultats des opérations et les mises à jour de la
base de données sont séparés en deux updatePackets et placés séparément dans la propriété
deltaPacket. L’événement reconcileResults est déclenché juste avant que le deltaPacket
contenant les résultats des opérations soit envoyé à l’aide de la liaison des données.
Exemple
L’exemple suivant reconstitue deux updatePackets, renvoie et efface les mises à jour en cas de
succès :
on (reconcileResults) {
// examiner les résultats
if( examine( updateResults ))
monEnsembleDeDonnées.purgeUpdates();
else
displayErrors( results );
}
468
Chapitre 4 : Dictionnaire des composants
RDBMSResolver.reconcileUpdates
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
resolveData.reconcileUpdates(objetEvt)
Paramètres
Objet événement Resolver ; décrit les personnalisations apportées au paquet XML
avant l’envoi de la mise à jour à la base de données via le connecteur. Cet objet événement
Resolver doit contenir les propriétés suivantes :
objetEvt
Propriété
Description
target
Objet ; resolver déclenchant l’événement.
type
Chaîne ; nom de l’événement.
Renvoie
Aucun.
Description
Evénement : appelé par le composant Resolver une fois les résultats reçus du serveur, après
l’application des mises à jour contenues dans un deltaPacket. Un paquet updateResults peut
contenir à la fois le résultat des opérations spécifiées dans le deltaPacket et des informations
relatives aux mises à jour effectuées par d’autres clients. Lorsqu’un nouveau updatePacket est
reçu, les résultats d’opération et les mises à jour de base de données sont séparés en deux
deltaPackets qui sont placés séparément dans la propriété deltaPacket. L’événement
reconcileUpdates est déclenché juste avant que le deltaPacket contenant les résultats des
opérations soit envoyé à l’aide de la liaison des données.
Exemple
L’exemple suivant reconstitue deux résultats et efface les mises à jour en cas de succès :
on (reconcileUpdates) {
// examiner les résultats
if( examine( updateResults ))
monEnsembleDeDonnées.purgeUpdates();
else
displayErrors( results );
Composant RDBMSResolver (Flash Professionnel uniquement)
469
RDBMSResolver.tableName
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
donnéesResolve.deltaPacket
Description
Propriété : propriété de type Chaîne représentant le nom de la table de base de données qui doit
être mise à jour dans le paquet XML. Elle détermine également les champs à envoyer dans l’objet
updatePacket. A cette fin, le composant Resolver compare la valeur de cette propriété à la valeur
fournie pour la propriété fieldInfo.ownerName. Si un champ ne comporte aucune entrée dans
la propriété de collection fieldInfo, il est placé dans l’objet updatePacket. S’il comporte une
entrée dans la propriété de collection fieldInfo et que la valeur de la propriété ownerName est
vide ou identique à la propriété tableName du composant Resolver, le champ est placé dans
l’objet updatePacket. S’il comporte une entrée dans la propriété de collection fieldInfo et que
la valeur de la propriété ownerName n’est pas vide et diffère de la propriété tableName du
composant Resolver, le champ n’est pas placé dans l’objet updatePacket.
RDBMSResolver.updateMode
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
donnéesResolve.deltaPacket
470
Chapitre 4 : Dictionnaire des composants
Description
Propriété : propriété contenant plusieurs valeurs déterminant la manière dont les champs-clés
sont identifiés lorsque le paquet de mise à jour XML est généré. Cette propriété peut prendre les
trois chaînes suivantes pour valeur :
Valeur
Description
umUsingAll
Utilise les anciennes valeurs de tous les champs modifiés pour
identifier l’enregistrement à mettre à jour. Il s’agit de la valeur la
plus sûre pour la mise à jour, car elle garantit que
l’enregistrement n’a pas été modifié par un autre utilisateur
depuis que vous l’avez récupéré. Toutefois, elle nécessite
davantage de temps et génère un paquet de mise à jour plus
volumineux.
umUsingModified
Utilise les anciennes valeurs de tous les champs modifiés pour
identifier l’enregistrement à mettre à jour. Cette valeur garantit
qu’aucun autre utilisateur n’a modifié les mêmes champs de
l’enregistrement depuis que vous l’avez récupéré.
umUsingKey
Il s’agit de la valeur par défaut. Utilise les anciennes valeurs des
champs clés. Elle implique un « modèle de contrôle des accès
concurrents optimiste », utilisé aujourd’hui par la plupart des
systèmes de base de données, et garantit que vous modifiez
l’enregistrement que vous avez récupéré de la base de
données.. Vos modifications remplaceront celles qu’un autre
utilisateur a apportées aux mêmes données.
RDBMSResolver.updatePacket
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
donnéesResolve.deltaPacket
Description
Description
Propriété : propriété de type XML utilisée pour établir une liaison avec une propriété de connecteur
qui renvoie le paquet de mise à jour contenant les changements traduits au serveur afin de
permettre la mise à jour de la source de données. Il s’agit d’un document XML contenant le
paquet des changements apportés au DataSet.
Composant RDBMSResolver (Flash Professionnel uniquement)
471
RDBMSResolver.updateResults
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Utilisation
donnéesResolve.deltaPacket
Description
Propriété : propriété de type deltaPacket contenant les résultats d’une mise à jour renvoyée par
le serveur via un connecteur. Utilisez cette propriété pour transmettre les erreurs et les données
mises à jour depuis le serveur vers un composant DataSet, par exemple, lorsqu’un serveur affecte
de nouveaux ID à un champ affecté automatiquement. Liez cette propriété à la propriété Results
d’un connecteur afin que celui-ci puisse recevoir les résultats d’une mise à jour et retransmettre les
résultats au DataSet.
Les messages dans la propriété updateResults sont considérés comme des erreurs. Cela signifie
qu’un paquet delta contenant des messages est de nouveau ajouté au deltaPacket pour être
renvoyé lors de la prochaine transmission du deltaPacket au serveur. Vous devez rédiger le code
qui gère les deltas contenant des messages pour que les messages soient présentés à l’utilisateur et
modifiés avant d’être ajoutés au deltaPacket suivant.
API du composant RPC (Remote Procedure Call)
Nom de classe ActionScript
mx.data.components.RPC
L’API du composant RPC (Remote Procedure Call) est une interface (un jeu de méthodes,
propriétés et événements) pouvant être implémentée par un composant Flash MX 2004 v2. L’API
du composant RPC définit un moyen aisé d’envoyer des paramètres et de recevoir des résultats
d’une ressource externe (service web, par exemple).
Les composants qui implémentent l’API RPC comportent les composants WebServiceConnector
et XMLConnector. Ces composants agissent comme des connecteurs entre une source de données
externe, telle qu’un service Web ou un fichier XML, et un composant de l’interface utilisateur de
l’application.
Un composant RPC peut appeler une seule fonction externe, lui transmettre des paramètres, et
recevoir des résultats. Il peut appeler la même fonction plusieurs fois. Pour appeler plusieurs
fonctions, vous devez utiliser plusieurs composants.
472
Chapitre 4 : Dictionnaire des composants
Propriétés de la classe de composants RPC
Propriété
Description
RPC.multipleSimultaneousAllowed
Indique si plusieurs appels peuvent être effectués
simultanément.
RPC.params
Spécifie les données qui seront envoyées au serveur lors de
l’exécution de la prochaine opération trigger().
RPC.results
Identifie les données reçues en provenance du serveur suite à
l’opération trigger().
RPC.suppressInvalidCalls
Indique si un appel doit être supprimé lorsque ses paramètres
ne sont pas valides.
Méthodes de la classe de composants RPC
Méthode
Description
RPC.trigger()
Lance un appel de procédure à distance.
Evénements de la classe de composant RPC
Evénement
Description
RPC.result
Diffusé lorsqu’un appel de procédure à distance (RPC)
s’achève avec succès.
RPC.send
Diffusé lorsque la fonction trigger() est en cours, après la
collecte des paramètres, mais avant la validation des données
et le lancement de l’appel à distance.
RPC.status
Diffusé lorsqu’un appel de procédure à distance est lancé,
pour informer l’utilisateur de l’état de l’opération.
RPC.multipleSimultaneousAllowed
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
occurrenceDeComposant.multipleSimultaneousAllowed;
Description
Propriété : indique si plusieurs appels peuvent être effectués simultanément. Si elle est définie sur
false, la fonction trigger() lance un appel si un autre appel est déjà en cours. Un événement
status est émis, avec le code CallAlreadyInProgress. Si la valeur est true, alors l’appel a lieu.
Lorsque plusieurs appels ont lieu simultanément, il n’est pas garanti qu’ils se termineront dans
l’ordre dans lequel ils ont été déclenchés. Flash Player peut aussi limiter le nombre d’opérations
réseau simultanées. Cette limite dépend de la version et de la plate-forme.
API du composant RPC (Remote Procedure Call)
473
RPC.params
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
occurrenceDeComposant.params;
Description
Propriété : spécifie les données qui seront envoyées au serveur lors de l’exécution de la prochaine
opération trigger(). Chaque composant RPC définit la manière dont les données sont utilisées
et quels sont les types valides.
RPC.result
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
occurrenceDeComposant.addEventListener("result", monObjetDécoute);
Description
Evénement : diffusé en cas de succès d’une opération d’appel de procédure à distance.
Le paramètre du gestionnaire d’événement est un objet comportant les champs suivants :
•
•
: la chaîne "result"
: une référence à l’objet ayant provoqué l’événement, par exemple un composant
WebServiceConnector
type
cible
Vous pouvez récupérer la valeur réelle du résultat à l’aide de la propriété results.
RPC.results
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
occurrenceDeComposant.results;
474
Chapitre 4 : Dictionnaire des composants
Description
Propriété : identifie les données reçues en provenance du serveur suite à l’opération trigger().
Chaque composant RPC définit la manière dont les données sont récupérées et quels sont les
types valides. Ces données apparaissent lorsque l’opération RPC a réussi, comme indiqué par
l’événement result. Elles sont disponibles jusqu’à la purge du composant ou jusqu’à l’opération
RPC suivante.
Les données renvoyées peuvent être très volumineuses. Vous pouvez les gérer de deux manières :
• Sélectionnez un clip, un scénario ou un écran approprié en tant que parent du composant
•
RPC. Lorsque le parent ne sera plus disponible, le stockage de ce composant pourra être utilisé
pour collecter divers éléments.
Vous pouvez affecter à tout moment la valeur null à cette propriété à l’aide d’ActionScript.
RPC.send
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
occurrenceDeComposant.addEventListener("send", monObjetDécoute);
Description
Evénement : diffusé pendant le traitement d’une opération trigger(), après la collecte des
paramètres, mais avant la validation des données et le lancement de l’appel à distance. Cet
événément permet d’insérer du code destiné à modifier les paramètres avant l’appel.
Le paramètre du gestionnaire d’événement est un objet comportant les champs suivants :
•
•
: la chaîne "send"
cible : une référence à l’objet ayant provoqué l’événement, par exemple un composant
WebServiceConnector
type
Vous pouvez récupérer ou modifier les valeurs réelles des paramètres à l’aide de la propriété
params.
RPC.status
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
occurrenceDeComposant.addEventListener("status", monObjetDécoute);
API du composant RPC (Remote Procedure Call)
475
Description
Evénement : diffusé lorsqu’un appel de procédure à distance est lancé, pour informer l’utilisateur
de l’état de l’opération.
Le paramètre du gestionnaire d’événement est un objet comportant les champs suivants :
•
•
•
•
: la chaîne "status"
: une référence à l’objet ayant provoqué l’événement, un composant
WebServiceConnector par exemple
code : une chaîne donnant le nom de la condition spécifique qui s’est produite.
data : un objet dont le contenu dépend du code.
type
cible
Les codes et les données associées applicables à l’événement status sont les suivants :
Code
Données
Description
StatusChange
{callsInProgress:nnn} Cet événement se produit chaque fois qu’un appel à
un service web est lancé ou se termine. L’élément
"nnn" correspond au nombre d’appels en cours.
CallAlreadyInProgress aucune donnée
Cet événement se produit si (a) la fonction trigger()
est appelée, si (b) multipleSimultaneousAllowed est
false et si (c) un appel est déjà en cours. Une fois que
l’événement s’est produit, l’appel tenté est considéré
comme terminé ; aucun événement "result" ou "send"
ne se produit.
InvalidParams
Cet événement se produit si la fonction trigger() a
déterminé que la propriété "params" ne contenait pas
de données valides. Si la propriété
"suppressInvalidCalls" est définie sur true, l’appel
tenté est considéré comme terminé et aucun
événement "result" ou "send" ne se produit.
aucune donnée
RPC.suppressInvalidCalls
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
occurrenceDeComposant.suppressInvalidCalls;
Description
Propriété : indique si un appel doit être supprimé lorsque ses paramètres ne sont pas valides. Si la
valeur est true, alors la fonction trigger() n’effectue aucun appel si les paramètres liés ne sont pas
validés. Un événement "status" est émis, avec le code InvalidParams. Si la valeur est false, alors
l’appel a lieu et utilise les données non valides le cas échéant.
476
Chapitre 4 : Dictionnaire des composants
RPC.trigger()
Disponibilité
Flash Player 7.
Edition
Flash MX Professionnel 2004.
Usage
occurrenceDeComposant.trigger();
Description
Méthode : lance un appel de procédure à distance. Chaque composant RPC définit précisément
ce que cela implique. Si l’opération réussit, ses résultats apparaissent dans la propriété results du
composant RPC.
La méthode trigger() effectue les opérations suivantes :
1 Si des données sont liées à la propriété params, la méthode exécute toutes les liaisons pour
garantir que les données disponibles sont à jour. Cela provoque également la validation des
données.
2 Si les données ne sont pas valides alors que le paramètre suppressInvalidCalls est défini sur
true, l’opération est interrompue.
3 Si l’opération continue, l’événement send se produit.
4 Le véritable appel à distance est lancé via la méthode de connexion indiquée (HTTP, par
exemple).
Classe Screen (Flash Professionnel uniquement)
Héritage
UIObject > UIComponent > View > Loader > Screen
Nom de classe ActionScript
mx.screens.Screen
La classe Screen est la classe de base des écrans que vous créez dans le panneau Contour de l’écran
de Flash MX Professionnel 2004. Les écrans sont des conteneurs de haut niveau utilisés dans la
création d’applications et de présentations. Pour plus d’informations sur l’utilisation des écrans,
consultez « Utilisation des écrans (Flash Professionnel uniquement) », dans le guide Utilisation de
Flash de l’aide.
La classe Screen contient deux sous-classes principales : Slide et Form.
La classe Slide fournit le comportement d’exécution des diaporamas. La classe Slide comporte des
fonctions intégrées de navigation et de séquencement, ainsi que la capacité d’ajouter facilement
des transitions entre les diapositives à l’aide des comportements. Les objets Slide conservent une
notion « d’état » et permettent à l’utilisateur d’atteindre la diapositive (ou l’état) suivante/
précédente : lorsque la diapositive suivante apparaît, la précédente est masquée. Pour plus
d’informations sur l’utilisation de la classe Slide pour contrôler les diaporamas, consultez Classe
Slide (Flash Professionnel uniquement), page 506.
Classe Screen (Flash Professionnel uniquement)
477
La classe Form fournit l’environnement d’exécution des applications de formulaires. Les
formulaires peuvent se superposer. Ils peuvent contenir ou être contenus dans d’autres
composants. Contrairement aux diapositives, les formulaires ne disposent d’aucune capacité de
séquencement ou de navigation. Pour plus d’informations sur l’utilisation de la classe Form,
consultez Classe Form (Flash Professionnel uniquement), page 294.
Les fonctionnalités de la classe Screen sont communes aux diapositives et aux formulaires.
Les écrans savent comment gérer leurs enfants Chaque écran comporte une propriété
intégrée qui est une collection d’écrans enfant. Cette collection varie selon la disposition de la
hiérarchie d’écrans dans le panneau Contour de l’écran. Les écrans peuvent posséder n’importe
quel nombre d’enfants (y compris zéro), lesquels peuvent eux-mêmes avoir des enfants.
Un écran reste avant tout un ensemble
de clips imbriqués : il peut donc contrôler la visibilité de ses enfants. Dans les applications de
formulaires, tous les enfants d’un écran sont visibles en même temps par défaut ; dans les
diaporamas, les écrans apparaissent généralement l’un après l’autre.
Les écrans peuvent masquer/afficher leurs enfants
Vous pouvez par exemple déclencher la lecture d’un son
ou d’une vidéo lorsqu’un écran spécifié apparaît.
Les écrans diffusent des événements
Chargement de contenu externe dans des écrans (Flash Professionnel
uniquement)
La classe Screen étend la classe Loader (consultez Composant Loader, page 334), ce qui facilite la
gestion et le chargement de fichiers SWF (et JPEG) externes. La classe Loader contient une
propriété appelée contentPath, qui permet de spécifier l’URL d’un fichier SWF ou JPEG
externe ou l’identifiant de liaison d’un clip de la bibliothèque.
Cette fonction vous permet de charger une arborescence d’écrans externe (ou tout fichier SWF
externe) en tant qu’enfant de n’importe quel nœud d’écran. Cela vous permet de moduler
facilement vos animations à base d’écrans et de les diviser en plusieurs fichiers SWF distincts.
Prenons l’exemple d’un diaporama réalisé par trois intervenants, qui créent chacun leur propre
partie. Vous pouvez demander à chaque intervenant de créer un diaporama distinct (SWF). Il
vous reste ensuite à créer un « diaporama maître » contenant trois espaces réservés, correspondant
aux trois diaporamas créés par ces intervenants. Dans chaque espace réservé de diapositive, faites
pointer la propriété contentPath vers le fichier SWF correspondant.
Vous pouvez par exemple organiser le diaporama « maître » comme illustré ci-dessous :
Diapositive
d’introduction
Diapositives des
différents
intervenants
Structure du fichier SWF du diaporama « maître »
478
Chapitre 4 : Dictionnaire des composants
Supposons que les intervenants vous aient fourni trois fichiers SWF : orateur_1.swf,
orateur_2.swf et orateur_3.swf. Vous pouvez facilement assembler le diaporama complet en
définissant la propriété contentPath de chaque espace réservé de diapositive à l’aide
d’ActionScript ou en définissant la propriété contentPath de chaque diapositive dans
l’inspecteur des propriétés.
Orateur_1.contentPath = orateur_1.swf;
Orateur_2.contentPath = orateur_2.swf;
Orateur_3.contentPath = orateur_3.swf;
Vous pouvez également définir la propriété contentPath de chaque diapositive à l’aide de
l’inspecteur des propriétés. Notez que, par défaut, lorsque vous définissez la propriété
contentPath d’une diapositive dans l’inspecteur des propriétés (ou à l’aide du code, comme celui
utilisé plus haut), le fichier SWF spécifié se charge dès que le fichier SWF du « diaporama
maître » est chargé. Pour réduire le temps de chargement initial, vous pouvez définir la propriété
contentPath dans un gestionnaire on(reveal) associé à chaque diapositive.
// Associé à la diapositive Orateur_1
on(reveal) {
this.contentPath="orateur_1.swf";
}
Vous pouvez également définir la propriété autoLoad de la diapositive (héritée de la classe
Loader) sur false, puis appeler la méthode load() sur la diapositive (également héritée de la
classe Loader) une fois la diapositive affichée.
// Associé à la diapositive Orateur_1
on(reveal) {
this.load();
}
Référencement des écrans chargés avec ActionScript
La classe Loader crée une animation interne nommée contentNode dans laquelle elle charge le
fichier SWF ou JPEG spécifié par la propriété contentPath. Cette animation ajoute un nœud
d’écran supplémentaire dans le diaporama chargé, entre « l’espace réservé » de la diapositive (que
vous avez créé dans le diaporama « maître », ci-dessus) et la première diapositive.
Imaginons par exemple que le fichier SWF créé pour l’espace réservé de la diapositive Orateur_1
(voir l’illustration ci-dessus) présente la structure suivante, comme indiqué dans le panneau
Contour de l’écran :
Structure du diaporama SWF « Orateur 1 »
Classe Screen (Flash Professionnel uniquement)
479
A l’exécution, une fois le fichier SWF Orateur_1 chargé dans l’espace réservé de la diapositive, le
diaporama complet présente la structure suivante :
Inséré à l’exécution
par la classe Loader
Structure du diaporama « master » et « speaker » (à l’exécution)
Les propriétés et les méthodes des classes Screen, Slide et Form « ignorent » autant que possible le
nœud contentHolder. Dans l’illustration ci-dessus, la diapositive nommée MaPrésentation (et
ses sous-diapositives) fait partie de l’arborescence de diapositives contiguës qui part de la
diapositive Présentation. Elle n’est pas traitée comme une sous-arborescence séparée.
Méthodes de la classe Screen
Méthode
Description
Screen.getChildScreen()
Renvoie l’écran enfant de cet écran à un index spécifique.
Hérite de toutes les méthodes des classes UIObject, UIComponent, SimpleButton et Composant
Loader.
Propriétés de la classe Screen
Propriété
Description
Screen.currentFocusedScreen
Renvoie l’écran contenant le focus global actuel.
Screen.indexInParent
Renvoie l’index de l’écran (dont la numérotation commence à zéro)
dans la liste des écrans enfant de son écran parent.
Screen.numChildScreens
Renvoie le nombre d’écrans enfant contenus dans l’écran.
Screen.parentIsScreen
Renvoie une valeur booléenne (true ou false) indiquant si l’objet
parent de l’écran est lui-même un écran.
Screen.rootScreen
Renvoie l’écran racine de l’arborescence (ou sous-arborescence)
contenant l’écran.
Hérite de toutes les propriétés des classes UIObject, UIComponent, View et Composant Loader.
480
Chapitre 4 : Dictionnaire des composants
Evénements de la classe Screen
Evénement
Description
Screen.allTransitionsInDone
Diffusé lorsque toutes les transitions « en entrée » appliquées à un
écran sont terminées.
Screen.allTransitionsOutDone Diffusé lorsque toutes les transitions « en sortie » appliquées à un
écran sont terminées.
Screen.mouseDown
Diffusé lorsque l’utilisateur clique sur un objet (forme ou clip)
appartenant directement à l’écran.
Screen.mouseDownSomewhere
Diffusé lorsque l’utilisateur clique quelque part sur la scène, mais
pas nécessairement sur un objet appartenant à l’écran.
Screen.mouseMove
Diffusé lorsque le pointeur de la souris bouge alors qu’il se trouve
sur un écran.
Screen.mouseOut
Diffusé lorsque le pointeur de la souris se déplace de l’intérieur vers
l’extérieur de l’écran.
Screen.mouseOver
Diffusé lorsque le pointeur de la souris se déplace de l’extérieur
vers l’intérieur de l’écran.
Screen.mouseUp
Diffusé lorsque l’utilisateur relâche le bouton de la souris au-dessus
d’un objet (forme ou clip) appartenant directement à l’écran.
Screen.mouseUpSomewhere
Diffusé lorsque l’utilisateur relâche le bouton de la souris quelque
part sur la scène, mais pas nécessairement sur un objet
appartenant à l’écran.
Hérite de tous les événements des classes UIObject, UIComponent, View et Composant Loader.
Screen.allTransitionsInDone
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
on(allTransitionsInDone) {
// votre code ici
}
objetDécoute = new Object();
objetDécoute.allTransitionsInDone = function(objetEvt){
// insérez votre code ici
}
objetEcran.addEventListener("allTransitionsInDone", objetDécoute)
Description
Evénement : diffusé lorsque toutes les transitions « en entrée » appliquées à un écran sont
terminées. L’événement allTransitionsInDone est diffusé par le gestionnaire de transition
associé à monEcran.
Classe Screen (Flash Professionnel uniquement)
481
Exemple
Dans l’exemple suivant, un bouton (diapoSuivante_btn) appartenant à la diapositive nommée
maDiapo apparaît lorsque toutes les transitions « en entrée » appliquées à maDiapo sont terminées.
// Associé à maDiapo :
on(allTransitionsInDone) {
this.diapoSuivante_btn._visible = true;
}
Voir aussi
Screen.allTransitionsOutDone
Screen.allTransitionsOutDone
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
on(allTransitionsOutDone) {
// votre code ici
}
objetDécoute = new Object();
objetDécoute.allTransitionsOutDone = function(objetEvt){
// insérez votre code ici
}
objetEcran.addEventListener("allTransitionsOutDone", objetDécoute)
Description
Evénement : diffusé lorsque toutes les transitions « en sortie » appliquées à l’écran sont terminées.
L’événement allTransitionsOutDone est diffusé par le gestionnaire de transition associé à
monEcran.
Voir aussi
Screen.currentFocusedScreen
Screen.currentFocusedScreen
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Usage
mx.screens.Screen.currentFocusedScreen
482
Chapitre 4 : Dictionnaire des composants
Description
Propriété statique (lecture seule) : renvoie une référence à l’objet d’écran le plus éloigné dans
l’arborescence contenant le focus global actuel. Le focus peut se trouver sur l’écran lui-même ou
sur un clip, un objet texte ou un composant à l’intérieur de l’écran. Prend la valeur null par
défaut s’il n’y a aucun focus actuel.
Exemple
L’exemple suivant affiche le nom de l’écran ayant actuellement le focus dans le panneau de sortie.
var focusActuel:mx.screens.Screen = mx.screens.Screen.currentFocusedScreen;
trace("L’écran actuel est : " + focusActuel._name);
Screen.getChildScreen()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
monEcran.getChildScreen(childIndex)
Paramètres
childIndex
Nombre indiquant l’index (basé sur zéro) de l’écran enfant à renvoyer.
Renvoie
Un objet d’écran.
Description
Méthode : renvoie l’objet d’écran enfant de monEcran dont l’index est childIndex.
Exemple
L’exemple suivant affiche dans le panneau de sortie les noms de tous les écrans enfant appartenant
à l’écran racine nommé Présentation.
for (var i:Number = 0; i < _root.Presentation.numChildScreens; i++) {
var childScreen:mx.screens.Screen = _root.Presentation.getChildScreen(i);
trace(childScreen._name);
}
Screen.indexInParent
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
monEcran.indexInParent
Classe Screen (Flash Professionnel uniquement)
483
Description
Propriété (lecture seule) : contient l’index (basé sur zéro) de monEcran dans la liste de sous-écrans
de son parent.
Exemple
L’exemple suivant affiche la position relative de l’écran monEcran dans la liste d’écrans enfant de
son écran parent.
var numChildren:Number = monEcran._parent.numChildScreens;
var monIndex:Number = monEcran.indexInParent;
trace("Je suis la diapo enfant n° " + monIndex + " sur " + numChildren + "
écrans.");
Screen.mouseDown
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
on(mouseDown) {
// votre code ici
}
objetDécoute = new Object();
objetDécoute.mouseDown = function(objEvt){
// insérez votre code ici
}
objetEcran.addEventListener("mouseDown", objetDécoute)
Description
Evénement : diffusé lorsque l’utilisateur clique sur un objet (par exemple, une forme ou un clip)
appartenant directement à l’écran.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. Pour plus d’informations sur les objets événement, consultez Objets
événement, page 592.
Exemple
Le code suivant affiche dans le panneau de sortie le nom de l’écran ayant capturé l’événement
souris.
on(mouseDown) {
trace("L’événement Mouse down s’est produit sur : " + objEvt.target._name);
}
484
Chapitre 4 : Dictionnaire des composants
Screen.mouseDownSomewhere
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
on(mouseDown) {
// votre code ici
}
objetDécoute = new Object();
objetDécoute.mouseDownSomewhere = function(objetEvt){
// insérez votre code ici
}
objetEcran.addEventListener("mouseDownSomewhere", objetDécoute)
Description
Evénement : diffusé lorsque l’utilisateur clique sur le bouton de la souris, mais pas nécessairement
sur l’écran spécifié.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. Pour plus d’informations sur les objets événement, consultez Objets
événement, page 592.
Screen.mouseMove
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
on(mouseDown) {
// votre code ici
}
objetDécoute = new Object();
objetDécoute.mouseMove = function(objetEvt){
// insérez votre code ici
}
objetEcran.addEventListener("mouseMove", objetDécoute)
Description
Evénement : diffusé lorsque le pointeur de la souris se déplace sur l’écran. Cet événement est
uniquement envoyé lorsque la souris se trouve au-dessus du cadre de délimitation de l’écran.
Classe Screen (Flash Professionnel uniquement)
485
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. Pour plus d’informations sur les objets événement, consultez Objets
événement, page 592.
Remarque : Il peut avoir une incidence sur les performances du système et doit donc être utilisé
judicieusement.
Screen.mouseOut
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
on(mouseOut) {
// votre code ici
}
objetDécoute = new Object();
objetDécoute.mouseOut = function(objetEvt){
// insérez votre code ici
}
objetEcran.addEventListener("mouseOut", objetDécoute)
Description
Evénement : diffusé lorsque le pointeur de la souris se déplace de l’intérieur vers l’extérieur du
cadre de délimitation de l’écran.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. Pour plus d’informations sur les objets événement, consultez Objets
événement, page 592.
Remarque : Il peut avoir une incidence sur les performances du système et doit donc être utilisé
judicieusement.
486
Chapitre 4 : Dictionnaire des composants
Screen.mouseOver
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
on(mouseDown) {
// votre code ici
}
objetDécoute = new Object();
objetDécoute.mouseOver = function(objetEvt){
// insérez votre code ici
}
objetEcran.addEventListener("mouseOver", objetDécoute)
Description
Evénement : diffusé lorsque le pointeur de la souris se déplace de l’extérieur vers l’intérieur du
cadre de délimitation de l’écran.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. Pour plus d’informations sur les objets événement, consultez Objets
événement, page 592.
Remarque : Il peut avoir une incidence sur les performances du système et doit donc être utilisé
judicieusement.
Screen.mouseUp
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
on(mouseUp) {
// votre code ici
}
objetDécoute = new Object();
objetDécoute.mouseUP = function(objetEvt){
// insérez votre code ici
}
objetEcran.addEventListener("mouseUp", objetDécoute)
Classe Screen (Flash Professionnel uniquement)
487
Description
Evénement : diffusé lorsque le bouton de la souris est relâché au-dessus de l’écran.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. Pour plus d’informations sur les objets événement, consultez Objets
événement, page 592.
Screen.mouseUpSomewhere
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
on(mouseUpSomewhere) {
// votre code ici
}
objetDécoute = new Object();
objetDécoute.mouseUpSomewhere = function(objetEvt){
// insérez votre code ici
}
objetEcran.addEventListener("mouseUpSomewhere", objetDécoute)
Description
Evénement : diffusé lorsque l’utilisateur clique sur le bouton de la souris, mais pas nécessairement
au-dessus de l’écran spécifié.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objEvt)
au gestionnaire. Chaque objet événement dispose d’un jeu de propriétés contenant des
informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code qui
traitera l’événement. Pour plus d’informations sur les objets événement, consultez Objets
événement, page 592.
Screen.numChildScreens
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
monEcran.numChildScreens
Description
Propriété (lecture seule) : renvoie le nombre d’écrans enfant contenus dans monEcran.
488
Chapitre 4 : Dictionnaire des composants
Exemple
L’exemple suivant affiche les noms de tous les écrans enfant appartenant à monEcran.
var nombreEnfants:Number = monEcran.numChildScreens;
for(i=0; i<combienDEnfants; i++) {
var écranEnfant = monEcran.getChildScreen(i);
trace(écranEnfant._name);
}
Voir aussi
Screen.getChildScreen()
Screen.parentIsScreen
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
monEcran.parentIsScreen
Description
Propriété (lecture seule) : renvoie une valeur booléenne (true ou false) indiquant si l’objet
parent de l’écran spécifié est également un écran (true) ou non (false). Si la valeur est false,
monEcran se trouve en haut de sa hiérarchie d’écrans.
Exemple
Le code suivant détermine si l’objet parent de l’écran monEcran est également un écran. Si c’est le
cas, monEcran est supposé être la diapositive racine, ou maître, du diaporama et ne pas posséder
de frères. Si monEcran.parentIsScreen renvoie true, le nombre d’écrans frères de monEcran
apparaît dans le panneau de sortie.
if (monEcran.parentIsScreen) {
trace("J’ai "+monEcran._parent.numChildScreens+" écran(s) frère(s)");
} else {
trace("Je suis l’écran racine et je n’ai pas de frère");
}
Screen.rootScreen
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
monEcran.rootScreen
Classe Screen (Flash Professionnel uniquement)
489
Description
Propriété (lecture seule) : renvoie l’écran situé en haut de la hiérarchie d’écrans et contenant
monEcran.
Exemple
L’exemple suivant affiche le nom de l’écran racine contenant l’écran monEcran.
var maRacine:mx.screens.Screen = monEcran.rootScreen;
Composant ScrollPane
Le composant Scroll Pane affiche des clips, des fichiers JPEG et SWF dans une zone défilante.
Vous pouvez activer les barres de défilement de façon à afficher les images dans une zone limitée.
Vous pouvez afficher du contenu chargé à partir d’un emplacement local ou d’Internet. Vous
pouvez définir le contenu du panneau défilant à la fois au cours de la programmation et au cours
de l’exécution en utilisant ActionScript.
Une fois que le panneau défilant a le focus, si le contenu du panneau défilant présente des arrêts
de tabulation valides, ces marqueurs reçoivent le focus. Après le dernier arrêt de tabulation dans le
contenu, le focus passe au composant suivant. Les barres de défilement horizontale et verticale
dans le panneau défilant ne reçoivent jamais le focus.
Une occurrence de ScrollPane reçoit le focus si un utilisateur clique dessus ou utilise les
tabulations. Lorsqu’une occurrence de ScrollPane a le focus, vous pouvez utiliser les touches
suivantes pour contrôler le contenu :
Touche
Description
Bas
Le contenu se déplace d’une ligne de défilement verticale vers le haut.
Fin
Le contenu se déplace en bas du panneau défilant.
Gauche
Le contenu se déplace d’une ligne de défilement horizontale vers la
droite.
Origine
Le contenu se déplace en haut du panneau défilant.
Pg. Suiv.
Le contenu se déplace d’une page de défilement verticale vers le haut.
Pg. Préc.
Le contenu se déplace d’une page de défilement verticale vers le bas.
Droite
Le contenu se déplace d’une ligne de défilement horizontale vers la
gauche.
Haut
Le contenu se déplace d’une ligne de défilement verticale vers le bas.
Pour plus d’informations sur le contrôle du focus, consultez Création de la navigation personnalisée
du focus, page 27 ou Classe FocusManager, page 287.
Un aperçu en direct de chaque occurrence de ScrollPane reflète les changements apportés dans le
panneau de l’inspecteur des propriétés ou des composants au cours de la programmation.
Utilisation du composant ScrollPane
Vous pouvez utiliser un panneau défilant pour afficher le contenu qui ne rentre pas dans 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 panneau défilant.
490
Chapitre 4 : Dictionnaire des composants
Vous pouvez définir le paramètre scrollDrag d’un panneau défilant sur true afin de permettre
aux utilisateurs de déplacer avec la souris le contenu à l’intérieur du panneau ; un curseur en
forme de main apparaît sur le contenu. Contrairement à la plupart des autres composants, les
événements sont diffusés lorsque le bouton de la souris est enfoncé et continuent à diffuser jusqu’à
ce que l’utilisateur relâche le bouton de la souris. Si le contenu d’un panneau défilant comporte
des arrêts de tabulation valides, vous devez définir scrollDrag sur false sinon chaque
interaction de la souris avec les contenus invoquera le déplacement par défilement.
Paramètres du composant ScrollPane
Voici les paramètres de programmation que vous pouvez définir pour chaque occurrence du
composant ScrollPane dans le panneau de l’inspecteur des propriétés ou des composants :
contentPath indique le contenu à charger dans le panneau défilant. Cette valeur peut être un
chemin relatif vers un fichier local SWF ou JPEG, ou un chemin relatif ou absolu vers un fichier
sur Internet. Il peut aussi s’agir de l’identificateur de liaison du symbole d’un clip dans la
bibliothèque, défini sur Exporter pour ActionScript.
indique de combien d’unités se déplace une barre de défilement horizontale à
chaque fois qu’un bouton fléché est enfoncé. La valeur par défaut est 5.
hLineScrollSize
indique de combien d’unités se déplace une barre de défilement horizontale à
chaque fois que le rail est enfoncé. La valeur par défaut est 20.
hPageScrollSize
affiche les barres de défilement horizontales. La valeur peut être "on", "off" ou
"auto". La valeur par défaut est "auto".
hScrollPolicy
scrollDrag est une valeur booléenne qui permet (true) ou ne permet pas (false) à l’utilisateur de
faire défiler le contenu à l’intérieur du panneau défilant. La valeur par défaut est false.
indique de combien d’unités se déplace une barre de défilement verticale à
chaque fois qu’un bouton fléché est enfoncé. La valeur par défaut est 5.
vLineScrollSize
indique de combien d’unités se déplace une barre de défilement verticale à
chaque fois que le rail est enfoncé. La valeur par défaut est 20.
hPageScrollSize
vScrollPolicy affiche les barres de défilement verticales. La valeur peut être "on", "off" ou "auto".
La valeur par défaut est "auto".
Vous pouvez rédiger du code ActionScript pour contrôler ces options et d’autres options des
composants ScrollPane en utilisant les propriétés, méthodes et événements ActionScript. Pour
plus d’informations, consultez Classe ScrollPane.
Création d’une application avec le composant ScrollPane
La procédure suivante explique comment ajouter un composant ScrollPane à une application au
cours de la programmation. Dans cet exemple, le panneau défilant charge un fichier SWF
contenant un logo.
Pour créer une application avec le composant ScrollPane, procédez ainsi :
1 Faites glisser un composant du panneau Composants jusqu’à la scène.
2 Dans l’inspecteur des propriétés, saisissez le nom d’occurrence monPanneauDéfilant.
3 Dans l’inspecteur des propriétés, saisissez logo.swf comme paramètre contentPath.
Composant ScrollPane
491
4 Choisissez l’image 1 dans le scénario, ouvrez le panneau Actions et saisissez le code suivant :
scrollListener = new Object();
scrollListener.scroll = function (evt){
txtPosition.text = monPanneauDéfilant.vPosition;
}
monPanneauDéfilant.addEventListener("scroll", scrollListener);
completeListener = new Object;
completeListener.complete = function() {
trace("logo.swf a fini le chargement.");
}
monPanneauDéfilant.addEventListener("complete", completeListener);
Le premier bloc de code est un gestionnaire d’événement scroll sur l’occurrence
monPanneauDéfilant qui affiche la valeur de la propriété vPosition dans une occurrence
ChampDeTexte appelée txtPosition, qui a déjà été placée sur la scène. Le deuxième bloc de
code crée un gestionnaire d’événement pour l’événement complete qui envoie un message au
panneau de sortie.
Personnalisation du composant ScrollPane
Vous pouvez transformer un composant ScrollPane horizontalement et verticalement à la fois au
cours de la programmation et de l’exécution. Lors de la programmation, choisissez le composant
sur la scène et utilisez l’outil Transformer librement ou une commande de modification >
transformation. A l’exécution, utilisez la méthode setSize() (consultez UIObject.setSize())
ou toute propriété et méthode applicables de la classe ScrollPane. Pour plus d’informations,
consultez Classe ScrollPane. Si le panneau défilant n’est pas assez grand, il se peut que le contenu
ne s’affiche pas correctement.
Le panneau défilant définit le coin supérieur gauche comme le point d’alignement de son
contenu.
Lorsque la barre de défilement horizontale est désactivée, la barre de défilement verticale s’affiche
de haut en bas sur le côté droit du panneau défilant. Lorsque la barre de défilement verticale est
désactivée, la barre de défilement horizontale s’affiche de gauche à droite en bas du panneau
défilant. Vous pouvez aussi désactiver ces deux barres.
Lorsque le panneau défilant est redimensionné, les boutons conservent la même taille tandis que
le rail et le curseur de défilement sont agrandis ou réduits et leurs zones réactives sont
redimensionnées.
Utilisation de styles avec le composant ScrollPane
Le composant ScrollPane ne gère pas les styles, contrairement aux barres de défilement qu’il
utilise.
Utilisation des enveloppes avec le composant ScrollPane
Le composant ScrollPane ne dispose d’aucune enveloppe contrairement aux barres de défilement
qu’il utilise.
492
Chapitre 4 : Dictionnaire des composants
Classe ScrollPane
Héritage
UIObject > UIComponent > View > ScrollView > ScrollPane
Nom de classe ActionScript
mx.containers.ScrollPane
Les propriétés de la classe ScrollPane vous permettent de définir le contenu, de contrôler la
progression du chargement et de régler la quantité d’informations à faire défiler au cours de
l’exécution.
La définition d’une propriété de la classe ScrollBar avec ActionScript annule le paramètre du
même nom défini dans le panneau de l’inspecteur des propriétés ou des composants.
Vous pouvez définir la propriété scrollDrag d’un panneau défilant sur true afin de permettre
aux utilisateurs de déplacer le contenu à l’intérieur du panneau ; un curseur en forme de main
apparaît sur le contenu. Contrairement à la plupart des autres composants, les événements sont
diffusés lorsque le bouton de la souris est enfoncé et continuent à diffuser jusqu’à ce que
l’utilisateur relâche le bouton de la souris. Si le contenu d’un panneau défilant comporte des arrêts
de tabulation valides, vous devez définir scrollDrag sur false sinon chaque interaction de la
souris avec les contenus invoquera le déplacement par défilement.
Toutes les classes de composants ont une propriété version qui correspond à une propriété de
classe. Les propriétés de classe sont uniquement disponibles sur la classe elle-même. La propriété
version renvoie une chaîne qui indique la version du composant. Pour accéder à la propriété
version, utilisez le code suivant :
trace(mx.containers.ScrollPane.version);
Remarque : Le code suivant renvoie la valeur undefined :
trace(monOccurrenceDePanneauDéfilant.version);.
Méthodes de la classe ScrollPane
Méthode
Description
ScrollPane.getBytesLoaded() Renvoie le nombre d’octets du contenu chargé.
ScrollPane.getBytesTotal()
Renvoie le nombre total d’octets du contenu à charger.
ScrollPane.refreshPane()
Recharge le contenu du panneau défilant.
Hérite de toutes les méthodes des classes UIObject et UIComponent.
Propriétés de la classe ScrollPane
Méthode
Description
ScrollPane.content
Référence au contenu chargé dans le panneau défilant.
ScrollPane.contentPath
Une URL absolue ou relative du fichier SWF ou JPEG à charger
dans le panneau défilant.
ScrollPane.hLineScrollSize
La quantité de contenu à faire défiler horizontalement lorsqu’un
bouton fléché est enfoncé.
ScrollPane.hPageScrollSize
La quantité de contenu à faire défiler horizontalement lorsque le rail
est enfoncé.
ScrollPane.hPosition
La position horizontale (en pixels) dans le panneau défilant.
Composant ScrollPane
493
Méthode
Description
ScrollPane.hScrollPolicy
L’état de la barre de défilement horizontale. Elle peut être toujours
activée ("on"), toujours désactivée ("off") ou disponible en
fonction des besoins ("auto"). La valeur par défaut est "auto".
ScrollPane.scrollDrag
Indique si le défilement a lieu (true) ou non (false) lorsqu’un
utilisateur appuie sur un bouton et fait glisser un élément à l’intérieur
du panneau défilant. La valeur par défaut est false.
ScrollPane.vLineScrollSize
La quantité de contenu à faire défiler verticalement lorsqu’un
bouton fléché est enfoncé.
ScrollPane.vPageScrollSize
La quantité de contenu à faire défiler verticalement lorsque le rail
est enfoncé.
ScrollPane.vPosition
La position verticale (en pixels) dans le panneau défilant.
ScrollPane.vScrollPolicy
L’état de la barre de défilement verticale. Elle peut être toujours
activée ("on"), toujours désactivée ("off") ou disponible en
fonction des besoins ("auto"). La valeur par défaut est "auto".
Hérite de toutes les propriétés des classes UIObject et UIComponent.
Evénements de la classe ScrollPane
Méthode
Description
ScrollPane.complete
Diffusé lorsque le contenu du panneau défilant est chargé.
ScrollPane.progress
Diffusé lorsque le contenu du panneau défilant est en cours de
chargement.
ScrollPane.scroll
Diffusé lorsque la barre de défilement est enfoncée.
Hérite de tous les événements des classes UIObject et UIComponent.
494
Chapitre 4 : Dictionnaire des composants
ScrollPane.complete
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(complete){
...
}
Usage 2 :
objetDécoute = new Object();
ObjetDécoute.complete = function(objetEvt){
...
}
monPanneauDéfilant.addEventListener("complete", objetDécoute)
Description
Evénement : diffusé à tous les écouteurs enregistrés une fois le contenu chargé.
Le premier exemple d’utilisation recourt à un gestionnaire on() et doit être directement associé à
une occurrence du composant ScrollPane. Le mot-clé this, utilisé dans un gestionnaire on() lié à
un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, associé
à l’occurrence du composant monComposantPanneauDéfilant, envoie
« _level0.monComposantPanneauDéfilant » au panneau de sortie :
on(complete){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (OccurrenceDePanneauDéfilant) distribue un événement (ici,
complete) qui est géré par une fonction (également appelée gestionnaire) sur un objet d’écoute
(objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour finir, vous appelez la méthode
UIEventDispatcher.addEventListener() sur l’occurrence de composant qui diffuse
l’événement pour enregistrer l’écouteur dans l’occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Composant ScrollPane
495
Exemple
L’exemple suivant crée un objet d’écoute avec un gestionnaire d’événement complete pour
l’occurrence de ScrollPane :
form.complete = function(objEvt){
// insérez le code afin de gérer l’événement
}
scrollPane.addEventListener("complete",form);
ScrollPane.content
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
monPanneauDéfilant.content
Description
Propriété (lecture seule) : référence au contenu du panneau défilant. La valeur est undefined
jusqu’à ce que le chargement commence.
Exemple
Cet exemple définit la variable mcLoaded sur la valeur de la propriété content :
var mcLoaded = scrollPane.content;
Voir aussi
ScrollPane.contentPath
ScrollPane.contentPath
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDePanneauDéfilant.contentPath
Description
Propriété : chaîne qui indique une URL absolue ou relative du fichier SWF ou JPEG à charger
dans le panneau défilant. Un chemin relatif doit être relatif au fichier SWF chargeant le contenu.
496
Chapitre 4 : Dictionnaire des composants
Si vous chargez le contenu en utilisant une URL relative, le contenu chargé doit être relatif à
l’emplacement du fichier SWF contenant le panneau défilant. Par exemple, une application
utilisant un composant ScrollPane qui réside dans le répertoire /scrollpane/nav/example.swf
pourrait charger les contenus à partir du répertoire /scrollpane/content/flash/logo.swf avec la
propriété contentPath suivante : "../content/flash/logo.swf"
Exemple
L’exemple suivant dit au panneau défilant d’afficher les contenus d’une image à partir d’Internet :
scrollPane.contentPath ="http://imagecache2.allposters.com/images/43/
033_302.jpg";
Dans l’exemple suivant, le panneau défilant affiche le contenu d’un symbole figurant dans la
bibliothèque :
scrollPane.contentPath ="movieClip_Name";
L’exemple suivant indique au panneau défilant d’afficher les contenus du fichier local logo.swf :
scrollPane.contentPath = "logo.swf";
Voir aussi
ScrollPane.content
ScrollPane.getBytesLoaded()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDePanneauDéfilant.getBytesLoaded()
Paramètres
Aucun.
Renvoie
Le nombre d’octets chargés dans le panneau défilant.
Description
Méthode : renvoie le nombre d’octets chargés dans l’occurrence de ScrollPane. Vous pouvez
appeler cette méthode à intervalles réguliers pendant le chargement du contenu afin d’en vérifier
la progression.
Composant ScrollPane
497
Exemple
Cet exemple crée une occurrence de la classe ScrollPane appelée scrollPane. Elle définit un objet
d’écoute appelé loadListener avec un gestionnaire d’événement progress qui appelle la
méthode getBytesLoaded() afin de contribuer à déterminer la progression du chargement :
createClassObject(mx.containers.ScrollPane, "monPanneauDéfilant", 0);
loadListener = new Object();
loadListener.progress = function(objEvt){
// objEvt.target est le composant qui a généré l’événement change
var bytesLoaded = scrollPane.getBytesLoaded();
var bytesTotal = scrollPane.getBytesTotal();
var percentComplete = Math.floor(bytesLoaded/bytesTotal);
if (percentComplete < 5 ) // le chargement vient de commencer
{
trace("Début du chargement du contenu à partir d’Internet");
}
else if(percentComplete = 50) //50 % accomplis
{
trace(" 50% du contenu téléchargé");
}
}
scrollPane.addEventListener("progress", loadListener);
scrollPane.contentPath = "http://www.geocities.com/hcls_matrix/Images/
homeview5.jpg";
ScrollPane.getBytesTotal()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDePanneauDéfilant.getBytesTotal()
Paramètres
Aucun.
Renvoie
Un nombre.
Description
Méthode : renvoie le nombre total d’octets à charger dans l’occurrence monPanneauDéfilant.
Voir aussi
ScrollPane.getBytesLoaded()
498
Chapitre 4 : Dictionnaire des composants
ScrollPane.hLineScrollSize
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDePanneauDéfilant.hLineScrollSize
Description
Propriété : nombre indiquant de combien de pixels se déplace le contenu lorsque le bouton fléché
gauche ou droit de la barre de défilement horizontale est enfoncé. La valeur par défaut est 5.
Exemple
Cet exemple augmente l’unité de défilement horizontal en la faisant passer à 10 :
scrollPane.hLineScrollSize = 10;
ScrollPane.hPageScrollSize
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDePanneauDéfilant.hPageScrollSize
Description
Propriété : nombre indiquant de combien de pixels se déplace le contenu lorsque le rail de la barre
de défilement horizontale est enfoncé. La valeur par défaut est 20.
Exemple
Cet exemple augmente l’unité de défilement horizontal de la page en la faisant passer à 30 :
scrollPane.hPageScrollSize = 30;
ScrollPane.hPosition
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDePanneauDéfilant.hPosition
Composant ScrollPane
499
Description
Propriété : la position (en pixels) de la barre de défilement horizontale. La position 0 est à gauche
de la barre.
Exemple
Cet exemple définit la barre de défilement sur 20 :
scrollPane.hPosition = 20;
ScrollPane.hScrollPolicy
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDePanneauDéfilant.hScrollPolicy
Description
Propriété : détermine si la barre de défilement horizontale est toujours présente ("on"), jamais
présente ("off") ou s’affiche automatiquement en fonction de la taille de l’image ("auto"). La
valeur par défaut est "auto".
Exemple
Le code suivant active les barres de défilement de façon permanente :
scrollPane.hScrollPolicy = "on";
ScrollPane.progress
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(progress){
...
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.progress = function(objetEvt){
...
}
OccurrenceDePanneauDéfilant.addEventListener("progress", objetDécoute)
500
Chapitre 4 : Dictionnaire des composants
Description
Evénement : diffusé à l’ensemble des écouteurs enregistrés pendant le chargement du contenu.
L’événement progress n’est pas toujours diffusé. L’événement complete peut être diffusé sans
qu’aucun événement progress ne soit distribué. Ceci peut particulièrement se produire si le
contenu chargé est un fichier local. Cet événement est déclenché lorsque le chargement
commence en définissant la valeur de la propriété contentPath.
Le premier exemple d’utilisation recourt à un gestionnaire on() et doit être directement associé à
une occurrence du composant ScrollPane. Le mot-clé this, utilisé dans un gestionnaire on() lié à
un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, associé
à l’occurrence du composant ScrollPane monComposantSP, envoie « _level0.monComposantSP »
au panneau de sortie :
on(progress){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (OccurrenceDePanneauDéfilant) distribue un événement (ici,
progress) qui est géré par une fonction (également appelée gestionnaire) sur un objet d’écoute
(objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour finir, vous appelez la méthode
UIEventDispatcher.addEventListener() sur l’occurrence de composant qui diffuse
l’événement pour enregistrer l’écouteur dans l’occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
Le code suivant crée une occurrence de ScrollPane appelée scrollPane, puis un objet d’écoute
avec un gestionnaire d’événement pour l’événement progress qui envoie un message au panneau
de sortie à propos du nombre d’octets du contenu chargés :
createClassObject(mx.containers.ScrollPane, "monPanneauDéfilant", 0);
loadListener = new Object();
loadListener.progress = function(objEvt){
// objEvt.target est le composant qui a généré l’événement de progression
// dans ce cas, scrollPane
trace("logo.swf a été chargé " + scrollPane.getBytesLoaded() + " Octets.");
// progression du chargement de la piste
}
scrollPane.addEventListener("terminé", loadListener);
scrollPane.contentPath = "logo.swf";
Composant ScrollPane
501
ScrollPane.refreshPane()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDePanneauDéfilant.refreshPane()
Paramètres
Aucun.
Renvoie
Rien.
Description
Méthode : assure le rafraîchissement du panneau défilant après le chargement du contenu. Cette
méthode recharge le contenu. Vous pouvez utiliser cette méthode si, par exemple, vous avez
chargé un formulaire dans un ScrollPane et qu’une propriété d’entrée (par exemple, dans un
champ de texte) a été modifiée en utilisant ActionScript. Appelez refreshPane() pour recharger
le même formulaire avec les nouvelles valeurs de propriétés d’entrée.
Exemple
L’exemple suivant permet de rafraîchir l’occurrence sp du panneau défilant :
sp.refreshPane();
ScrollPane.scroll
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(scroll){
...
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.scroll = function(objetEvt){
...
}
OccurrenceDePanneauDéfilant.addEventListener("scroll", objetDécoute)
502
Chapitre 4 : Dictionnaire des composants
Objet événement
Outre les propriétés standard de l’objet événement, une propriété type est définie pour
l’événement scroll : elle prend la valeur "scroll". Il existe également une propriété direction
pouvant avoir les valeurs "vertical" et "horizontal".
Description
Evénement : diffusé à tous les écouteurs enregistrés lorsqu’un utilisateur appuie sur les boutons, le
curseur de défilement ou le rail de la barre de défilement. Contrairement aux autres événements,
l’événement scroll est diffusé lorsqu’un utilisateur appuie sur la barre de défilement et continue
à diffuser jusqu’à ce que l’utilisateur cesse d’appuyer sur la barre de défilement.
Le premier exemple d’utilisation recourt à un gestionnaire on() et doit être directement associé à
une occurrence du composant ScrollPane. Le mot-clé this, utilisé dans un gestionnaire on() lié à
un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, associé
à l’occurrence sp, envoie « _level0.sp » au panneau de sortie :
on(scroll){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (OccurrenceDePanneauDéfilant) distribue un événement (ici,
scroll) qui est géré par une fonction (également appelée gestionnaire) sur un objet d’écoute
(objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour finir, vous appelez la méthode
UIEventDispatcher.addEventListener() sur l’occurrence de composant qui diffuse
l’événement pour enregistrer l’écouteur dans l’occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
L’exemple suivant crée un objet d’écoute form avec une fonction de rappel scroll enregistrée
dans l’occurrence occurrencePd. Vous devez remplir occurrencePd de contenu, comme illustré
ci-après :
occurrencePd.contentPath = "mouse3.jpg";
form = new Object();
form.scroll = function(objEvt){
trace("Panneau défilant parcouru");
}
occurrencePd.addEventListener("scroll", form);
Voir aussi
UIEventDispatcher.addEventListener()
Composant ScrollPane
503
ScrollPane.scrollDrag
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDePanneauDéfilant.scrollDrag
Description
Propriété : valeur booléenne qui indique si le défilement doit se produire lorsque l’utilisateur
appuie sur le bouton de la souris et la fait glisser (true) ou non (false) dans l’occurrence de
composant ScrollPane. La valeur par défaut est false.
Exemple
Cet exemple permet d’utiliser la fonction de défilement de la souris dans le panneau de
défilement :
scrollPane.scrollDrag = true;
ScrollPane.vLineScrollSize
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDePanneauDéfilant.vLineScrollSize
Description
Propriété : nombre de pixels nécessaires au déplacement de la zone d’affichage lorsque l’utilisateur
clique sur la flèche vers le haut ou la flèche vers le bas d’une barre de défilement verticale. La
valeur par défaut est 5.
Exemple
Ce code permet de définir le déplacement de la zone d’affichage à 10 lorsque l’utilisateur clique
sur les boutons fléchés de la barre de défilement verticale :
scrollPane.vLineScrollSize = 10;
504
Chapitre 4 : Dictionnaire des composants
ScrollPane.vPageScrollSize
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
OccurrenceDePanneauDéfilant.vPageScrollSize
Description
Propriété : nombre de pixels nécessaires au déplacement de la zone d’affichage lorsque l’utilisateur
clique sur le rail d’une barre de défilement verticale. La valeur par défaut est 20.
Exemple
Ce code permet de définir le déplacement de la zone d’affichage à 30 lorsque l’utilisateur clique
sur les boutons fléchés de la barre de défilement verticale :
scrollPane.vPageScrollSize = 30;
ScrollPane.vPosition
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDePanneauDéfilant.vPosition
Description
Propriété : position du pixel de la barre de défilement verticale. La valeur par défaut est 0.
ScrollPane.vScrollPolicy
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDePanneauDéfilant.vScrollPolicy
Description
Propriété : détermine si la barre de défilement verticale est toujours affichée ("on"), jamais
affichée ("off") ou si elle doit s’afficher automatiquement en fonction de la taille de l’image
("auto"). La valeur par défaut est "auto".
Composant ScrollPane
505
Exemple
Le code suivant permet un affichage systématique des barres de défilement verticales :
scrollPane.vScrollPolicy = "on";
Classe Slide (Flash Professionnel uniquement)
Héritage
UIObject > UIComponent > View > Loader > Screen > Slide
Nom de classe ActionScript
mx.screens.Slide
La classe Slide correspond à un nœud dans un diaporama hiérarchique. Dans Flash MX
Professionnel 2004, le panneau Contour de l’écran vous permet de créer des diaporamas. Pour
plus d’informations sur l’utilisation des écrans, consultez « Utilisation des écrans (Flash
Professionnel uniquement) », dans le guide Utilisation de Flash de l’aide.
La classe Slide étend la classe Screen (consultez Classe Screen (Flash Professionnel uniquement),
page 477). En plus de fournir des fonctions intégrées de navigation et de séquencement entre les
diapositives, elle permet d’ajouter facilement des transitions entre les diapositives à l’aide des
comportements. Les objets Slide conservent une notion « d’état » qui permet à l’utilisateur
d’atteindre la diapositive suivante ou précédente d’un diaporama. Lorsque la diapositive suivante
apparaît, la diapositive précédente est masquée.
Notez que vous pouvez uniquement accéder aux diapositives (ou vous « arrêter » sur les
diapositives) ne contenant pas de diapositives enfant (ou « feuille »). L’illustration suivante affiche
le contenu du panneau Contour de l’écran pour un exemple de diaporama.
Lorsque le diaporama commence, il « s’arrête » par défaut sur la diapositive appelée Finance, qui
correspond à la première diapositive du diaporama ne contenant pas de diapositive enfant.
Notez que les diapositives enfant « héritent » de l’apparence visuelle (graphiques et autre contenu)
de leurs diapositives parent. Par exemple, dans l’illustration ci-dessus, en plus du contenu de la
diapositive Finance, l’utilisateur voit le contenu des diapositives Intro et Présentation.
Remarque : La classe Slide hérite de la classe Loader (consultez Classe Loader, page 336), qui
permet de charger facilement des fichiers SWF (ou JPEG) dans une diapositive donnée. Cela
permet de modulariser les diaporamas et de réduire le délai initial de téléchargement. Pour plus
d’informations, consultez Chargement de contenu externe dans des écrans (Flash Professionnel
uniquement), page 478.
506
Chapitre 4 : Dictionnaire des composants
Utilisation de la classe Slide (Flash Professionnel uniquement)
Utilisez les méthodes et propriétés de la classe Slide pour contrôler les diaporamas créés à l’aide du
panneau Contour de l’écran (Fenêtre > Ecrans), pour obtenir des informations sur un diaporama
(par exemple, déterminer le nombre de diapositives enfant contenues dans la diapositive parent)
ou pour naviguer entre les diapositives d’un diaporama (par exemple, pour créer les boutons
« Diapositive suivante » et « Diapositive précédente »).
Vous pouvez également utiliser l’un des comportements intégrés disponibles dans le panneau
Comportements (Fenêtre > Panneaux de développement > Comportements) pour contrôler les
diaporamas. Pour plus d’informations sur l’utilisation des comportements avec les diapositives,
consultez « Ajout de commandes sur les écrans à l’aide des comportements (Flash Professionnel
uniquement) », dans le guide Utilisation de Flash de l’aide.
Paramètres du composant Slide
Vous pouvez définir les paramètres de programmation suivants pour chaque diapositive dans
l’inspecteur des propriétés ou le panneau des composants :
autoKeyNav détermine si la diapositive réagit aux interactions clavier par défaut et de quelle
manière. Pour plus d’informations, consultez Slide.autoKeyNav.
indique si le contenu spécifié par le paramètre contentPath doit être chargé
automatiquement (true) ou attendre que la méthode Loader.load() soit appelée (false) pour se
charger. La valeur par défaut est true.
autoload
spécifie le contenu de la diapositive. Il peut s’agir de l’identificateur de liaison d’un
clip ou d’une URL absolue ou relative d’un fichier SWF ou JPG à charger dans la diapositive. Par
défaut, le contenu chargé est coupé pour être adapté à la diapositive.
contentPath
overlayChildren spécifie si les diapositives enfant de la diapositive restent visibles (true) ou
disparaissent (false) lorsque vous passez d’une diapositive enfant à la suivante.
spécifie si la lecture de la diapositive continue lorsqu’elle est masquée (true) ou si elle
s’arrête (false).
playHidden
Utilisation de la classe Slide pour créer un diaporama
Utilisez les méthodes et les propriétés de la classe Slide pour contrôler les diaporamas que vous
créez dans le panneau Contour de l’écran (Fenêtre > Ecrans) de l’environnement auteur de Flash.
Notez que le panneau Comportements (Fenêtre > Panneaux de développement >
Comportements) contient plusieurs comportements permettant de créer et configurer la
navigation entre des diapositives. Dans cet exemple, vous écrivez votre propre code ActionScript
pour créer les boutons Suivant et Précédent d’un diaporama.
Pour créer un diaporama avec des commandes de navigation :
1 Dans Flash, choisissez Fichier > Nouveau.
2 Cliquez sur l’onglet Général et sélectionnez Diaporama Flash dans la section Type.
3 Dans le panneau Contour de l’écran, cliquez deux fois sur le bouton Insérer un écran (+) pour
créer deux nouvelles diapositives sous la diapositive Présentation.
Classe Slide (Flash Professionnel uniquement)
507
Le panneau Contour de l’écran doit avoir l’aspect suivant :
4 Sélectionnez la Diapositive 1 dans le panneau Contour de l’écran et ajoutez un champ de texte
contenant « Ceci est la diapositive n°1 » à l’aide de l’outil Texte.
5 Répétez cette opération pour les diapositives 2 et 3, en créant deux champs de texte contenant
« Ceci est la diapositive n°2 » et « Ceci est la diapositive n°3 » respectivement.
6 Sélectionnez le diaporama et ouvrez le panneau Composants (Fenêtre > Panneaux de
développement > Composants).
7 Faites glisser un composant Button du panneau Composants vers la partie inférieure de la scène.
8 Dans l’inspecteur des propriétés (Fenêtre > Propriétés), entrez « Diapositive suivante » pour la
propriété Label du composant Button.
9 Ouvrez le panneau Actions, s’il n’est pas déjà ouvert, en sélectionnant Fenêtre > Panneaux de
développement > Actions.
10 Tapez le code suivant dans le panneau Actions :
on(click) {
_parent.currentSlide.gotoNextSlide();
}
11 Testez le fichier SWF (Contrôle > Tester l’animation) et cliquez sur le bouton Diapositive
suivante pour atteindre la diapositive suivante.
Méthodes de la classe Slide
Propriété
Description
Slide.getChildSlide()
Renvoie la diapositive enfant de cette diapositive à un index donné.
Slide.gotoFirstSlide()
Permet d’atteindre le premier nœud feuille dans la hiérarchie de
sous-diapositives de la diapositive.
Slide.gotoLastSlide()
Permet d’atteindre le dernier nœud feuille dans la hiérarchie de
sous-diapositives de la diapositive.
Slide.gotoNextSlide()
Permet d’atteindre la diapositive suivante.
Slide.gotoPreviousSlide()
Permet d’atteindre la diapositive suivante.
Slide.gotoSlide()
Permet d’atteindre une diapositive spécifique.
Hérite de toutes les méthodes des classes UIObject, UIComponent, View, Composant Loader et de
la classe Classe Screen (Flash Professionnel uniquement).
508
Chapitre 4 : Dictionnaire des composants
Propriétés de la classe Slide
Propriété
Description
Slide.autoKeyNav
Détermine si la diapositive réagit ou non aux interactions clavier par
défaut pour naviguer vers la diapositive suivante ou précédente.
Slide.currentSlide
Renvoie le premier enfant de la diapositive contenant la diapositive
active.
Slide.currentSlide
Renvoie la diapositive active.
Slide.currentFocusedSlide
Renvoie la diapositive la plus éloignée dans l’arborescence et
contenant le focus global actuel.
Slide.defaultKeydownHandler Gestionnaire de rappel qui prend la priorité sur les interactions
clavier par défaut utilisées pour la navigation entre les diapositives
(flèches gauche et droite).
Slide.firstSlide
Renvoie la première diapositive enfant de la diapositive n’ayant pas
d’enfant.
Slide.getChildSlide()
Renvoie la diapositive enfant à l’index spécifié.
Slide.indexInParentSlide
Renvoie l’index de la diapositive (la numérotation de l’index
commence à zéro) dans la liste de sous-diapositives de son parent.
Slide.lastSlide
Renvoie la dernière diapositive enfant de la diapositive n’ayant pas
d’enfant.
Slide.nextSlide
Renvoie la diapositive du nœud feuille suivant.
Slide.numChildSlides
Renvoie le nombre de diapositives enfant de la diapositive.
Slide.overlayChildren
Détermine si les diapositives enfant de la diapositive sont visibles
lorsque le contrôle passe d’une diapositive enfant à la suivante.
Slide.parentIsSlide
Renvoie une valeur booléenne indiquant si l’objet parent de la
diapositive est également une diapositive (true) ou non (false).
Slide.playHidden
Détermine si la lecture de la diapositive continue lorsqu’elle est
masquée.
Slide.previousSlide
Renvoie la diapositive du nœud feuille précédent.
Slide.revealChild
Renvoie la racine de l’arborescence de diapositives contenant la
diapositive.
Hérite de toutes les propriétés des composants UIObject, UIComponent, View, Composant Loader
et de la Classe Screen (Flash Professionnel uniquement).
Classe Slide (Flash Professionnel uniquement)
509
Evénements de la classe Slide
Evénement
Description
Slide.hideChild
Diffusé lorsque tous les enfants d’une diapositive passent de l’état
visible à l’état invisible.
Slide.revealChild
Diffusé lorsque tous les enfants d’une diapositive passent de l’état
invisible à l’état visible.
Hérite de tous les événements des classes UIObject, UIComponent, View, Composant Loader et
Classe Screen (Flash Professionnel uniquement).
Slide.autoKeyNav
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.autoKeyNav
Description
Propriété : détermine si la diapositive réagit ou non aux interactions clavier par défaut pour
naviguer vers la diapositive suivante ou précédente lorsque maDiapo a le focus. Cette propriété
peut prendre l’une des valeurs de chaînes suivantes : "true", "false" ou "inherit". Vous
pouvez également modifier le comportement de traitement clavier par défaut à l’aide de la
propriété Slide.defaultKeydownHandler.
Vous pouvez également définir cette propriété à l’aide de l’inspecteur des propriétés.
Lorsque la propriété est définie sur "true", une pression sur la flèche droite (Key.RIGHT) ou sur
la barre d’espace (Key.SPACE) alors que maDiapo a le focus permet d’accéder à la diapositive
suivante ; une pression sur la flèche gauche (Key.Left) permet de revenir à la diapositive
précédente.
Lorsque la propriété est définie sur "false", aucune interaction clavier par défaut ne se produit
lorsque maDiapo a le focus.
Lorsque la propriété est définie sur "inherit", maDiapo examine la propriété autoKeyNav de sa
diapositive parent. Si cette propriété est également définie sur "inherit" pour le parent de
maDiapo, le parent du parent de maDiapo est examiné à son tour et ainsi de suite, jusqu’à ce
qu’une diapositive dont la propriété autoKeyNav est définie sur "true" ou "false" soit trouvée.
Si maDiapo n’a pas de diapositive parent (si (maDiapo.parentIsSlide == false) est true), elle
se comporte comme si autoKeyNav avait été défini sur true.
510
Chapitre 4 : Dictionnaire des composants
Exemple
Cet exemple désactive la navigation clavier automatique pour la diapositive nommée
diapoConnexion.
_root.Présentation.diapoConnexion.autoKeyNav = "false";
Voir aussi
Slide.defaultKeydownHandler
Slide.currentSlide
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.currentSlide
Description
Propriété (lecture seule) : renvoie la diapositive active. Il s’agit toujours d’une diapositive
« feuille », c’est-à-dire une diapositive ne contenant aucune diapositive enfant.
Exemple
Le code suivant, associé à un bouton de la diapositive Présentation racine, permet de passer à la
diapositive suivante du diaporama à chaque fois que l’utilisateur clique sur le bouton.
// Associé à une occurrence de bouton contenue dans la diapositive
Présentation :
on(press) {
_parent.currentSlide.gotoNextSlide();
}
Voir aussi
Slide.gotoNextSlide()
Slide.currentChildSlide
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.currentChildSlide
Description
Propriété (lecture seule) : renvoie le premier enfant de maDiapo contenant la diapositive active ;
renvoie null si aucune diapositive enfant contenue dans maDiapo n’a le focus actuel.
Classe Slide (Flash Professionnel uniquement)
511
Exemple
Considérons par exemple le contour de l’écran suivant :
Présentation
Diapo_1
Puce1_1
SousPuce1_1_1
Puce1_2
SousPuce1_2_1
Diapo_2
Si SousPuce1_1_1 est la diapositive actuelle, toutes les affirmations suivantes sont vraies :
Présentation.currentChildSlide == Diapo_1;
Diapo_1.currentChildSlide == Puce_1_1;
SousPuce_1_1_1.currentChildSlide == null;
Diapo_2.currentChildSlide == null;
Voir aussi
Slide.currentSlide
Slide.currentFocusedSlide
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
mx.screens.Slide.currentFocusedSlide
Description
Propriété (lecture seule) : renvoie la diapositive la plus éloignée dans l’arborescence et contenant le
focus global actuel. Le focus actuel peut se trouver dans la diapositive elle-même, dans un clip,
dans un objet texte ou dans un composant de la diapositive ; la propriété renvoie null s’il n’y a
aucun focus actuel.
Exemple
var diapoFocus = mx.screens.Slide.currentFocusedSlide;
Slide.defaultKeydownHandler
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.defaultKeyDownHandler = function (objEvt) {
// votre code ici
}
512
Chapitre 4 : Dictionnaire des composants
Paramètres
objEvt
•
•
•
•
•
Objet événement avec les propriétés suivantes :
Chaîne indiquant le type d’événement. Les valeurs possibles sont "keyUp" et
"keyDown".
ascii Entier représentant la valeur ASCII de la dernière touche enfoncée ; correspond à la
valeur renvoyée par Key.getAscii().
code Entier représentant le code de touche de la dernière touche enfoncée ; correspond à la
valeur renvoyée par Key.getCode().
shiftKey Valeur booléenne (true ou false) indiquant si la touche Maj est enfoncée (true) ou
non (false).
ctrlKey Valeur booléenne (true ou false) indiquant si la touche Ctrl est enfoncée (true) ou
non (false).
type
Renvoie
Rien.
Description
Gestionnaire de rappel : permet de remplacer la touche de navigation par défaut du clavier par un
gestionnaire de clavier personnalisé que vous créez. Par exemple, plutôt que d’utiliser les flèches
gauche et droite pour naviguer respectivement vers les diapositives précédente et suivante d’un
diaporama, vous pouvez décider d’utiliser les flèches Haut et Bas. Pour plus d’informations
concernant le comportement de traitement des interactions clavier par défaut, consultez
Slide.autoKeyNav.
Le traitement automatique des interactions clavier est activé lorsque la propriété
de la diapositive actuelle est définie sur "true". C’est également le cas si cette
propriété est définie sur "inherit" et que l’ancêtre le plus immédiat de la diapositive actuelle
n’ayant pas la propriété "inherit" est la diapositive racine du diaporama ou possède une valeur
autoKeyNav définie sur "true".
Slide.autoKeyNav
Exemple
Dans cet exemple, le traitement des interactions clavier par défaut est modifié pour les
diapositives enfant de la diapositive à laquelle le gestionnaire on(load) est associé. Le gestionnaire
utilise les flèches de navigation Haut/Bas au lieu des flèches Gauche/Droite.
on (load) {
this.defaultKeyDownHandler = function(objEvt:Object) {
switch (objEvt.code) {
case Key.DOWN :
this.currentSlide.gotoNextSlide();
break
case Key.UP :
this.currentSlide.gotoPreviousSlide();
break
default :
break
}
};
}
Classe Slide (Flash Professionnel uniquement)
513
Voir aussi
Slide.autoKeyNav
Slide.firstSlide
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.firstSlide
Description
Propriété (lecture seule) : renvoie la première diapositive enfant de maDiapo n’ayant pas d’enfant.
Exemple
Par exemple, dans la hiérarchie de diapositives illustrée ci-dessous, toutes les affirmations suivantes
sont vraies :
Présentation.Intro.firstSlide == Intro_puce_1_1;
Présentation.Intro_puce_1.firstSlide == Intro_puce_1-1;
514
Chapitre 4 : Dictionnaire des composants
Slide.getChildSlide()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.getChildSlide(indexEnfant)
Paramètres
indexEnfant
Index de la diapositive enfant à renvoyer ; la numérotation de l’index commence
à zéro.
Renvoie
Un objet diapositive.
Description
Méthode : renvoie la diapositive enfant de maDiapo dont l’index correspond à indexEnfant.
Cette méthode permet par exemple d’itérer sur un jeu de diapositives enfant dont les index sont
connus, comme dans l’exemple suivant.
Exemple
Cet exemple affiche dans le panneau de sortie les noms de toutes les diapositives enfant de la
diapositive Présentation racine.
var nombreDiapos = _root.Présentation.numChildSlides;
for(var indexDiapo=0; indexDiapo < nombreDiapos; indexDiapo++) {
var diapoEnfant = _root.Présentation.getChildSlide(indexDiapo);
trace(diapoEnfant._name);
}
Voir aussi
Slide.numChildSlides
Slide.gotoSlide()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.gotoSlide(nouvelleDiapo)
Paramètres
nouvelleDiapo
Diapositive à atteindre.
Classe Slide (Flash Professionnel uniquement)
515
Renvoie
Une valeur booléenne (true ou false) indiquant si la navigation a réussi (true) ou non (false).
Description
Méthode : permet d’atteindre la diapositive spécifiée par nouvelleDiapo. Pour que la navigation
réussisse, les conditions suivantes doivent être remplies :
• La diapositive actuelle doit être un enfant de maDiapo.
• La diapositive spécifiée par nouvelleDiapo et la diapositive actuelle doivent avoir un ancêtre
de diapositive commun, ce qui signifie que la diapositive actuelle et nouvelleDiapo doivent se
trouver dans la même sous-arborescence de diapositives.
Si aucune de ces conditions n’est remplie, la navigation échoue et la méthode renvoie false ;
sinon, la méthode atteint la diapositive spécifiée et renvoie true.
Considérons par exemple la hiérarchie de diapositives suivante :
Présentation
Diapo1
Diapo1_1
Diapo1_2
Diapo2
Diapo2_1
Diapo2_2
Si la diapositive actuelle est Diapo1_2, alors la méthode gotoSlide() suivante échouera, puisque
la diapositive actuelle n’est pas un descendant de Diapo2 :
Diapo2.gotoSlide(Diapo2_1);
Considérons également la hiérarchie de diapositives suivante, dans laquelle un objet de formulaire
est l’écran parent de deux arborescences de diapositives distinctes.
Formulaire_1
Diapo1
Diapo1_1
Diapo1_2
Diapo2
Diapo2_1
Diapo2_2
Si la diapositive actuelle est Diapo1_2, alors la méthode suivante échouera également car Diapo1
et Diapo2 se situent dans des sous-arborescences de diapositives différentes.
Diapo1_2.gotoSlide(Diapo2_2);
Exemple
Le code suivant, associé à un composant Button, utilise la propriété Slide.currentSlide et la
méthode gotoSlide() pour atteindre la diapositive suivante dans le diaporama.
on(click) {
_parent.gotoSlide(_parent.currentSlide.nextSlide);
}
Notez que cela équivaut au code suivant, utilisant la méthode Slide.gotoNextSlide() :
on(click) {
_parent.currentSlide.gotoNextSlide();
}
516
Chapitre 4 : Dictionnaire des composants
Voir aussi
Slide.currentSlide, Slide.gotoNextSlide()
Slide.gotoFirstSlide()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.gotoFirstSlide()
Renvoie
Rien.
Description
Méthode : permet d’atteindre la première diapositive feuille dans l’arborescence de diapositives
enfant sous maDiapo. Cette méthode est ignorée lorsqu’elle est appelée depuis le gestionnaire
d’événement on(hide) ou on(reveal) d’une diapositive, si l’événement résulte d’une opération
de navigation dans les diapositives.
Pour atteindre la première diapositive du diaporama, appelez
Pour plus d’informations sur rootSlide, consultez
maDiapo.rootSlide.gotoFirstSlide().
Slide.revealChild.
Exemple
Dans la hiérarchie de diapositives illustrée ci-dessous, les appels de méthode suivants permettent
tous d’atteindre la diapositive nommée Intro_puce_1_1.
Présentation.gotoFirstSlide();
Présentation.Intro.gotoFirstSlide();
Présentation.Intro.Intro_puce_1.gotoFirstSlide();
Classe Slide (Flash Professionnel uniquement)
517
Cette méthode permet d’atteindre la diapositive nommée Intro_puce_2_1.
Présentation.Intro.Intro_puce_2.gotoFirstSlide();
Voir aussi
Slide.firstSlide, Slide.revealChild
Slide.gotoLastSlide()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.gotoLastSlide()
Renvoie
Rien.
Description
Méthode : permet d’atteindre la dernière diapositive feuille dans l’arborescence de diapositives
enfant sous maDiapo. Cette méthode est ignorée lorsqu’elle est appelée depuis le gestionnaire
d’événement on(hide) ou on(reveal) d’une diapositive, si l’événement résulte d’une opération
de navigation dans les diapositives.
Exemple
Dans la hiérarchie de diapositives illustrée ci-dessous, les appels de méthode suivants permettent
d’atteindre la diapositive nommée Intro_puce_1_2.
Présentation.Intro.gotoLastSlide();
Présentation.Intro.Intro_puce_1.gotoLastSlide();
Ces appels de méthode permettent d’atteindre la diapositive nommée Intro_puce_2_1.
518
Chapitre 4 : Dictionnaire des composants
Présentation.gotoLastSlide();
Présentation.Intro.gotoLastSlide();
Voir aussi
Slide.gotoSlide(), Slide.lastSlide
Slide.gotoNextSlide()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.gotoNextSlide()
Renvoie
Valeur booléenne (true ou false) ou null : renvoie true si la méthode a permis d’atteindre la
diapositive suivante ; renvoie false si la dernière diapositive du diaporama avait déjà été atteinte
lors de l’appel de la méthode (si currentSlide.nextSlide est null) ; renvoie null si la
méthode est appelée sur une diapositive qui ne contient pas la diapositive actuelle.
Description
Méthode : permet d’atteindre la diapositive suivante du diaporama. Lorsque le contrôle passe
d’une diapositive à la suivante, la diapositive sortante est masquée et la diapositive entrante est
affichée. Si les diapositives se trouvent dans des sous-arborescences de diapositives différentes,
toutes les diapositives ancêtre, depuis la diapositive sortante jusqu’à l’ancêtre commun des
diapositives entrante et sortante, sont masquées et reçoivent un événement hide. Tout de suite
après, toutes les diapositives ancêtre de la diapositive entrante, jusqu’à l’ancêtre commun des
diapositives entrante et sortante, sont affichées et reçoivent un événement reveal.
Classe Slide (Flash Professionnel uniquement)
519
La méthode gotoNextSlide() est généralement appelée sur le nœud feuille représentant la
diapositive actuelle. Si elle est appelée sur un nœud non feuille, par exemple unNœud, la méthode
unNœud.gotoNextSlide() permet d’atteindre le premier nœud feuille de la diapositive, ou
« section », suivante. Pour plus d’informations, consultez l’exemple ci-dessous.
Cette méthode n’a aucun effet lorsqu’elle est appelée sur une diapositive qui ne contient pas la
diapositive actuelle (voir l’exemple ci-dessous).
Cette méthode n’a pas plus d’effet lorsqu’elle est appelée depuis un gestionnaire d’événement
on(hide) ou on(reveal) associé à une diapositive, si ce gestionnaire a été appelé suite à une
opération de navigation dans les diapositives.
Exemple
Supposons que, dans la hiérarchie de diapositives suivante, la diapositive nommée
Intro_puce_1_1 soit la diapositive actuellement affichée (c’est-à-dire que
_root.Présentation.currentSlide._name == Intro_puce_1_1).
Dans ce cas, l’appel de Intro_puce_1_1.gotoNextSlide() permet d’atteindre
Intro_puce_1_2, qui est un frère de Intro_puce_1_1.
Cependant, l’appel de Intro_puce_1.gotoNextSlide() permet d’atteindre Intro_puce_2_1,
la première diapositive feuille contenue dans Intro_puce_2, qui est le frère suivant de
Intro_puce_1. De même, l’appel de Intro.gotoNextSlide() permet d’atteindre
Résultats_puce_1, la première diapositive feuille contenue dans la diapositive Résultats.
Enfin, en supposant toujours que la diapositive actuelle est Intro_puce_1_1, l’appel de
Résultats.gotoNextSlide() n’a aucun effet, puisque Résultats ne contient pas la diapositive
actuelle (ce qui signifie que Résultats.currentSlide est null).
Voir aussi
Slide.currentSlide, Slide.gotoPreviousSlide(), Slide.nextSlide
520
Chapitre 4 : Dictionnaire des composants
Slide.gotoPreviousSlide()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.gotoPreviousSlide()
Renvoie
Valeur booléenne (true ou false) ou null : renvoie true si la méthode a permis d’atteindre la
diapositive précédente ; renvoie false si le diaporama se trouve sur la première diapositive lors de
l’appel de la méthode (si currentSlide.nextSlide est null) ; renvoie null si la méthode est
appelée sur une diapositive qui ne contient pas la diapositive actuelle.
Description
Méthode : permet d’atteindre la diapositive précédente du diaporama. Lorsque le contrôle passe
d’une diapositive à la précédente, la diapositive sortante est masquée et la diapositive entrante est
affichée. Si les diapositives se trouvent dans des sous-arborescences de diapositives différentes,
toutes les diapositives ancêtre, depuis la diapositive sortante jusqu’à l’ancêtre commun des
diapositives entrante et sortante, sont masquées et reçoivent un événement hide. Tout de suite
après, toutes les diapositives ancêtre de la diapositive entrante, jusqu’à l’ancêtre commun des
diapositives entrante et sortante, sont affichées et reçoivent un événement reveal.
La méthode gotoPreviousSlide() est généralement appelée sur le nœud feuille représentant la
diapositive actuelle. Si elle est appelée sur un nœud non feuille, par exemple unNœud, la méthode
unNœud.gotoPreviousSlide() permet d’atteindre le premier nœud feuille de la diapositive ou
« section » suivante. Pour plus d’informations, consultez l’exemple ci-dessous.
Cette méthode n’a aucun effet lorsqu’elle est appelée sur une diapositive qui ne contient pas la
diapositive actuelle (voir l’exemple ci-dessous).
Notez également que cette méthode n’a pas plus d’effet est depuis un gestionnaire d’événement
on(hide) ou on(reveal) associé à une diapositive, si ce gestionnaire a été appelé suite à une
opération de navigation dans les diapositives.
Classe Slide (Flash Professionnel uniquement)
521
Exemple
Supposons que, dans la hiérarchie de diapositives suivante, la diapositive nommée
Intro_puce_1_2 soit la diapositive actuellement affichée (c’est-à-dire que
_root.Présentation.currentSlide._name == Intro_puce_1_2).
Dans ce cas, l’appel de la méthode Intro_puce_1_2.gotoPreviousSlide() permet d’atteindre
Intro_puce_1_1, qui est le frère précédent de Intro_puce_1_2.
Cependant, l’appel de Intro_puce_2.gotoPreviousSlide() permet d’atteindre
Intro_puce_1_1., la première diapositive feuille contenue dans Intro_puce_1, qui est le frère
suivant de Intro_puce_2. De même, l’appel de Résultats.gotoPreviousSlide() permet
d’atteindre Intro_puce_1, la première diapositive feuille contenue dans la diapositive Intro.
Enfin, si la diapositive actuelle est Intro_puce_1_1, alors l’appel de
Résultats.gotoPreviousSlide() n’a aucun effet, puisque Résultats ne contient pas la
diapositive actuelle (ce qui signifie que Résultats.currentSlide est null).
Voir aussi
Slide.currentSlide, Slide.gotoNextSlide(), Slide.previousSlide
522
Chapitre 4 : Dictionnaire des composants
Slide.hideChild
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
on(hideChild) {
// votre code ici
}
Description
Evénement : diffusé à chaque fois que l’enfant d’un objet de diapositive passe de l’état visible à
l’état invisible. Cet événement est uniquement diffusé par les objets de diapositive, et non par les
objets de formulaire. L’événement hideChild sert essentiellement à appliquer des transitions « en
sortie » à tous les enfants d’une diapositive donnée.
Exemple
Lorsqu’il est associé à la diapositive racine (par exemple, la diapositive Présentation), ce code
affiche le nom de chacune des diapositives enfant appartenant à la diapositive racine, au fur et à
mesure de leur apparition.
on(revealChild) {
var enfant = objEvt.target._name;
trace(enfant + " vient de s’afficher");
}
Voir aussi
Slide.revealChild
Slide.indexInParentSlide
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.indexInParent
Description
Propriété (lecture seule) : renvoie l’index de maDiapo dans la liste de diapositives enfant de son
parent ; la numérotation de l’index commence à zéro.
Classe Slide (Flash Professionnel uniquement)
523
Exemple
Le code suivant utilise les propriétés indexInParent et Slide.numChildSlides pour afficher
l’index de la diapositive actuellement affichée ainsi que le nombre total de diapositives contenues
dans la diapositive parent. Pour utiliser ce code, associez-le à une diapositive parent contenant une
ou plusieurs diapositives enfant.
on (revealChild) {
trace("Affichage de la diapositive "+(currentSlide.indexInParentSlide+1)+"
sur "+currentSlide._parent.numChildSlides);
}
Notez que, du fait que cette propriété est basée sur zéro, sa valeur est incrémentée d’un point
(currentSlide.indexInParent+1) afin d’afficher des valeurs plus significatives.
Voir aussi
Slide.numChildSlides, Slide.revealChild
Slide.lastSlide
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.lastSlide
Description
Propriété (lecture seule) : renvoie la dernière diapositive enfant de maDiapo n’ayant pas d’enfant.
Exemple
Toutes les affirmations suivantes, concernant la hiérarchie de diapositives ci-dessous, sont
vraies :
Présentation.lastSlide._name == Résultats_puce_1;
Intro.lastSlide._name == Intro_puce_1_2;
524
Chapitre 4 : Dictionnaire des composants
Intro_puce_1.lastSlide._name == Intro_puce_1_2;
Résultats.lastSlide._name = Résultats_puce_1;
Slide.nextSlide
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.nextSlide
Description
Propriété (lecture seule) : renvoie la diapositive que vous atteindriez en appelant
maDiapo.gotoNextSlide(), sans effectuer le déplacement. Vous pouvez par exemple utiliser
cette propriété pour afficher le nom de la diapositive suivante du diaporama et permettre aux
utilisateurs de décider de l’afficher ou non.
Classe Slide (Flash Professionnel uniquement)
525
Exemple
Dans cet exemple, l’étiquette d’un composant Button nommé boutonSuivant affiche le nom de
la diapositive suivante du diaporama. S’il n’y a pas de diapositive suivante (si maDiapo.nextSlide
est null), l’étiquette du bouton est mise à jour pour indiquer à l’utilisateur qu’il est à la fin du
diaporama.
if (maDiapo.nextSlide != null) {
boutonSuivant.label = "Diapositive suivante : " + maDiapo.nextSlide._name
+ " > ";
} else {
boutonSuivant.label = "Fin du diaporama.";
}
Voir aussi
Slide.gotoNextSlide(), Slide.previousSlide
Slide.numChildSlides
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.numChildSlides
Description
Propriété (lecture seule) : renvoie le nombre de diapositives enfant contenues dans maDiapo.
Notez qu’une diapositive peut contenir des formulaires ou d’autres diapositives. Si maDiapo
contient à la fois des diapositives et des formulaires, cette propriété renvoie uniquement le
nombre de diapositives et ne compte pas les formulaires.
Exemple
Cet exemple utilise la propriété Slide.numChildSlide et la méthode Slide.getChildSlide()
pour itérer sur toutes les diapositives enfant de la diapositive Présentation racine et afficher leurs
noms dans le panneau de sortie.
var nombreDiapos = _root.Présentation.numChildSlides;
for(var indexDiapo=0; indexDiapo < nombreDiapos; indexDiapo++) {
var diapoEnfant = _root.Présentation.getChildSlide(indexDiapo);
trace(diapoEnfant._name);
}
Voir aussi
Slide.getChildSlide()
526
Chapitre 4 : Dictionnaire des composants
Slide.overlayChildren
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.overlayChildren
Description
Propriété : détermine si les diapositives enfant de maDiapo restent visibles lors de la navigation
d’une diapositive enfant à la suivante. Lorsqu’elle est définie sur true, la diapositive précédente
reste visible lorsque le contrôle passe au frère suivant ; lorsqu’elle est définie sur false, la
diapositive précédente est invisible lorsque le contrôle passe au frère suivant.
La définition de cette propriété sur true peut s’avérer utile, par exemple, lorsqu’une diapositive
donnée contient plusieurs diapositives enfant de type « puce », révélées les unes après les autres
(éventuellement à l’aide de transitions) et devant rester visibles lorsque les diapositives frère
suivants s’affichent.
Remarque : Cette propriété s’applique uniquement aux descendants immédiats de maDiapo, et non
pas à toutes les diapositives enfant imbriquées.
Exemple
Par exemple, la diapositive Intro_puces de l’illustration suivante contient trois diapositives enfant
(Finance, Ressources humaines et Opérations), affichant chacune une puce distincte. Si vous
définissez Intro_puces.overlayChildren sur true, toutes les diapositives de type puce restent
sur la scène lorsque de nouvelles puces apparaissent.
Classe Slide (Flash Professionnel uniquement)
527
Slide.parentIsSlide
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.parentIsSlide
Description
Propriété (lecture seule) : valeur booléenne (true ou false) indiquant si l’objet parent de
maDiapo est également une diapositive. Si l’objet parent de maDiapo est une diapositive, ou une
sous-classe de la classe Slide, cette propriété renvoie la valeur true ; dans le cas contraire, elle
renvoie la valeur false.
Si maDiapo est la diapositive racine d’un diaporama, cette propriété renvoie false, car le parent
de la diapositive Présentation est le scénario principal (_level0) et non une diapositive. Elle
renvoie également false si le parent de maDiapo est un formulaire.
Exemple
Le code suivant détermine si l’objet parent de la diapositive maDiapo est lui-même une
diapositive. Si c’est le cas, maDiapo est supposée être la diapositive racine, ou maître, du
diaporama et ne pas posséder de frères. Si maDiapo.parentIsSlide renvoie true, le nombre de
frères de maDiapo apparaît dans le panneau de sortie.
if (maDiapo.parentIsSlide) {
trace("J’ai " + maDiapo._parent.numChildSlides+" frères");
} else {
trace("Je suis la diapositive racine et je n’ai pas de frères");
}
Voir aussi
Slide.numChildSlides
Slide.playHidden
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.playHidden
528
Chapitre 4 : Dictionnaire des composants
Description
Propriété : valeur booléenne spécifiant si la lecture de maDiapo doit continuer lorsqu’elle est
masquée. Lorsque cette propriété est définie sur true, la lecture de maDiapo continue même
lorsque celle-ci est masquée. Lorsque cette propriété est définie sur false, la lecture de maDiapo
s’arrête dès que celle-ci est masquée ; la lecture reprend à l’image 1 de maDiapo dès que celle-ci est
affichée de nouveau.
Vous pouvez également définir cette propriété dans l’inspecteur des propriétés, dans
l’environnement auteur de Flash.
Slide.previousSlide
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.previousSlide
Description
Propriété (lecture seule) : renvoie la diapositive que vous atteindriez en appelant
maDiapo.gotoPreviousSlide(), sans effectuer le déplacement. Vous pouvez par exemple
utiliser cette propriété pour afficher le nom de la diapositive précédente du diaporama et
permettre aux utilisateurs de décider de l’afficher ou non.
Exemple
Dans cet exemple, l’étiquette d’un composant Button nommé boutonPrécédent affiche le nom
de la diapositive précédente du diaporama. S’il n’y a pas de diapositive précédente (si
maDiapo.previousSlide est null), l’étiquette du bouton est mise à jour pour indiquer à
l’utilisateur qu’il est au début du diaporama.
if (maDiapo.previousSlide != null) {
boutonPrécédent.label = "Diapositive précédente : " +
maDiapo.previous._name + " > ";
} else {
boutonPrécédent.label = "Vous êtes au début du diaporama.";
Voir aussi
Slide.gotoPreviousSlide(), Slide.nextSlide
Slide.revealChild
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Classe Slide (Flash Professionnel uniquement)
529
Utilisation
on(revealChild) {
// votre code ici
}
Description
Evénement : diffusé à chaque fois que l’enfant d’un objet de diapositive passe de l’état invisible à
l’état visible. Cet événement sert essentiellement à appliquer des transitions « en entrée » à toutes
les diapositives enfant d’une diapositive donnée.
Exemple
Lorsqu’il est associé à la diapositive racine (la diapositive Présentation, par exemple), ce code
affiche le nom de chacune des diapositives enfant, au fur et à mesure de leur apparition.
on(revealChild) {
var enfant = objEvt.target._name;
trace(enfant + " vient de s’afficher");
}
Voir aussi
Slide.hideChild
Slide.rootSlide
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX Professionnel 2004.
Utilisation
maDiapo.rootSlide
Description
Propriété (lecture seule) : renvoie la diapositive racine de l’arborescence de diapositives ou de la
sous-arborescence de diapositives contenant maDiapo.
Exemple
Supposons que l’une de vos diapositives contienne un clip qui, lorsque l’utilisateur clique dessus,
mène à la première diapositive du diaporama. Pour obtenir ce résultat, vous devez associer le code
suivant au clip :
on(press) {
_parent.rootSlide.gotoFirstSlide();
}
Dans ce cas, _parent fait référence à la diapositive contenant l’objet clip.
530
Chapitre 4 : Dictionnaire des composants
Classe StyleManager
Nom de classe ActionScript
mx.styles.StyleManager
La classe StyleManager conserve une trace des styles et des couleurs d’héritage connus. Vous avez
besoin de cette classe uniquement si vous créez des composants et que vous souhaitez ajouter un
nouveau style ou une nouvelle couleur d’héritage.
Pour déterminer les styles d’héritage, référez-vous au site Web W3C.
Méthodes de la classe StyleManager
Méthode
Description
StyleManager.registerColorName()
Enregistre un nouveau nom de couleur avec
StyleManager.
StyleManager.registerColorStyle()
Enregistre un nouveau style de couleur avec
StyleManager.
StyleManager.registerInheritingSyle() Enregistre un nouveau style d’héritage avec
StyleManager.
StyleManager.registerColorName()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
StyleManager.registerColorName(nomCouleur, valeur)
Paramètres
nomCouleur
valeur
Chaîne indiquant le nom de la couleur (par exemple, "gris", "grisfoncé", etc.).
Nombre hexadécimal indiquant la couleur (par exemple, 0x808080, 0x404040, etc.).
Renvoie
Rien.
Description
Méthode : associe un nom de couleur à une valeur hexadécimale et l’enregistre avec StyleManager.
Exemple
Le code suivant enregistre "gris" comme le nom de la couleur qui a pour valeur hexadécimale
0x808080 :
StyleManager.registerColorName("gris", 0x808080 );
Classe StyleManager
531
StyleManager.registerColorStyle()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
StyleManager.registerColorStyle(styleCouleur)
Paramètres
styleCouleur Chaîne indiquant le nom du style de la couleur (par
"highlightColor", "shadowColor", "disabledColor", etc.).
exemple,
Renvoie
Rien.
Description
Méthode : ajoute un nouveau style de couleur à StyleManager.
Exemple
L’exemple suivant enregistre "highlightColor" comme un style de couleur :
StyleManager.registerColorStyle("highlightColor");
StyleManager.registerInheritingSyle()
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
StyleManager.registerInheritingStyle(nomPropriété)
Paramètres
nomPropriété Chaîne indiquant le nom de
"nouvelleProp1", "nouvelleProp2", etc.).
la propriété du style (par exemple,
Renvoie
Rien.
Description
Méthode : signale cette propriété de style comme héritage. Utilisez cette méthode pour enregistrer
des propriétés de styles qui ne sont pas répertoriées dans la spécification CSS. N’utilisez pas cette
méthode pour transformer des propriétés de styles non-héritage en propriétés de styles d’héritage.
532
Chapitre 4 : Dictionnaire des composants
Exemple
L’exemple suivant enregistre nouvelleProp1 comme un style d’héritage :
StyleManager.registerInheritingStyle("nouvelleProp1");
Composant TextArea
Le composant TextArea renvoie l’objet TextField ActionScript natif à la ligne. Vous pouvez utiliser
les styles pour personnaliser le composant TextArea. Lorsqu’une occurrence est désactivée, son
contenu s’affiche dans une couleur représentée par le style "disabledColor". Un composant
TextArea peut également être formaté en HTML ou en tant que champ de mot de passe qui
masque le texte.
Un composant TextArea peut être activé ou désactivé dans une application. Lorsqu’il est désactivé,
il ne reçoit pas les informations en provenance de la souris ou du clavier. Lorsqu’il est activé, il suit
les mêmes règles de focus, de sélection et de navigation qu’un objet TextField ActionScript.
Lorsqu’une occurrence TextArea a le focus, vous pouvez utiliser les touches suivantes pour le
contrôler :
Touche
Description
Touches de flèches
Déplace le point d’insertion d’une ligne vers le haut, le bas, la gauche ou la
droite.
Pg. Suiv.
Effectue un déplacement d’un écran vers le bas.
Pg. Préc.
Effectue un déplacement d’un écran vers le haut.
Maj +Tab
Place le focus sur l’objet précédent.
Tab
Place le focus sur l’objet suivant.
Pour plus d’informations sur le contrôle du focus, consultez Création de la navigation personnalisée
du focus, page 27 ou Classe FocusManager, page 287.
En cours de programmation, un aperçu en direct de chaque occurrence TextArea permet de faire
apparaître les modifications apportées dans les paramètres de l’inspecteur des propriétés ou dans le
panneau Inspecteur de composants. Si une barre de défilement s’avère nécessaire, elle apparaît lors
d’un aperçu direct, mais ne fonctionnera pas. Lors d’un aperçu direct, il n’est pas possible de
sélectionner du texte et vous ne pouvez pas entrer de texte dans l’occurrence du composant sur la
scène.
Lorsque vous ajoutez le composant TextArea à une application, vous pouvez utiliser le panneau
Accessibilité pour le rendre accessible aux lecteurs d’écran.
Utilisation du composant TextArea
Vous pouvez utiliser un composant TextArea partout où vous avez besoin d’un champ de texte
multiligne. Si vous avez besoin d’un champ de texte à ligne unique, utilisez le Composant
TextInput, page 545. Par exemple, vous pouvez utiliser le composant TextArea comme un champ
de commentaires dans un formulaire. Vous pouvez définir un écouteur qui vérifie si le champ est
vide lorsqu’un utilisateur sort du champ. Cet écouteur peut afficher un message d’erreur
indiquant qu’un commentaire doit être entré dans ce champ.
Composant TextArea
533
Paramètres du composant TextArea
Les paramètres suivants sont des paramètres de programmation que vous pouvez définir pour
chaque occurrence de composant TextArea dans l’inspecteur des propriétés ou dans le panneau
Inspecteur de composants :
text indique le contenu de TextArea. Vous ne pouvez pas entrer de retour chariot dans l’inspecteur
des propriétés ou dans le panneau de l’Inspecteur de composants. La valeur par défaut est ""
(chaîne vide).
html
indique si le texte est formaté en HTML (true) ou non (false). La valeur par défaut est false.
indique si le composant TextArea est modifiable (true) ou non (false). La valeur par
défaut est true.
editable
indique si le texte est renvoyé à la ligne automatiquement (true) ou non (false). La
valeur par défaut est true.
wordWrap
Vous pouvez rédiger du code ActionScript pour contrôler ces options ainsi que d’autres options
des composants TextArea à l’aide des propriétés, méthodes et événements ActionScript. Pour plus
d’informations, consultez Classe TextArea.
Création d’une application avec le composant TextArea
La procédure suivante explique comment ajouter un composant TextArea à une application en
cours de programmation. Dans cet exemple, le composant est un champ Commentaire avec un
écouteur d’événement qui détermine si l’utilisateur a entré du texte.
Pour créer une application avec le composant TextArea, effectuez les opérations suivantes :
1 Faites glisser un composant TextArea du panneau Composants jusqu’à la scène.
2 Dans l’inspecteur des propriétés, entrez comment comme nom d’occurrence.
3 Dans l’inspecteur des propriétés, définissez les paramètres de votre choix. Laissez toutefois le
paramètre text vide, le paramètre editable défini sur true et le paramètre password sur false.
4 Choisissez l’image 1 dans le scénario, ouvrez le panneau Actions et saisissez le code suivant :
textListener = new Object();
textListener.handleEvent = function (evt){
if (comment.length < 1) {
Alert(_root, "Erreur", "Vous devez entrer un commentaire dans ce champ",
mxModal | mxOK);
}
}
comment.addEventListener("FocusOut", textListener);
Ce code définit un gestionnaire d’événement focusOut sur l’occurrence comment de TextArea
qui vérifie que l’utilisateur a bien tapé quelque chose dans le champ de texte.
5 Lorsque le texte est entré dans l’occurrence "comment", vous pouvez récupérer sa valeur comme
suit :
var login = comment.text;
534
Chapitre 4 : Dictionnaire des composants
Personnalisation du composant TextArea
Vous pouvez transformer un composant TextArea horizontalement et verticalement, que ce soit
en cours de programmation ou à l’exécution. Lors de la programmation, choisissez le composant
sur la scène et utilisez l’outil Transformer librement ou une commande de modification >
transformation. A l’exécution, utilisez UIObject.setSize() ou toute propriété ou méthode
applicable de la Classe TextArea.
Lorsqu’un composant TextArea est redimensionné, la bordure est redimensionnée en fonction du
nouveau cadre de délimitation. Le cas échéant, les barres de défilement s’affichent sur les bords
inférieur et droit du cadre. Le champ de texte est alors redimensionné dans la zone restante. Dans
un composant TextArea, les éléments n’ont pas de taille fixe. Si le composant TextArea est trop
petit pour afficher le texte, le texte est rogné.
Utilisation de styles avec le composant TextArea
Le composant TextArea prend en charge un jeu de styles de composant pour tout le texte du
champ. Cependant, vous pouvez également afficher du code HTML compatible avec le rendu
HTML de Flash Player. Pour afficher du texte HTML, définissez TextArea.html sur true.
Les propriétés de style backgroundColor et borderStyle du composant TextArea sont définies
sur une déclaration de style de classe. Les styles de classe remplacent les styles _global. Pour définir
les propriétés de style backgroundColor et borderStyle, vous devez donc créer une autre
déclaration de style personnalisée sur l’occurrence.
Si le nom d’une propriété de style se termine par « Color », il s’agit d’une propriété de style de
couleur qui se comporte différemment des autres propriétés de style. Pour plus d’informations,
consultez Utilisation des styles pour personnaliser la couleur et le texte des composants, page 29.
Un composant TextArea prend en charge les styles suivants :
Style
Description
color
Couleur par défaut pour le texte.
embedFonts
Polices à incorporer dans le document.
fontFamily
Nom de police pour du texte.
fontSize
Taille en points pour la police.
fontStyle
Style de la police, "normal" ou "italic".
fontWeight
Epaisseur de la police, "normal" ou "bold".
textAlign
Alignement du texte : "left", "right" ou "center".
textDecoration
Décoration du texte : "none" ou "underline".
Composant TextArea
535
Utilisation d’enveloppes avec le composant TextArea
Le composant TextArea utilise la classe RectBorder pour dessiner sa bordure. La méthode
setStyle() (consultez UIObject.setStyle()) vous permet de modifier les propriétés suivantes
du style RectBorder :
Styles RectBorder
Lettre
borderColor
a
highlightColor
b
borderColor
c
shadowColor
d
borderCapColor
e
shadowCapColor
f
shadowCapColor
g
borderCapColor
h
Les propriétés de style définissent les positions suivantes sur la bordure :
Classe TextArea
Héritage
UIObject > UIComponent > View > ScrollView > TextArea
Nom de classe ActionScript
mx.controls.TextArea
Les propriétés de la classe TextArea vous permettent de définir le contenu, le formatage et la
position horizontale et verticale du texte à l’exécution. Vous pouvez également indiquer si le
champ est modifiable et s’il s’agit d’un champ Mot de passe. Vous pouvez également limiter le
nombre de caractères que l’utilisateur peut saisir.
La définition d’une propriété d’une classe TextArea avec ActionScript annule le paramètre du
même nom défini dans l’inspecteur des propriétés ou dans le panneau de l’Inspecteur de
composants.
Le composant TextArea annule le rectangle de focus par défaut de Flash Player et dessine un
rectangle de focus personnalisé avec des angles arrondis.
Le composant TextArea supporte les styles CSS et tout style HTML supporté par Flash Player.
Toutes les classes de composants ont une propriété version qui correspond à une propriété de
classe. Les propriétés de classe sont uniquement disponibles sur la classe elle-même. La propriété
version renvoie une chaîne qui indique la version du composant. Pour accéder à la propriété
version, utilisez le code suivant :
trace(mx.controls.TextArea.version);
536
Chapitre 4 : Dictionnaire des composants
Remarque : Le code suivant renvoie la valeur undefined :
trace(MonOccurrenceDeZoneDeTexte.version);.
Propriétés de la classe TextArea
Propriété
Description
TextArea.editable
Une valeur booléenne indiquant si le champ est modifiable (true) ou non
(false).
TextArea.hPosition
Définit la position du texte horizontalement dans le panneau défilant.
TextArea.hScrollPolicy Indique si la barre de défilement horizontale est toujours affichée ("on"),
jamais affichée ("off"), ou seulement lorsque nécessaire ("auto").
TextArea.html
Un indicateur qui indique si le champ de texte peut être formaté en
HTML.
TextArea.length
Le nombre de caractères du champ de texte. Cette propriété est en
lecture seule.
TextArea.maxChars
Le nombre maximum de caractères que le champ de texte peut contenir.
TextArea.maxHPosition
La valeur maximum de TextArea.hPosition.
TextArea.maxVPosition
La valeur maximum de TextArea.vPosition.
TextArea.password
Une valeur booléenne indiquant si le champ est un champ de mot de
passe (true) ou non (false).
TextArea.restrict
Le jeu de caractères qu’un utilisateur peut entrer dans le champ de texte.
TextArea.text
Le contenu du texte d’un composant TextArea.
TextArea.vPosition
Un nombre indiquant la position du défilement vertical.
TextArea.vScrollPolicy Indique si la barre de défilement verticale est toujours affichée ("on"),
jamais affichée ("off"), ou seulement lorsque nécessaire ("auto").
TextArea.wordWrap
Une valeur booléenne indiquant si le texte est renvoyé à la ligne
automatiquement (true) ou non (false).
Evénements de la classe TextArea
Evénement
Description
TextArea.change
Indique aux écouteurs que le texte a été modifié.
Composant TextArea
537
TextArea.change
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(change){
...
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.change = function(objetEvt){
...
}
OccurrenceDeZoneDeTexte.addEventListener("change", ObjetDécoute)
Description
Evénement : indique aux écouteurs que le texte a été modifié. Cet événement est diffusé après la
modification du texte. Cet événement ne peut être utilisé pour empêcher l’ajout de certains
caractères au champ de texte du composant. Utilisez plutôt TextArea.restrict.
Le premier exemple d’utilisation fait appel au gestionnaire on() et doit être associé directement à
une occurrence de composant TextArea. Le mot-clé this, utilisé dans un gestionnaire on() lié à
un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, associé
à l’occurrence MaZoneDeTexte, envoie « _level0.MaZoneDeTexte » au panneau de sortie :
on(change){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (OccurrenceDeZoneDeTexte) distribue un événement (ici, change)
qui est géré par une fonction (également appelée gestionnaire) sur un objet d’écoute
(objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour finir, vous appelez la méthode
UIEventDispatcher.addEventListener() sur l’occurrence de composant qui diffuse
l’événement pour enregistrer l’écouteur dans l’occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
538
Chapitre 4 : Dictionnaire des composants
Exemple
Cet exemple comptabilise le nombre total de fois que le champ de texte a été modifié :
MaZoneDeTexte.changeHandler = function(obj) {
this.changeCount++;
trace(obj.target);
trace("le texte a changé " + this.changeCount + " fois. Le champ contient
désormais " +
this.text);
}
Voir aussi
UIEventDispatcher.addEventListener()
TextArea.editable
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeZoneDeTexte.editable
Description
Propriété : valeur booléenne qui indique si le composant est modifiable (true) ou non (false).
La valeur par défaut est true.
TextArea.hPosition
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeZoneDeTexte.hPosition
Description
Propriété : définit la position du texte horizontalement dans le champ. La valeur par défaut est 0.
Exemple
Le code suivant affiche les caractères les plus à gauche dans le champ :
MaZoneDeTexte.hPosition = 0;
Composant TextArea
539
TextArea.hScrollPolicy
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeZoneDeTexte.hScrollPolicy
Description
Propriété : détermine si la barre de défilement horizontale est toujours affichée ("on"), jamais
affichée ("off") ou si elle doit s’afficher automatiquement en fonction de la taille du champ
("auto"). La valeur par défaut est "auto".
Exemple
Le code suivant permet un affichage systématique des barres de défilement horizontales :
text.hScrollPolicy = "on";
TextArea.html
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeZoneDeTexte.html
Description
Propriété : valeur booléenne indiquant si le champ de texte est formaté en HTML (true) ou non
(false). Si la propriété html est true, le champ de texte est un champ de texte html. Si html est
false, le champ de texte n’est pas un champ de texte html. La valeur par défaut est false.
Exemple
L’exemple suivant transforme le champ MaZoneDeTexte en champ de texte HTML et formate le
texte avec des balises HTML :
MaZoneDeTexte.html = true;
MaZoneDeTexte.text = "Le blabla <b>royal</b>"; // affiche "Le blabla royal"
TextArea.length
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
540
Chapitre 4 : Dictionnaire des composants
Usage
OccurrenceDeZoneDeTexte.length
Description
Propriété (lecture seule) : indique le nombre de caractères d’un champ de texte. Cette propriété
renvoie la même valeur que la propriété text.length ActionScript, mais elle est plus rapide. Un
caractère tel que tab (« \t ») compte comme un seul caractère. La valeur par défaut est 0.
Exemple
L’exemple suivant permet de récupérer la longueur du champ de texte et de la copier dans la
variable longueur :
var longueur = MaZoneDeTexte.length; // trouve la longueur de la chaîne de
texte
TextArea.maxChars
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeZoneDeTexte.maxChars
Description
Propriété : nombre maximum de caractères qu’un champ de texte peut contenir. Un script peut
insérer plus de texte que la propriété maxChars ne le permet ; la propriété maxChars n’indique
que la quantité de texte qu’un utilisateur peut entrer. Si la valeur de cette propriété est null, il n’y
a pas de limite sur la quantité de texte qu’un utilisateur peut entrer. La valeur par défaut est null.
Exemple
L’exemple suivant permet de limiter à 255 le nombre de caractères qu’un utilisateur peut entrer :
MaZoneDeTexte.maxChars = 255;
TextArea.maxHPosition
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeZoneDeTexte.maxHPosition
Description
Propriété (lecture seule) : la valeur maximum de TextArea.hPosition. La valeur par défaut
est 0.
Composant TextArea
541
Exemple
Le code suivant permet de faire défiler le texte complètement à droite :
MaZoneDeTexte.hPosition = MaZoneDeTexte.maxHPosition;
Voir aussi
TextArea.vPosition
TextArea.maxVPosition
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeZoneDeTexte.maxVPosition
Description
Propriété (lecture seule) : indique la valeur maximum de TextArea.vPosition. La valeur par
défaut est 0.
Exemple
Le code suivant permet de faire défiler le texte en bas du composant :
MaZoneDeTexte.vPosition = MaZoneDeTexte.maxVPosition;
Voir aussi
TextArea.hPosition
TextArea.password
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeZoneDeTexte.password
Description
Propriété : valeur booléenne indiquant si le champ de texte est un champ de mot de passe (true)
ou non (false). Si la valeur de password est true, le champ de texte est un champ de texte de
mot de passe dont le contenu est masqué. Si false, le champ de texte n’est pas un champ de
mode passe. La valeur par défaut est false.
542
Chapitre 4 : Dictionnaire des composants
Exemple
Le code suivant transforme le champ de texte en champ de mot de passe qui affiche tous les
caractères sous la forme d’astérisques (*) :
MaZoneDeTexte.password = true;
TextArea.restrict
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeZoneDeTexte.restrict
Description
Propriété : indique le jeu de caractères qu’un utilisateur peut rentrer dans le champ de texte. La
valeur par défaut est undefined. Si la valeur de la propriété restrict est null, un utilisateur peut
entrer n’importe quel caractère. Si la valeur de la propriété restrict est une chaîne vide, aucun
caractère ne peut être entré. Si la valeur de la propriété restrict est une chaîne de caractères,
vous ne pouvez entrer que les caractères de la chaîne dans le champ de texte. La chaîne est lue de
gauche à droite. Une plage peut être spécifiée en utilisant un tiret (-).
La propriété restrict limite seulement l’interaction avec l’utilisateur, un script pouvant mettre
n’importe quel texte dans le champ de texte. Cette propriété ne se synchronise pas avec les cases à
cocher de polices vectorielles intégrées de l’inspecteur des propriétés.
Si la chaîne commence par un caret (^), tous les caractères sont initialement acceptés et les
caractères suivants de la chaîne sont exclus du jeu de caractères acceptés. Si la chaîne ne
commence pas par un caret (^), aucun caractère n’est initialement accepté et les caractères suivants
de la chaîne sont inclus dans le jeu de caractères acceptés.
Exemple
Dans l’exemple suivant, la première ligne de code limite le champ de texte aux lettres majuscules,
aux nombres et aux espaces. La seconde ligne autorise tous les caractères, à l’exception des lettres
minuscules.
mon_txt.restrict = "A-Z 0-9"; // limite le contrôle aux lettres majuscules, aux
nombres et aux espaces
mon_txt.restrict = "^a-z"; // autorise tous les caractères, à l’exception des
lettres minuscules
TextArea.text
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Composant TextArea
543
Usage
OccurrenceDeZoneDeTexte.text
Description
Propriété : le contenu du texte d’un composant TextArea. La valeur par défaut est "" (chaîne
vide).
Exemple
Le code suivant permet de placer une chaîne dans l’occurrence MaZoneDeTexte et de présenter
cette chaîne dans le panneau de sortie :
MaZoneDeTexte.text = "Le blabla royal";
trace(MaZoneDeTexte.text); // présente "Le blabla royal"
TextArea.vPosition
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeZoneDeTexte.vPosition
Description
Propriété : définit la position verticale du texte dans un champ de texte. La propriété scroll est
utile pour diriger les utilisateurs vers un paragraphe spécifique dans un long passage, ou pour créer
des champs de texte défilants. Vous pouvez obtenir et définir cette propriété. La valeur par défaut
est 0.
Exemple
Le code suivant permet d’afficher les premiers caractères d’un champ :
MaZoneDeTexte.vPosition = 0;
TextArea.vScrollPolicy
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeZoneDeTexte.vScrollPolicy
Description
Propriété : détermine si la barre de défilement verticale est toujours affichée ("on"), jamais
affichée ("off"), ou si elle s’affiche automatiquement en fonction de la taille du champ ("auto").
La valeur par défaut est "auto".
544
Chapitre 4 : Dictionnaire des composants
Exemple
Le code suivant désactive systématiquement les barres de défilement verticales :
text.vScrollPolicy = "off";
TextArea.wordWrap
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeZoneDeTexte.wordWrap
Description
Propriété : valeur booléenne qui indique si le texte est renvoyé à la ligne automatiquement (true)
ou non (false). La valeur par défaut est true.
Composant TextInput
TextInput est un composant à une seule ligne qui renvoie à la ligne automatiquement l’objet
TextField ActionScript natif. Vous pouvez utiliser des styles pour personnaliser le composant
TextInput. Lorsqu’une occurrence est désactivée, son contenu s’affiche dans une couleur
représentée par le style "disabledColor". Un composant TextInput peut également être formaté en
HTML ou en tant que champ de mot de passe masquant le texte.
Un composant TextInput peut être activé ou désactivé dans une application. Lorsqu’il est
désactivé, il ne reçoit pas les informations en provenance de la souris ou du clavier. Lorsqu’il est
activé, il suit les mêmes règles de focus, de sélection et de navigation qu’un objet TextField
ActionScript. Lorsqu’une occurrence TextInput a le focus, vous pouvez également utiliser les
touches suivantes pour le contrôler :
Touche
Description
Touches de flèches
Déplace les caractères d’un caractère vers la gauche ou la droite.
Maj +Tab
Place le focus sur l’objet précédent.
Tab
Place le focus sur l’objet suivant.
Pour plus d’informations sur le contrôle du focus, consultez Création de la navigation personnalisée
du focus, page 27 ou Classe FocusManager, page 287.
Un aperçu en direct de chaque occurrence TextInput permet de faire apparaître les modifications
apportées dans les paramètres du panneau de l’inspecteur des propriétés ou des composants en
cours de programmation. Lors d’un aperçu direct, il n’est pas possible de sélectionner du texte et
vous ne pouvez pas entrer de texte dans l’occurrence du composant sur la scène.
Lorsque vous ajoutez un composant TextInput à une application, vous pouvez utiliser le panneau
Accessibilité pour le rendre accessible aux lecteurs d’écran.
Composant TextInput
545
Utilisation du composant TextInput
Vous pouvez utiliser un composant TextInput là où vous avez besoin d’un champ de texte à une
seule ligne. Si vous avez besoin d’un champ de texte multiligne, utilisez le Composant TextArea,
page 533. Par exemple, vous pouvez utiliser un composant TextInput en tant que champ de mot
de passe dans un formulaire. Vous pouvez définir un écouteur qui vérifie si le champ comporte
suffisamment de caractères lorsque l’utilisateur sort du champ. Cet écouteur peut afficher un
message d’erreur indiquant que l’utilisateur n’a pas entré le nombre de caractères adéquat.
Paramètres du composant TextInput
Les paramètres suivants sont des paramètres de programmation que vous pouvez définir pour
chaque occurrence de composant TextInput dans le panneau de l’inspecteur des propriétés ou des
composants :
text spécifie le contenu de TextInput. Vous ne pouvez pas entrer de retour chariot dans
l’inspecteur des propriétés ou dans le panneau de l’Inspecteur de composants. La valeur par défaut
est "" (chaîne vide).
indique si le composant TextInput est modifiable (true) ou non (false). La valeur par
défaut est true.
editable
indique si le champ est un champ de mot de passe (true) ou non (false). La valeur par
défaut est false.
password
Vous pouvez rédiger du code ActionScript pour contrôler ces options et d’autres options des
composants TextInput en utilisant les propriétés, méthodes et événements ActionScript. Pour plus
d’informations, consultez Classe TextInput.
Création d’une application avec le composant TextInput
La procédure suivante explique comment ajouter un composant TextInput à une application en
cours de programmation. Dans cet exemple, le composant est un champ de mot de passe avec un
écouteur d’événements qui détermine si l’utilisateur a entré le nombre de caractères adéquat.
Pour créer une application avec le composant TextInput, effectuez les opérations
suivantes :
1 Faites glisser un composant TextInput du panneau Composants jusqu’à la scène.
2 Dans l’inspecteur des propriétés, entrez le nom d’occurrence champMotDePasse.
3 Dans l’inspecteur des propriétés, procédez comme suit :
Laissez le paramètre text vide.
■ Définissez le paramètre editable sur true.
■ Définissez le paramètre password sur true.
4 Choisissez l’image 1 dans le scénario, ouvrez le panneau Actions et saisissez le code suivant :
■
textListener = new Object();
textListener.handleEvent = function (evt){
if (evt.type == "enter"){
trace("Vous devez entrer au moins 8 caractères");
}
}
champMotDePasse.addEventListener("enter", textListener);
546
Chapitre 4 : Dictionnaire des composants
Ce code définit un gestionnaire d’événement enter sur l’occurrence champMotDePasse de
TextInput qui vérifie que l’utilisateur a entré le nombre de caractères adéquat.
5 Lorsque le texte est entré dans l’occurrence champMotDePasse, vous pouvez obtenir sa valeur
comme suit :
var login = champMotDePasse.text;
Personnalisation du composant TextInput
Vous pouvez transformer un composant TextInput horizontalement en cours de programmation
comme à l’exécution. Lors de la programmation, choisissez le composant sur la scène et utilisez
l’outil Transformer librement ou une commande de modification > transformation. A l’exécution,
utilisez UIObject.setSize() ou toute propriété ou méthode applicable de la Classe TextInput.
Lorsqu’un composant TextInput est redimensionné, la bordure est prend la taille du nouveau
cadre de délimitation. Le composant TextInput n’utilise pas de barres de défilement, mais le point
d’insertion défile automatiquement lorsque l’utilisateur intervient sur le texte. Le champ de texte
est alors redimensionné dans la zone restante. Les éléments d’un composant TextInput n’ont pas
de taille fixe. Si le composant TextInput est trop petit pour afficher le texte, le texte est rogné.
Utilisation des styles avec le composant TextInput
Les propriétés de style backgroundColor et borderStyle du composant TextInput sont définies
sur une déclaration de style de classe. Les styles de classe remplacent les styles _global. Pour définir
les propriétés de style backgroundColor et borderStyle, vous devez donc créer une autre
déclaration de style personnalisée sur l’occurrence.
Un composant TextInput prend en charge les styles suivants :
Style
Description
color
Couleur par défaut pour le texte.
embedFonts
Polices à incorporer dans le document.
fontFamily
Nom de police pour du texte.
fontSize
Taille en points pour la police.
fontStyle
Style de la police, "normal" ou "italic".
fontWeight
Epaisseur de la police, "normal" ou "bold".
textAlign
Alignement du texte : "left", "right" ou "center".
textDecoration
Décoration du texte : "none" ou "underline".
Utilisation d’enveloppes avec le composant TextInput
Le composant TextArea utilise la classe RectBorder pour dessiner sa bordure. La méthode
(consultez UIObject.setStyle()) vous permet de modifier les propriétés suivantes
du style RectBorder :
setStyle()
Styles RectBorder
Lettre
borderColor
a
highlightColor
b
Composant TextInput
547
Styles RectBorder
Lettre
borderColor
c
shadowColor
d
borderCapColor
e
shadowCapColor
f
shadowCapColor
g
borderCapColor
h
Les propriétés de style définissent les positions suivantes sur la bordure :
Classe TextInput
Héritage
UIObject > UIComponent > TextInput
Nom de classe ActionScript
mx.controls.TextInput
Les propriétés de la classe TextInput vous permettent de définir le contenu, le formatage et la
position horizontale du texte à l’exécution. Vous pouvez également indiquer si le champ est
modifiable et s’il s’agit d’un champ Mot de passe. Vous pouvez également limiter le nombre de
caractères que l’utilisateur peut saisir.
La définition d’une propriété de la classe TextInput avec ActionScript annule le paramètre du
même nom défini dans le panneau de l’inspecteur des propriétés ou des composants.
Le composant TextInput utilise FocusManager pour annuler le rectangle de focus par défaut de
Flash Player et pour dessiner un rectangle de focus personnalisé avec des angles arrondis. Pour
plus d’informations, consultez Classe FocusManager, page 287.
Le composant TextInput supporte les styles CSS et tout style HTML supporté par Flash Player.
Pour en savoir plus sur le support de CSS, consultez les spécifications du W3C.
Vous pouvez manipuler la chaîne de texte en utilisant la chaîne renvoyée par l’objet texte.
Toutes les classes de composants ont une propriété version qui correspond à une propriété de
classe. Les propriétés de classe sont uniquement disponibles sur la classe elle-même. La propriété
version renvoie une chaîne qui indique la version du composant. Pour accéder à la propriété
version, utilisez le code suivant :
trace(mx.controls.TextInput.version);
Remarque : Le code suivant renvoie la valeur undefined :
trace(monOccurrenceDeSaisieDeTexte.version);.
548
Chapitre 4 : Dictionnaire des composants
Méthodes de la classe TextInput
Hérite de toutes les méthodes des classes UIObject et UIComponent.
Propriétés de la classe TextInput
Propriété
Description
TextInput.editable
Une valeur booléenne indiquant si le champ est modifiable (true) ou non
(false).
TextInput.hPosition
La position de défilement horizontale du champ de texte.
TextInput.length
Le nombre de caractères d’un champ de texte TextInput. Cette propriété
est en lecture seule.
TextInput.maxChars
Le nombre maximum de caractères que l’utilisateur peut entrer dans un
champ de texte TextInput.
TextInput.maxHPosition La valeur maximum possible pour TextField.hPosition. Cette propriété est
en lecture seule.
TextInput.password
Une valeur booléenne qui indique si le champ de saisie de texte est un
champ de mot de passe qui masque les caractères saisis ou non.
TextInput.restrict
Indique les caractères que l’utilisateur peut entrer dans un champ de texte.
TextInput.text
Définit le contenu du texte d’un champ de texte TextInput.
Hérite de toutes les méthodes des classes UIObject et UIComponent.
Evénements de la classe TextInput
Evénement
Description
TextInput.change
Diffusé lorsque le champ de saisie est modifié.
TextInput.enter
Diffusé lorsque la touche Entrée est enfoncée.
Hérite de toutes les méthodes des classes UIObject et UIComponent.
TextInput.change
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(change){
...
}
Composant TextInput
549
Usage 2 :
objetDécoute = new Object();
objetDécoute.change = function(objetEvt){
...
}
OccurrenceDeSaisieDeTexte.addEventListener("change", objetDécoute)
Description
Evénement : indique aux écouteurs que le texte a été modifié. Cet événement est diffusé après la
modification du texte. Cet événement ne peut être utilisé pour empêcher l’ajout de certains
caractères au champ de texte du composant. Utilisez plutôt TextInput.restrict. L’événement
est déclenché uniquement par l’action de l’utilisateur et non par une modification par
programme.
Le premier exemple d’utilisation fait appel au gestionnaire on() et doit être associé directement à
une occurrence de composant TextInput. Le mot-clé this, utilisé dans un gestionnaire on() lié à
un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, associé
à l’occurrence maSaisieDeTexte, envoie « _level0.maSaisieDeTexte » au panneau de sortie :
on(change){
trace(this);
}
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (OccurrenceDeSaisieDeTexte) distribue un événement (dans ce cas,
change) qui est géré par une fonction (également appelée gestionnaire) sur un objet d’écoute
(objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour finir, vous appelez la méthode
UIEventDispatcher.addEventListener() sur l’occurrence de composant qui diffuse
l’événement pour enregistrer l’écouteur dans l’occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
Cet exemple définit un indicateur dans l’application qui indique si le contenu du champ
TextInput a été modifié :
form.change = function(objEvt){
// objEvt.target est le composant ayant généré l’événement change,
// par exemple, le composant Input.
monFormulaireAChangé.visible = true; // définit un indicateur de
modification si le contenu a été modifié ;
}
maSaisie.addEventListener("change", form);
Voir aussi
UIEventDispatcher.addEventListener()
550
Chapitre 4 : Dictionnaire des composants
TextInput.editable
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeSaisieDeTexte.editable
Description
Propriété : valeur booléenne qui indique si le composant est modifiable (true) ou non (false).
La valeur par défaut est true.
TextInput.enter
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
Usage 1 :
on(enter){
...
}
Usage 2 :
objetDécoute = new Object();
objetDécoute.enter = function(objetEvt){
...
}
OccurrenceDeSaisieDeTexte.addEventListener("enter", objetDécoute)
Description
Evénement : indique aux écouteurs que l’utilisateur a appuyé sur la touche Entrée.
Le premier exemple d’utilisation fait appel au gestionnaire on() et doit être associé directement à
une occurrence de composant TextInput. Le mot-clé this, utilisé dans un gestionnaire on() lié à
un composant, correspond à l’occurrence de comportement. Par exemple, le code suivant, associé
à l’occurrence maSaisieDeTexte, envoie « _level0.maSaisieDeTexte » au panneau de sortie :
on(enter){
trace(this);
}
Composant TextInput
551
Le deuxième exemple d’utilisation fait appel à un modèle d’événement dispatcher/écouteur. Une
occurrence de composant (OccurrenceDeSaisieDeTexte) distribue un événement (dans ce cas,
enter) qui est géré par une fonction (également appelée gestionnaire) sur un objet d’écoute
(objetDécoute) que vous créez. Vous définissez une méthode portant le même nom que
l’événement traité par l’objet d’écoute ; la méthode est appelée lorsque l’événement est déclenché.
Lorsque l’événement est déclenché, il transmet automatiquement un objet événement (objetEvt)
à la méthode d’objet d’écoute. Chaque objet événement dispose d’un jeu de propriétés contenant
des informations relatives à l’événement. Vous pouvez utiliser ces propriétés pour rédiger le code
qui traitera l’événement. Pour finir, vous appelez la méthode
UIEventDispatcher.addEventListener() sur l’occurrence de composant qui diffuse
l’événement pour enregistrer l’écouteur dans l’occurrence. Lorsque l’occurrence distribue
l’événement, l’écouteur approprié est appelé.
Pour plus d’informations sur les objets événement, consultez Objets événement, page 592.
Exemple
Cet exemple définit un indicateur dans l’application qui indique si le contenu du champ
TextInput a été modifié :
form.enter = function(eventObj){
// eventObj.target est le composant qui a généré l’événement "enter",
// par exemple, le composant Input.
monFormulaireAChangé.visible = true;
// définit un indicateur de modification si l’utilisateur appuie sur Entrée ;
}
maSaisie.addEventListener("enter", form);
Voir aussi
UIEventDispatcher.addEventListener()
TextInput.hPosition
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeSaisieDeTexte.hPosition
Description
Propriété : définit la position du texte horizontalement dans le champ. La valeur par défaut est 0.
Exemple
Le code suivant affiche les caractères le plus à gauche dans le champ :
maSaisieDeTexte.hPosition = 0;
552
Chapitre 4 : Dictionnaire des composants
TextInput.length
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeSaisie.length
Description
Propriété (lecture seule) : un nombre qui indique le nombre de caractères d’un composant
TextInput. Un caractère tel que tab (« \t ») compte comme un seul caractère. La valeur par défaut
est 0.
Exemple
Le code suivant détermine le nombre de caractères de la chaîne maSaisieDeTexte et le copie dans
la variable longueur :
var longueur = maSaisieDeTexte.length;
TextInput.maxChars
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeSaisieDeTexte.maxChars
Description
Propriété : nombre maximum de caractères qu’un champ de texte peut contenir. Un script peut
insérer plus de texte que la propriété maxChars ne le permet ; la propriété maxChars n’indique
que la quantité de texte qu’un utilisateur peut entrer. Si la valeur de cette propriété est null, il n’y
a pas de limite sur la quantité de texte qu’un utilisateur peut entrer. La valeur par défaut est null.
Exemple
L’exemple suivant permet de limiter à 255 le nombre de caractères qu’un utilisateur peut entrer :
maSaisieDeTexte.maxChars = 255;
Composant TextInput
553
TextInput.maxHPosition
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeSaisieDeTexte.maxHPosition
Description
Propriété (lecture seule) : indique la valeur maximum de TextInput.hPosition. La valeur par
défaut est 0.
Exemple
Le code suivant permet de faire défiler le texte complètement à droite :
maSaisieDeTexte.hPosition = maSaisieDeTexte.maxHPosition;
TextInput.password
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
Usage
OccurrenceDeSaisieDeTexte.password
Description
Propriété : valeur booléenne indiquant si le champ de texte est un champ de mot de passe (true)
ou non (false). Si la valeur de password est true, le champ de texte est un champ de texte de
mot de passe dont le contenu est masqué. Si false, le champ de texte n’est pas un champ de
mode passe. La valeur par défaut est false.
Exemple
Le code suivant transforme le champ de texte en champ de mot de passe qui affiche tous les
caractères sous la forme d’astérisques (*) :
maSaisieDeTexte.password = true;
TextInput.restrict
Disponibilité
Flash Player 6 version 79.
Edition
Flash MX 2004.
554
Chapitre 4 : Dictionnaire des composants
Usage
OccurrenceDeSaisieDeTexte.restrict
Description
Propriété : indique le jeu de caractères qu’un utilisateur peut rentrer dans le champ de texte. La
valeur par défaut est undefined. Si la valeur de la propriété restrict est null ou une chaîne vide
(""), l’utilisateur peut entrer n’importe quel caractère. Si la valeur de la propriété restrict est
une chaîne de caractères, vous ne pouvez entrer que les caractères de la chaîne dans le champ de
texte. La chaîne est lue de gauche à droite. Une plage peut être spécifiée en utilisant un tiret (-).
La propriété restrict limite seulement l’interaction avec l’utilisateur, un script pouvant mettre
n’importe quel texte dans le champ de texte. Cette propriété ne se synchronise pas avec les cases à
cocher de polices vectorielles intégrées de l’inspecteur des propriétés.
Si la chaîne commence par un caret (^), tous les caractères sont initialement acceptés et les
caractères suivants de la chaîne sont exclus du jeu de caractères acceptés. Si la chaîne ne
commence pas par un caret (^), aucun caractère n’est initialement accepté et les caractères suivants
de la chaîne sont inclus dans le jeu de caractères acceptés.
La barre oblique inverse peut être utilisée pour entrer les caractères « - », « ^ » et « \ », comme cidessous.
\^
\\\
Le fait de placer une barre oblique inverse (\) entre guillemets ("") dans le panneau Actions a une
signification particulière pour l’interpréteur de guillemets du panneau. Cette syntaxe indique en
effet que le caractère suivant la barre oblique inverse (\) doit être traité comme tel. Le code
suivant, par exemple, permet d’entrer une apostrophe :
var leftQuote = "\"";
L’interpréteur .restrict du panneau Actions utilise également la barre oblique inverse (\) comme
caractère d’échappement. Vous penserez donc peut-être que la chaîne suivante est correcte :
monTexte.restrict = "0-9\-\^\\";
Toutefois, comme l’expression est placée entre guillemets, la valeur suivante est envoyée à
l’interpréteur .restrict : 0-9-^\. Cette valeur ne peut pas être interprétée.
L’interpréteur .restrict exigeant l’utilisation de guillemets, vous devez impérativement utiliser le
caractère d’échappement pour que l’expression soit traitée correctement par l’interpréteur de
guillemets intégré du panneau Actions. Pour envoyer la valeur 0-9\-\^\\ à l’interpréteur .restrict,
vous devez donc entrer le code suivant :
monTexte.restrict = "0-9\\-\\^\\\\";
Exemple
Dans l’exemple suivant, la première ligne de code

Manuels associés