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 VCL Delphi Discussion :

CharSpacing dans un TLabel


Sujet :

Composants VCL Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 138
    Points : 60
    Points
    60
    Par défaut CharSpacing dans un TLabel
    Coucou

    Je cherche à changer l'espacement entre les caractères d'un TLabel. Apparement aucune propriété ne permet de faire ça assez facilement ...

    J'ai beau chercher sur le net, je ne trouve pas grand chose

    A la limite ça peut être un autre composant qu'un TLabel, après je me débrouille pour qu'il ressemble au max à un TLabel

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 74
    Points : 76
    Points
    76
    Par défaut
    Bonjour, je sais pas s'il y a un composant permettant de gérer ça, mais selon ton besoin tu peux faire une procédure qui insère des espaces entre chaque caractères (c'est pas un vrai CharSpacing, mais c'est certainement le plus court à coder).
    Sinon j'imagine qu'avec quelques heures de travail, il doit-être possible de faire soi-même l'image du texte avec un fonction à laquelle du enverrai le texte, la police, le style, la taille, l'espacement voulu et qui renvoie un TBitmap, que tu affiches où tu veux.

  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
    @istam3, ne te fatiques pas, il a déjà eu sa réponse sur Phidels
    @Sephiroth Lune, voici la réponse de Phidels explique l'utilisation de ExtTextOut qui comme TabbedTextOut gère un tableau d'espacement au lieu d'un tableau de tabulation pour tout le monde en profite, et pose un
    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

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 138
    Points : 60
    Points
    60
    Par défaut
    La réponse n'a pas été complètement apportée sur phidels, ça marche assez moyennement.

    Pour l'instant je n'ai pas repris mais j'étais parti sur une API de Windows qui permet de définir le charSpacing : TextOut.

    Le gros problème de cette API, c'est que quand on change le caption d'un TLabel, le canvas écrit par TextOut est vidé. Donc en gros faut surcharger l'écriture, et pour l'instant, je suis parti sur la gestion du OnChange sur le canvas du TLabel, pour "effacer" ce que le composant a voulu écrire, et refaire mon TextOut.

    Du coup faut recalculer la largeur (AutoSize ne fonctionne plus), etc. C'est pas super pratique, mais c'est apparement le plus propre

    Donc pas encore tout à fait résolu puisque je n'ai pas fini

Discussions similaires

  1. Incrémenter dans un TLabel
    Par A0080 dans le forum Delphi
    Réponses: 11
    Dernier message: 20/02/2007, 15h25
  2. Afficher un Variant dans un TLabel
    Par blondelle dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/08/2006, 17h55
  3. Format dans un TLabel
    Par AnneOlga dans le forum C++Builder
    Réponses: 3
    Dernier message: 24/03/2004, 11h53
  4. Ajustement automatique de la taille de la police dans un TLabel
    Par Poisson Rouge dans le forum Composants VCL
    Réponses: 3
    Dernier message: 05/09/2003, 15h13
  5. comment changer d'attribut de fonte dans un Tlabel?
    Par sb dans le forum Composants VCL
    Réponses: 3
    Dernier message: 21/08/2002, 16h53

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