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

Flex Discussion :

Afficher un texte sur plusieur lignes dans un bouton


Sujet :

Flex

  1. #1
    Membre habitué Avatar de adilou1981
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 251
    Points : 127
    Points
    127
    Par défaut Afficher un texte sur plusieur lignes dans un bouton
    Bonjour,

    J'ai un toggle button bar contenant un ensemble de bouttons comme suit


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <mx:ToggleButtonBar id="menu"			
    	itemClick="clickButton(event)"
    	styleName="myToggleButtonBarStyle"/>
    Le style appliqué est:
    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
    	<mx:Style>
    		.myToggleButtonBarStyle {
     
    			button-style-name: "buttons";   
    			vertical-center:0;
     
    		}
     
    	.buttons { 
     
    		text-selected-color: #14476c;
    		text-roll-over-color: #14476c;
    		up-skin: Embed(source="/phase_grey.png");
    		over-skin: Embed(source="/phase_blue.png");
    		down-skin: Embed(source="/phase_blue.png");
    		selected-up-skin: Embed(source="/phase_blue.png");
    		selected-over-skin: Embed(source="/phase_blue.png");
    		selected-down-skin: Embed(source="/phase_blue.png");
     
    		padding-left:45;
    		padding-right:30;
     
    		}
    	</mx:Style>
    Mon problème est que quand j'ai un text long il s'affiche en entier sur une seule ligne ce qui fait que la largeur du bouton grandit. Comme mes boutons sont des images, donc ils se déforment. Pour résoudre cela j'ai pensé à ffichier mon texte sur plusieurs lignes sans affecter la largeur de mon bouton. Comment faire?

    Merci d'avance

  2. #2
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 75
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Je n'ai pas eu occasion d'utiliser le label d'un bouton sur plusieurs lignes. Peut-être ce lien pourra te renseigner plus :


    http://flexrays.wordpress.com/2007/0...-for-a-button/

    Je l'avais trouvé mais ne m'en suis jamais servi

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    Comme mes boutons sont des images, donc ils se déforment.
    Dans ce cas il faut peut-être utiliser le 9 slice scaling.

    http://livedocs.adobe.com/flex/3/htm...t=embed_4.html

  4. #4
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 423
    Points : 874
    Points
    874
    Par défaut
    euh....par hasard tu as essayé d'écrire ton texte avec des \n dedans ?
    Pour les labels et bcp d'autres choses ça fonctionne !

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    euh... par hasard tu es certain d'avoir réussi à écrire plusieurs lignes dans un Label ?

    Parce que la doc dit :
    The Label control displays a single line of noneditable text. Use the Text control to create blocks of multiline noneditable text.

    Tu peux me donner la liste des objets qui gèrent le multi-lignes au niveau des labels ?

  6. #6
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 423
    Points : 874
    Points
    874
    Par défaut ok
    si c'est possible !

    n'as-tu pas essayer ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="charger()">
    <mx:Script>
    	<![CDATA[
    		public function charger():void{
    		truc.text="ligne 1\nligne2\nligne3";	
    		}
     
    	]]>
    </mx:Script>
    	<mx:Label id="truc" x="104" y="39" text="rien"  width="113" height="95"/>
     
    </mx:Application>
    oh bas mince alors ! ça fonctionne !

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    Si, si j'ai essayé (il est rare que je ne vérifie pas avant d'affirmer qq chose !)

    Sur ce coup là tu aurais du aller plus loin dans tes explications

    En effet si la valeur est affectée en mxml, ça ne fonctionne pas, le \n n'est pas interprété. Il faut donc soit l'affecter en AS, soit faire un bind sur la propriété text. Il faut avoué que pour un Label le mxml est le plus souvent utilisé.

    D'autre part l'un des intérêts de Flex est l'ajustement automatique des composants en fonction de leur contenu. Or dans tous les cas le Label ne se redimensionne pas en hauteur, il faut lui indiquer une hauteur explicitement.

    Donc aucun intérêt pour Label puisqu'il existe Text.

    Par contre j'ai essayé avec d'autres composants et le label est toujours sur une seule ligne, alors ce serait sympa de me donner un autre exemple plus constructif

  8. #8
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 423
    Points : 874
    Points
    874
    Par défaut
    Citation Envoyé par jylaxx Voir le message

    Par contre j'ai essayé avec d'autres composants et le label est toujours sur une seule ligne, alors ce serait sympa de me donner un autre exemple plus constructif
    ça marche aussi pour les textes dans un datagrid ou une List.

    j'ai pas essayé d'autres contrôles encore...

    des fois faut jouer avec WordWrap et des fois avec "VariousRowheight"(je sais plus le nom exacte de la propriété)

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    ça marche aussi pour les textes dans un datagrid ou une List.
    Oui effectivement puisqu'il y a des propriétés pour le gérer explicitement !!

    des fois faut jouer avec WordWrap et des fois avec "VariousRowheight"
    Il n'y a rien d'aléatoire la dedans.

    Les deux propriétés font référence à des éléments précis et sont en partie liées.
    wordWrap ne fait rien si variableRowHeight=false.

Discussions similaires

  1. [JScrollPane] Afficher du texte sur plusieurs lignes
    Par MeDReD dans le forum Composants
    Réponses: 3
    Dernier message: 31/07/2008, 16h01
  2. Réponses: 4
    Dernier message: 02/06/2007, 12h35
  3. Texte sur plusieurs lignes dans un TListBox
    Par BigBenQ dans le forum Composants VCL
    Réponses: 1
    Dernier message: 04/05/2006, 17h58
  4. Texte sur plusieurs lignes dans une cellule de JTable
    Par JeanECN dans le forum Composants
    Réponses: 3
    Dernier message: 10/04/2006, 17h20
  5. Réponses: 2
    Dernier message: 21/09/2005, 12h18

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