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 :

Obtenir et utiliser un TFMXObject du style pour un élément d'un ListView


Sujet :

Composants FMX Delphi

  1. #1
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    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 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut Obtenir et utiliser un TFMXObject du style pour un élément d'un ListView
    Bonjour,

    Le titre ne fait pas totalement le tour de la question.
    Disons que j'ai déjà utilisé des images pour colorer certains éléments d'une liste, sujet de tutoriels comme de billets de ma part.
    Cette fois j'ai voulu aller un peu plus loin en voulant obtenir la "couleur" de sélection selon le style de cette manière
    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
    var AStyle,aElement : TFMXObject;
        aBounds : TBounds;
        aRect : TRect;
    begin
    // obtenir image du style Selection
    aBitMap := TBitmap.Create(40,40);
    AStyle:=TStyleManager.ActiveStyle(Self);
    aElement:=aStyle.FindStyleResource('listviewstyle.selection');
    if aElement is TStyleObject then
      begin
       if Assigned(TStyleObject(aElement).SourceLink) then
         begin
           aBounds:=TBitmapLinks(TStyleObject(aElement).SourceLink).Links[0].SourceRect;
           aRect:=TRect.Create(Trunc(aBounds.Left),Trunc(aBounds.Top),Trunc(aBounds.Right),Trunc(aBounds.Bottom));
           ABitmap.Width:=ARect.Right-ARect.Left;
           ABitmap.Height:=ARect.Bottom-ARect.Top;
           aBitmap.CopyFromBitmap(TImage(aStyle.FindStyleResource(TStyleObject(aElement).sourcelookup)).Bitmap,aRect,0,0);
         end
         else ABitmap.Clear($FF3FB8C6);;
      end;
    ....
    Pas de souci majeur de ce côté, j'obtiens bien l'image
    Nom : Capture.PNG
Affichages : 166
Taille : 41,1 Ko
    le souci c'est à l'application
    Nom : Capture_1.PNG
Affichages : 165
Taille : 19,7 Ko
    Vous remarquez certainement la déformation des coins , logique puisque mon image qui sert de fond est étirée (stretched).
    La question en découle, comment faire pour ne pas avoir de déformation ? Delphi y arrive donc c'est possible, avant de plonger dans les sources, une idée ?
    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

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    Bonjour,
    La découper en n'étirant que le milieu ?
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    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 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    Oui, c'est la première idée qui m'est venue, surtout quand on regarde de plus près le "découpage" du TObjectStyle
    Nom : Capture.PNG
Affichages : 154
Taille : 4,9 Ko mais cela me semble bien complexe, il faudrait créer une image de la bonne taille (taille de l'élément),
    y mettre les coins, y mettre les bords haut et bas étirés en largeur uniquement, les bords droit et gauche étirés en hauteur uniquement, puis le centre
    cela fait quand même beaucoup, de plus les "étirements" uniques ou non je ne vois pas comment le faire à cet instant.
    Je vais fouiller dans les sources (les quelques petites plongées en apnée que j'ai pu faire hier ne m'ont pas vraiment convaincues)
    Bien sûr, en attendant je me contenterai de la couleur au centre mais ce serait tellement joli avec le style complet en plus cela me donne une raison de creuser plus profondément dans les fichiers style
    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

Discussions similaires

  1. Modification des styles pour les éléments disable.
    Par Edta dans le forum GWT et Vaadin
    Réponses: 0
    Dernier message: 12/12/2013, 14h18
  2. [XL-2007] Utiliser les données d'Excel pour obtenir un doc word
    Par Raphael39 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/12/2010, 10h55
  3. style pour le bouton dans input type file
    Par manaboko dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/02/2005, 14h47
  4. Des styles pour le texte et les liens dans la meme div?
    Par Donkey' Shot dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 26/01/2005, 20h03
  5. [VB6] utilisation de Property LET / GET pour un tableau
    Par titounne dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 18/10/2004, 22h06

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