IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

Problème avec TextFormat


Sujet :

Flash

  1. #1
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 150
    Par défaut Problème avec TextFormat
    Bonjour j'ai un problème merci de m'aider (désolé je suis bête)

    voilà j'ai créé un champs de texte dynamique et je voudrais inserer un titre en gras puis un contenu pas gras comme suis:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ft = champs.getTextFormat();
    ft.bold = 1;   //rendre gras pour le titre
    champs.setNewTextFormat(ft);
    champs.text += "Le titre :\n\n";
    ft.bold = 0;   //rendre pas gras pour le contenu
    champs.setNewTextFormat(ft);
    champs.text += "Contenu...";
    mais le problème c que le titre n'est pas gras
    merci d'avance

  2. #2
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Par défaut
    hi!

    Si ca peu te donner un exemple ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	var	my_mc:MovieClip=_root;
    
    	// creation d'un champ de texte (tf) de taille 800x600 positionnée a 0,0
    	my_mc.createTextField("tf",my_mc.getNextHighestDepth(),0,0,800,600);
    
    
    	// ecriture de "hello world" dans le champ de texte
    	my_mc.tf.text = "Hello world !";
    	
    	//formatage du texte => Hello world !
    	var	my_fmt:TextFormat=new TextFormat();
    		my_fmt.bold=true;
    	my_mc.tf.setTextFormat(0,5,my_fmt);
    En esperant t'aider ...

    @++

  3. #3
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 150
    Par défaut
    Merci de t'être penché sur ma question CR_Gio mais le problème subsiste encore, les limites des plages à mettre en gras sont inconnues , c'est une concaténation de valeurs tirées d'un formulaire, certe on peut les calculer mais c'est trop compliqué!!!

  4. #4
    Membre confirmé Avatar de morgiane
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 144
    Par défaut
    Je crois que lorsque tu appliques un textformat à ta case texte, c'est valable pour l'ensemble du texte formaté avec ce style. Le plus simple, ce serait que tu créé 2 textformats : un pour le titre et l'autre pour le contenu ! Ca, ça devrait marcher !

  5. #5
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 150
    Par défaut
    oui Morigiane c possible mais seulement si tous le contenu est visible, parcontre dans mon cas c cas j'ai une barre de défilement et le champs contiens plusieurs titres - contenus

  6. #6
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 150
    Par défaut
    Est-ce que quelqu'un a une idée

  7. #7
    Membre confirmé Avatar de morgiane
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 144
    Par défaut
    Moi, j'avais fais le même genre de truc, mais c'est du bidouillage, y'a sûrement une solution plus simple !
    En fait, c'était pour des news issues d'un fic XML, donc avec une date dans un format et le texte dans un autre format. Ce que j'ai fait, c'est que j'ai installer une boucle qui lisait mon fichier XML et qui me créait un textfield pour chaque élément : un pour la date1, un pour la news1, un pour la date 2, un pour lanews 2 etc... Faut pas oublier de reprendre à chaque fois la hauteur de ton textfield créé et l'ajouter au _x pour créer le suivant !!! Et j'ai chopé le code d'une scroll_barre développée par l'un des membres du forum pour inclure tous mes champs texts dedans !

    C'est barbare, mais au moins, ça a marché !!!!

  8. #8
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 150
    Par défaut
    ça je l'ai déjà fait (programmer une scrollbar pour faire défiler un movieClip), mais le problème c que l'animation devient un peut trop lente, car imagine dupliqué un symbole 1000 fois! c pas très pratique comme solution

  9. #9
    Membre confirmé Avatar de morgiane
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 144
    Par défaut
    Evédemment, 1000 fois, ça fait beaucoup !!! Heu.. je vais peut-être dire une bêtise, mais avec un tableau ça marcherait pas ? Et appliquer un format par case ? (là, c'est de la réflexion pour essayer de trouver au moins une piste : je sais PAS DU TOUT si c'est possible ou pas !!!)

  10. #10
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Par défaut
    je voi pas trop ou est le probleme (mais bon ...)

    Comment differencie tu le(s) titre(s) du texte a afficher? ( source differente, fichier xml ...)

    merci de bien vouloir repondre

  11. #11
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 150
    Par défaut
    Bon je réexplique :
    voilà il y'a un champ de texte dynamique vide qui est rempli par des titres et des textes provenant de sources externes, il y'a en faite une boucle sur un tableau contenant ces informations (titres et textes), alors à chaque fois qu'il y'a un titre, le format doit changer pour le rendre gras, et puis ensuite il redevient comme avant pour insérer le texte correspondant à ce titre. J'espère avoir été assez clair cette fois, merci d'avance CR_Gio et morgiane

  12. #12
    Membre confirmé Avatar de morgiane
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 144
    Par défaut
    Bon, j'ai réussi je crois à te trouver ce quil faut ! Etant débutante, je pense que le code peut_être simplifié, mais au moins, ça a l'avantage de marcher !
    Je sais que ça risque de faire long, mais je met tout en ligne pour que d'autres puissent en profiter !!!
    J'espère que tu pourras l'adapter à ton truc :

    Déjà : le fichier XML appelé "news.xml" et situé au même niveau que le .fla
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <?xml version="1.0" encoding="UTF-8"?> 
    <root> 
    	<nouvelle 
    		numero="6" 
    		date="08/08/06" 
    		desc="Tout le texte de l'actualité la plus récente" 
    	</nouvelle>
    	<nouvelle 
    		numero="5" 
    		date="07/08/06" 
    		desc="texte de l'actualité suivante 1" 
    	</nouvelle>
    	<nouvelle 
    		numero="4" 
    		date="06/08/06" 
    		desc="texte de l'actualité suivante 2" 
    	</nouvelle>
    	<nouvelle 
    		numero="3" 
    		date="05/08/06" 
    		desc="texte de l'actualité suivante 3" 
    	</nouvelle>
    	<nouvelle 
    		numero="2" 
    		date="04/08/06" 
    		desc="texte de l'actualité suivante 4" 
    	</nouvelle>
    	<nouvelle 
    		numero="1" 
    		date="03/08/06" 
    		desc="texte de la dernière actualité (la plus vieille)" 
    	</nouvelle>	
    </root>
    Dans le .fla, je définit un format pour la date et un pour le texte de la news
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //définition du texte courant
    var formattext:TextFormat = new TextFormat ();
    formattext.color=0x000000;
    formattext.font="Verdana";
    formattext.size=11;
    formattext.bold=false;
    
    //définition des dates
    var formatdate:TextFormat =new TextFormat ();
    formatdate.color=0x000000;
    formatdate.font="Verdana";
    formatdate.size=12;
    formatdate.bold=true;
    Et voici le code pour tout afficher avec les bons formats :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    //variables d'incrémentation
    var i:Number;
    //tableaux des index
    tabindex_debut= new Array();
    tabindex_findate= new Array();
    tabindex_fintext= new Array();
    //variable pour définir le chemin depuis la racine parce que sinon, this se rapporte à actu
    var chemin = this;
    
    //------------------CREATION DE L'OBJET XML------------------------
    actu = new XML();
    // les espaces vides sont supprimés
    actu.ignoreWhite = true;
    //chargement du document XML
    actu.load("news.xml");
    
    //------------------AFFICHAGE DU TEXTE------------------------
    actu.onLoad = function() {
    	//quand le chargement du document est terminé , lancement de l'animation
    	chemin.createTextField("texte_txt", chemin.getNextHighestDepth(), 0, 0, 300, 200);
    	with (chemin.texte_txt) {
    		multiline = true;
    		border = true;
    		wordWrap = true;
    	}
    	//initialisation du premier index à 0
    	tabindex_debut[0]=0;
    	//la boucle démarre de 0 et va jusqu'au nombre de nouvelle
    	for (i=0; i<actu.firstChild.childNodes.length; i++) {		
    		//on rempli la case text et on initialise les index des caractères-clés		chemin.texte_txt.text += "Paru le "+actu.firstChild.childNodes[i].attributes.date+newline;
    		tabindex_findate[i] = chemin.texte_txt.length;
    		chemin.texte_txt.text += actu.firstChild.childNodes[i].attributes.desc+newline;
    		tabindex_fintext[i] = chemin.texte_txt.length;
    		tabindex_debut[i+1]=tabindex_fintext[i];
    	}
    	// on reparcours tout le texte pour appliquer les formats aux lignes
    	for (i=0; i<chemin.texte_txt.length; i++){
    		chemin.texte_txt.setTextFormat(tabindex_debut[i], tabindex_findate[i], formatdate);
    		chemin.texte_txt.setTextFormat(tabindex_findate[i], tabindex_fintext[i], formattext);
    	}
    };
    Voilààà ! J'espère que c'est assez clair et que c'est ce que tu voulais ! Hésites pas à demander si tu as des questions !!!

  13. #13
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 150
    Par défaut
    Merci pour la solution : ca marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo