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 :

[D7] redimensionner l'écriture d'un bouton


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 100
    Par défaut [D7] redimensionner l'écriture d'un bouton
    Lusa !

    Je souhaite pouvoir modifier le texte afficher sur un bouton. En effet j'ai créé une bannière de bouton qui s'adapte à la taille de la fiche. Ainsi quand j'aggrandi ou réduit cette fiche les bouton s'adapte à elle. Or l'écriture présent dans la propriété caption n'est pas tout le temps visible entièrement. Je voulais donc pouvoir mettre le texte sur 2 lignes si le boutons était trop réduit pour pouvoir afficher tout le texte, ou redimensionner l'écriture. Mais je préferrerai la première solution.

    Savez vous si cela est possible et comment faire dans ce cas.

    Merci

    Anthony

  2. #2
    Membre chevronné
    Avatar de Manopower
    Inscrit en
    Décembre 2003
    Messages
    516
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 516
    Par défaut
    Bonjour afin de mettre un caption de bouton sur plusieurs lignes il suffit de changer cette propriété lors de l'exécution en précisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Button1.caption:='Ce texte de'+chr(10)+chr(13)+'bouton est''+chr(10)+chr(13)+'très long';
    et pour une écriture plus lisible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Button1.caption:='Ce texte de'+chr(10)+chr(13)+
                                'bouton est'+chr(10)+chr(13)+
                                'très long';
    Pour aller plus loin, je te conseille le composant gratuit THtmlButton
    qui permet d'écrire le caption en Html et donc de choisir la couleur, la police, la taille, mettre sur plusieurs lignes et ceci en conception, sans coder.

  3. #3
    Membre Expert
    Avatar de Bestiol
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 515
    Par défaut
    Tu peux mettre tes caption sur plusieurs lignes en y insérant un #13 à l'endroit où tu veux passer à la ligne.

    Ca ne marche pas avec les TButton, mais avec les TBitBtn par exemple.
    Mea est trop forte, elle flotte : mea coule pas !

    Basically this boot sector (Win95) code is 32 bit extension for a 16 bit patch to an 8 bit boot sector originally coded for a 4 bit microprocessor, written by a 2 bit company, that can't stand 1 bit of competition.

    olance.developpez.com
    Servez-vous, profitez, abusez de la FAQ Delphi !!

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 100
    Par défaut
    Avant de passer le texte sur 2 lignes, il faudrait que je sache s'il ne peut rentrer sur une seule sinon c pas la peine. Je veux que quand il y a possibilité de mettre sur une ligne ce soit le cas sinon le texte doit s'adapter à la taille du bouton.

    Croyez vous qu'avec la propriété length je pourrait me dépatouiller à le faire pour connaitre la taille du texte.

    Aussi comment saurais je où placer le #13 car cela dépend du texte.

    Ah oui je voudrai que ce soit applicable à plusieurs boutons.

    Pour tout comprendre, je charge ces boutons à partir d'un fichier ini, qui contient le texte des boutons. Donc je ne connas pas la longueur initiale du texte, c'est aléatoire selon les modif des utilisateurs.

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 100
    Par défaut
    Au fait j'utilise des TButton alors je mettrai les chr(13) plutôt que #13

  6. #6
    Membre chevronné
    Avatar de Manopower
    Inscrit en
    Décembre 2003
    Messages
    516
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 516
    Par défaut
    Je pense que tu peux te débrouiller avec un length en prenant en compte environ 10 pixels de largeur de bouton pour 1 caractère

    ensuite tu tronques soit brutalement ou alors tu stock dans ton fichier ini une version du libellé sur 2 lignes pour faire propre et mois complexe.

    la solution du length est cependant limitée par la taille de la police Windows. Si l'utilisateur change ça, ton application peut devenir toute vilaine

    Citation Envoyé par raoulmania
    Au fait j'utilise des TButton alors je mettrai les chr(13) plutôt que #13
    Hélas (pour toi) Chr(13) est identique à #13 ça ne fonctionne donc pas mieux avec un TButton

    Il te reste la solution de remplacer tous tes TButton par des TBitBtn

    Dans le .pas :
    => Rechercher remplacer TButton par TBitBtn
    Dans le .dfm (clic droit sur ta fiche, voir comme texte)
    => Rechercher remplacer TButton par TBitBtn
    Reclique droit sur ce texte, voir comme fiche et hop magie, tous tes boutons sont des TBitBtn

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 100
    Par défaut
    donc c'est pas possible de mettre l'affichage sur 2 lignes avec un TButton

  8. #8
    Membre Expert
    Avatar de Bestiol
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 515
    Par défaut
    Eh non, pas avec un TButton...

    Mais au fond est-ce si gênant de les remplacer par des TBitBtn ?

    Après quoi tu pourras assigner un canvas à un bouton et utiliser la méthode TextWidth pour connaitre la taille en pixels de ton Caption.
    Si elle est supérieure à la largeur de ton bouton, alors tu passes sur deux lignes !
    Mea est trop forte, elle flotte : mea coule pas !

    Basically this boot sector (Win95) code is 32 bit extension for a 16 bit patch to an 8 bit boot sector originally coded for a 4 bit microprocessor, written by a 2 bit company, that can't stand 1 bit of competition.

    olance.developpez.com
    Servez-vous, profitez, abusez de la FAQ Delphi !!

  9. #9
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 100
    Par défaut
    j'ai remplacé tous les tbutton par des tbitbtn.
    Au fait comment peut on faire avec ces bouttons pour éviter de voir des pointillé quand on clique sur eux car avec les tbutton il n'y en avait pas et c'était bien plus joli.

    Enfin bon c moins important que l'autre aspect

  10. #10
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Met TabStop à false... Mais c'est bizarre que les TButton ne l'aient pas aussi chez toi ce FocusRect... Si c'est bien de ça que tu parles
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/09/2014, 10h28
  2. Réponses: 0
    Dernier message: 12/02/2010, 17h03
  3. Redimensionner un bouton ?
    Par tintin72 dans le forum GTK+ avec C & C++
    Réponses: 5
    Dernier message: 18/08/2006, 15h08
  4. probleme de redimensionnement de boutons
    Par fscli dans le forum Access
    Réponses: 3
    Dernier message: 30/05/2006, 16h33
  5. Réponses: 4
    Dernier message: 26/03/2006, 19h35

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