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 FMX 10.4


Sujet :

Composants FMX Delphi

  1. #1
    Membre à l'essai Avatar de Astrid69
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 22
    Points : 24
    Points
    24
    Par défaut delphi FMX 10.4
    Bonjour, Sergio va sûrement encore me tomber dessus, mais c'est pas grave ;-) En VCL dans les listbox, on avait la possibilité de choisir via OnDrawItem les couleurs des lignes selon des critères (une ligne sur deux ou si telle condition, dans ce cas telle couleur ...) Chose que je ne retrouve pas du tout dans FMX ... Je ne veux pas colorier le fond de ma box, ni le texte, mais bien faire en sorte que si la date indiquée dans telle ligne est inférieure à la date du jour, dans ce cas la ligne est en rouge, autre condition => autre couleur etc ...
    Une idée à me transmettre (sans m'eng... ?) merci !!! vous êtes top. Ah, j'ai cherché plus d'une heure sans trouver la réponse avant de poster ce message ...
    Astrid.

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    OnPaint n'est pas dans la philosophie FMX je pense...c'est un framework basé sur des composants qui font le rendu...c'est typique de la différence de rendu OpenGL et FMX que j'ai fais dans Perseverance3D, en VCL j'ai un GLPaint qui fait le rendu de la scène, sous FMX je construits des TMesh qui se chargent d'afficher leur contenu quand bon leur semble.

    alors il y a des raisons à cela, notamment tu peux mettre n'importe quel composant FMX dans un conteneur qui a un effet graphique spécifique ou qui subit des transformations 3D, etc...donc le contexte graphique d'une application FMX est un poil plus compliqué que le rendu d'un composant VCL sur un Canvas...mais c'est aussi plus lourd
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par Astrid69 Voir le message
    Bonjour, Sergio va sûrement encore me tomber dessus, mais c'est pas grave ;-)
    Je suis d'une patience d'//
    Une idée à me transmettre (sans m'eng... ?)
    Je ne ni ne promis, quoique c'est bien la peine que je me décarcasse
    la réponse ou partie se trouve dans mon blog enfin pour les TListView, je suis moins à l'aise avec les TListbox (s'il est vraiment question de TListBox FMX)
    pour les Tlistboxs je n'ai rédigé que ceci https://www.developpez.net/forums/bl...istbox-styles/ mais ça devrait répondre à la question.
    Il doit y avoir aussi un match entre TListView et TListBox quelque part mais où l'ai je mis, l'ai-je publié ? L'âge et Aloïs me rattrapent.
    merci !!! vous êtes top.
    avec un peu de cirage ça passe toujours mieux
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    1 758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 1 758
    Points : 5 667
    Points
    5 667
    Par défaut
    Citation Envoyé par Astrid69 Voir le message
    Bonjour, Sergio va sûrement encore me tomber dessus, mais c'est pas grave ;-) En VCL dans les listbox, on avait la possibilité de choisir via OnDrawItem les couleurs des lignes selon des critères (une ligne sur deux ou si telle condition, dans ce cas telle couleur ...) Chose que je ne retrouve pas du tout dans FMX ... Je ne veux pas colorier le fond de ma box, ni le texte, mais bien faire en sorte que si la date indiquée dans telle ligne est inférieure à la date du jour, dans ce cas la ligne est en rouge, autre condition => autre couleur etc ...
    Une idée à me transmettre (sans m'eng... ?) merci !!! vous êtes top. Ah, j'ai cherché plus d'une heure sans trouver la réponse avant de poster ce message ...
    Astrid.
    Avec FMX, la solution est toujours dans les styles!

    1° Tu fais plusieurs styles listboxitem (un avec un fond rouge, un avec un fond vert, etc...)

    2° A l'aide du code tu appliques l'un ou l'autre style.

    Par exemple, pour avoir une ligne sur deux d'une couleur, on aura un code du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     if Odd(myListBox.Items.count) then ListBoxItem.StyleLookup:='ListBoxItemStyleRouge'
      else
          ListBoxItem.StyleLookup:='ListBoxItemStyleBlanc';

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    Citation Envoyé par Anselme45 Voir le message
    Avec FMX, la solution est toujours dans les styles!
    c'est en partie vrai

    Citation Envoyé par Anselme45 Voir le message
    1° Tu fais plusieurs styles listboxitem (un avec un fond rouge, un avec un fond vert, etc...)
    2° A l'aide du code tu appliques l'un ou l'autre style.
    Ceci est valable si la liste est remplie par code mais si la liste est remplie par Livebindings ce n'est pas la même chose.
    Il vaut mieux, en ce cas n'avoir qu'un style d'item, avec pour fond un TRectangle (avec hittest=true ) et utiliser l'évènement onFilledListItem du lien pour gérer la couleur
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

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

Discussions similaires

  1. Atelier et formation Delphi FMX, à Paris
    Par Maxime Capellot dans le forum Delphi
    Réponses: 0
    Dernier message: 19/10/2017, 10h26

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