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 :

Delphi Listbox : modifier le style d'un texte en mode programmation


Sujet :

Composants FMX Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 35
    Par défaut Delphi Listbox : modifier le style d'un texte en mode programmation
    Bonjour,
    Avec Rad Studio version 10.4 et compilation pour Android
    J'ai une ListBox (ListBox1) avec une image et deux zones de texte : Text et Text2
    Je voudrais pouvoir lors du remplissage de la listbox pouvoir définir la couleur et la taille du texte ainsi que la taille de l'image mais je n'y arrive pas
    Voici mon code :

    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
     
        ListBox1.BeginUpdate;
     
        for i:= 1 to 5 do
             begin
     
                LBItem                 := TlistBoxItem.Create(ListBox1);
                LBItem.StyleLookup     := 'ListboxItemBigImageStyle';
     
                LBItem.Text                   := 'Bonjour';
                LBItem.TextSettings.Font.Size := 14;
                LBItem.TextSettings.FontColor := claDodgerblue;
     
                LBItem.StylesData['Text2.Text'] := 'Paris';
                LBItem.StylesData['Text2.TextSettings.Font.Size'] := 8;
     
                LBItem.ItemData.Bitmap := ImageList1.Source[i-1].MultiResBitmap.Bitmaps[1];
                LBItem.ItemData.Bitmap.Height := 100;
                LBItem.ItemData.Bitmap.Width  := 100;
     
                ListBox1.AddObject(LBItem);
     
            end;
     
            ListBox1.EndUpdate;
    Ce code ne genere aucune erreur mais les 2 textes restent en noir et de la meme taille et la taille de l'image n'est pas modifiée mais mon image remplacée par un carré de couleur noire
    Auriez vous une idée ?
    Merci Merci ...

  2. #2
    Membre Expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Par défaut
    Modifie la propriété StyledSettings pour qu'elle ignore les propriétés que tu veux modifier par rapport au style.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 35
    Par défaut
    Citation Envoyé par pprem Voir le message
    Modifie la propriété StyledSettings pour qu'elle ignore les propriétés que tu veux modifier par rapport au style.
    Merci !
    j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
               LBItem.TextSettings.Font.Size := 8;
               LBItem.StyledSettings:=[TStyledSetting.Family,TStyledSetting.Style,TStyledSetting.FontColor,TStyledSetting.Other];
    Et c'est nickel !
    Merci Merci

  4. #4
    Membre Expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Par défaut
    impec

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 35
    Par défaut
    Citation Envoyé par pprem Voir le message
    impec
    Merci pour ton aide !

    Ca marche nickel pour la taille de la fonte mais :


    Text s'affiche bien en taille 8 mais en noir et non pas en bleu
    Text2 s'affiche bien en rouge mais en taille par défaut et non pas en taille 8

    Et la taille de l'image n'est pas modifiée ...

    Aurais tu une idée ?

    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
     
    begin
        ListBox1.BeginUpdate;
        for i:= 1 to 3 do
             begin
     
                LBItem                 := TlistBoxItem.Create(ListBox1);
                LBItem.StyleLookup     := 'ListboxItemBigImageStyle';
     
                LBItem.TextSettings.Font.Size := 8;
                LBItem.TextSettings.FontColor := claBlue;
                LBItem.StylesData['Text2.TextSettings.Font.Size'] := 8;
                LBItem.StylesData['Text2.TextSettings.FontColor'] := claRed;
                LBItem.ItemData.Bitmap.Height := 100;
                LBItem.ItemData.Bitmap.Width  := 100;
                LBItem.StyledSettings:=[TStyledSetting.Family,TStyledSetting.Style,TStyledSetting.FontColor,TStyledSetting.Other];
     
     
                LBItem.Text                     := 'Bonjour'
                LBItem.StylesData['Text2.Text'] := 'Paris';
                LBItem.ItemData.Bitmap := ImageList1.Source[i-1].MultiResBitmap.Bitmaps[1];
     
                ListBox1.AddObject(LBItem);
            end;
     
            ListBox1.EndUpdate;

  6. #6
    Membre Expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Par défaut
    tu as laissé TStyledSetting.FontColor
    pour la taille de l'image, il n'y a pas de solution simple

    d'ailleurs, pourquoi ne tentes-tu pas un style personnalisé ?

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

Discussions similaires

  1. modifier le style ( couleur et bordure) d'un input text
    Par Han Han dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 26/11/2018, 02h36
  2. GtkTreeView : modifier le style du texte
    Par echantillon dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 03/07/2011, 21h57
  3. Modifier le style du texte selectionne.
    Par lostsoul dans le forum Général Java
    Réponses: 6
    Dernier message: 19/10/2009, 15h25
  4. Réponses: 2
    Dernier message: 19/07/2007, 12h27
  5. [VB.NET] Comment envoyer un texte modifié(couleurs,style...)
    Par fdiedler dans le forum Windows Forms
    Réponses: 8
    Dernier message: 14/03/2005, 18h11

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