dick turpin | Bonjour,
Sur un projet, j'ai un bouton qui me permet d'afficher des onglets avec un texte dynamique dessus.
Je souhaiterais quand on clique sur un de ces onglets que celui-ci reste en position cliqué (cf mon code). J'ai donc créer 2 clips. Le premier contient mon bouton normal et le second contient mon bouton à l'état enfoncé. (bouton = onglet style excel)
Le problème, c'est que ces onglets sont crées dynamiquement (leur nombre et leur libellé (champ texte dynamique) peut varier.
Comment faire pour savoir au moment du clic sur un de ces onglet, quel est le numéro d'index de l'onglet cliqué afin de détruire ce clip et le remplace par un autre (clip bouton cliqué).
Je ne sais pas si je suis très clair.
Pour simplifier, voici mon source.
********************************
J'ai 2 boutons sur ma page principale (qui appellent chacun des onglets différents) :
bouton 1 :
Code :
- on(press){
- charge_chemises(tableau_chemises1);}
|
bouton 2 :
Code :
- on(press){
- charge_chemises(tableau_chemises2);}
|
Voici le script principal :
Code :
- var tableau_chemises1:Array = new Array("DOSSIER","chemise1", "chemise2", "chemise3" );
- var tableau_chemises2:Array = new Array("DOSSIER","TITI", "TUTU" );
- initialise_police = function(){
- monFormat = new TextFormat ();
- monFormat.size = 10;
- monFormat.font = "Verdana";
- monFormat.align = "center";
- monFormat.underline = false;
- }
- function charge_chemises(chemises){
- btn1._visible = false;
- btn2._visible = false;
- x=100;
- y=20;
- initialise_police();
- for (i=0; i<chemises.length ; i++){
- if (i == 0)
- {_root.attachMovie("clip_chemiseOK","monclip"+i,i);} // Le premier onglet est automatiquement activé.
- else
- {_root.attachMovie("clip_chemiseKO","monclip"+i,i);} // on active par défaut la première chemise.
-
- _root["monclip"+i]._x = x;
- _root["monclip"+i]._y = y;
- x =x + 100 ;
- _root["monclip"+i].createTextField ("label_chemise",i+10,-50,-10,70,20); // Nom_occurence, Profondeur, y, x, largeur, hauteur
- _root["monclip"+i].label_chemise.tabEnabled = false;
- _root["monclip"+i].label_chemise.selectable = false;
- _root["monclip"+i].label_chemise.text = chemises[i];
- if (i==0)
- { monFormat.bold = true;
- // monFormat.underline = true;
- monFormat.color = "0xCC3300";}
- else
- { monFormat.bold = false;
- monFormat.color = "0x000000";}
- _root["monclip"+i].label_chemise.setTextFormat(monFormat);
- }
- _global.nbchemise = chemises.length;
- }
|
J'ai donc 2 clips : clip_chemiseOK (pour le bouton enfoncé) et clip_chemiseKO
Voici le code de mon clip_chemiseKO :
Code :
- btn_KO.onPress = function() {
- for (i=0; i<_global.nbchemise ; i++){
- monFormat = new TextFormat ();
- monFormat.color = "0x000000";
- monFormat.bold = false;
- _root["monclip"+i].label_chemise.setTextFormat(monFormat);
- //removeMovieClip(_root["monclip"+i]);
- }
- monFormat.bold = true;
- monFormat.color = "0xCC3300";
- label_chemise.setTextFormat(monFormat);
- }
|
(dans un premier temps, je modifie juste le libellé mais je souhaite donc changer le bouton).
Voilà, pouvez-vous m'aider svp ?
Si je n'ai pas été encore assez clair, voici mes sources :
http://iceman2001.free.fr/chemises4.fla (flash 8)
ou http://iceman2001.free.fr/chemises4_mx2004.fla (flash MX)
Merci d'avance. Message édité par dick turpin le 28-06-2006 à 14:26:25
|