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

Composants FMX Delphi Discussion :

Firemonkey, TListbox et calcul de hauteur


Sujet :

Composants FMX Delphi

  1. #1
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 387
    Points : 2 999
    Points
    2 999
    Par défaut Firemonkey, TListbox et calcul de hauteur
    Hello les gens

    J'ai un problème de calcul de hauteur.
    Dans un TListbox, j'ajoute des éléments texte qui peuvent faire plusieurs lignes.
    En mettant la propriété Wordwrap à True, ça ne pose pas de problème, sauf que .... ça ne modifie pas la hauteur des TListBoxItem en fonction de la hauteur du texte. Je peux définir une hauteur à la création du TListBoxItem. Une taille fixe de 100 par exemple fonctionne très bien.
    Mais je voudrais définir la taille de chaque TListBoxItem en fonction du texte affiché. Et là, je sèche.
    Le Canvas.TextHeight du TListBoxItem va me donner la hauteur d'une ligne de texte, mais je ne trouve pas le moyen de connaitre le nombre de lignes.

    A tout hasard, quelqu'un aurait déjà planché sur le sujet ?

    Papy !

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 148
    Points : 184
    Points
    184
    Par défaut
    Ce que je faisais avec la vcl pour connaître le nombre de ligne.

    1. Je Colle sur la fiche un tmemo de la même surface que titem et je mets le texte dans tmemo
    2. Je récupère le nombre de ligne du tmemo avant d'afficher le texte dans la liste.

    je ne sais pas s' il y a un autre moyen, mais cela fonctionnait bien

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Le 100 tu ne l'affectes pas ItemHeight ?
    Comme ItemHeight est global dans une TListBox et tous les calculs dans l'unité FMX.ListBox sont prévu pour ne gérer qu'une seule hauteur si ItemHeight est différent de Zéro

    Donc je suppose que tu affectes le 100 à Heigth de chaque TListBoxItem ?
    Idem le Wordwrap est spécifique à chaque TListBoxItem

    Avec Canvas.TextHeight, ne fourni que la taille du texte brut non coupé
    Canvas.MeasureText est plus souple, tu peux luire fournir un rectangle limite, dans ton cas, RectMT.Heigth := List.Heigth et RectMT.Width := List.Width.
    MeasureText est utilisé en interne par TextHeight avec un rectangle de limite bidon (10000x10000)

    En XE2, MeasureText n'était pas encore remplacé par TTextLayout
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Calculer la hauteur en pixels d'un fluxL
    Par Thony3351 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/02/2014, 15h40
  2. [XL-2003] Calculer la Hauteur d'une SeriesCollection
    Par babybell dans le forum Macros et VBA Excel
    Réponses: 26
    Dernier message: 22/02/2011, 08h36
  3. Calculer Point Hauteur triangle
    Par freerider74 dans le forum VB.NET
    Réponses: 2
    Dernier message: 14/04/2009, 09h19
  4. Pb sur calcul de hauteur de feuille (he oui !)
    Par OhMonBato dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/01/2008, 15h42
  5. Calcul de la hauteur d'une page
    Par gailup dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 09/06/2006, 14h53

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