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 :

ListView item Heterogene [Android]


Sujet :

Composants FMX Delphi

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 10
    Points : 4
    Points
    4
    Par défaut ListView item Heterogene
    bonjours

    je voudrais savoir si il est possible de construire une listview avec des item hétérogène par exemple un item avec un item Appearance listview et un item Appearance image item
    en alternance si oui est-il possible d'avoir des items touts différents

    j'ai fait un première essai en changement la propriété de la listeview ' ItemAppearanceName ' avant de la création du listviewitem voici le code ci-dessous

    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
    27
    28
    29
    30
    31
     
     
    function TTabbedForm.AjouterListViewItemToAP(aListView: TListView;
      aNombre: Integer): integer;
    var
      lListViewItem: TListViewItem;
      I: integer;
      lDatetimeDebut,lDatetimefin: TDateTime;
    begin
      lDatetimeDebut  :=  Now;
      if  not Assigned (aListView) then
        exit;
     
      for I := 0 to aNombre - 1 do
      begin
     
       if (I Mod 2) = 0 then
         aListView.ItemAppearanceName := 'QuestionImageItem'
       else
        aListView.ItemAppearanceName := 'EtapeItem';
     
     
       lListViewItem :=  aListView.Items.Add;
       lListViewItem.Text := 'viewitem' + IntToStr(I);
       lListViewItem.Data[TEtapeAppearanceNames.Detail1] := Format('adresse nom article %d ', [I]);
       lListViewItem.ButtonText := 'Test';
      end;
      lDatetimefin := now;
     
      result := MilliSecondsBetween( lDatetimefin,lDatetimeDebut);
    end;

    mais cela a comme conséquence de charger si toutes la liste le même Appearance cela change uniquement en fonction de dernière Appearance charger

    une idée je trouve pas grand chose sur le net

    Bonne journée
    En vous remerciant d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 037
    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 037
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    oui c'est possible mais pas par la propriété ItemApparence de la Listview, AMHA il faut passer par les styles.
    Il est tard (pour un Vendredi) aussi ne vais-je pas m'étendre sur ce sujet aujourd'hui
    il doit au moins y avoir une démo sur le sujet de mémoire la présentation des composants FMX continet une liste avec des Items de présentation différentes
    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

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    merci pour ta réponse. Roh encore les Styles , jusqu'à présent je n'ais pas réussi une combiner les listeviewitems et les styles (je serais curieux de voir ca). Tu aurais une idée d’où je pourrais trouver cette vidéo de présentation de FMX ?

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 037
    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 037
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    il ne s'agit pas d'une vidéo mais bien du programme exemple qui vient avec Delphi.
    J'essaierai de trouver une video ou tutoriel <- il y a bien sur mon tutoriel sur les styles mais je n'utilise qu'un seul type (personnalisé d'item de liste)
    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

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    je confirme que dans les codes exemples de Delphi xe8 il n'y a pas d'exemple de Tlistview hétérogène , ni d'exemple d'utilisation des styles appliquer au TlistView. dommage
    merci pour ton aide, j'ai hate de lire ca .

  6. #6
    Membre émérite
    Avatar de Thierry Laborde
    Homme Profil pro
    N/A
    Inscrit en
    Avril 2002
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : N/A

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 391
    Points : 2 529
    Points
    2 529
    Par défaut
    Bonjour,

    Si vous allez dans les répertoires Samples de la XE8, dans :

    Samples\Object Pascal\Mobile Samples\User Interface\ListView

    Vous trouverez différents exemples de Listview avec des Styles créés spécifiquement.
    Vous pourriez également jouer avec le Type Custom et jouer sur chaque élément ensuite.
    Vous trouverez des infos ici aussi :

    http://docwiki.embarcadero.com/RADSt...ste_FireMonkey

    En fait tout dépend ce que vous voulez faire exactement.

  7. #7
    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
    petit exemple fait vite fait mais ce n'est pas une ListView...

    Nom : multiview.gif
Affichages : 585
Taille : 109,4 Ko

    listviewmulti.zip
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  8. #8
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    ce que je voudrais faire c'est crée des items différents par exemple des items avec des couleur de fond différente (alternance bleu/ rouge par exemple) et aussi des items différents dans le sens que les composants contenu dans les items ne sont pas les même .

    un exemple en image serait sans doute plus parlant :

    Nom : ListViewHetero.png
Affichages : 614
Taille : 30,0 Ko

    j'ai obtenu ce résulta en redéfinissant l’événement UpdateObjects du Tlisteview Dans celui-ci je redessine les composants des items en fonction de leur index
    je trouve cela peu intéressante et limiter


    merci pour ton exemple je ne pensais pas que l'on pouvais utiliser les styles ainsi tu m'ouvre une nouvelle voie .

    je vais essayer cela tout de suite ^^

  9. #9
    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
    En fait, ce qu'il faut bien comprendre c'est que la notion de style sous FMX est assez particulière et sans grand chose de commun avec le CSS par exemple.

    un style FMX est un ensemble de composants dont le parent est identifié par sa propriété StyleName.

    Quand j'utilise ce nom dans la propriété StyleLookup d'un dérivé de TStyledControl, tous les composants constituant le style sont dupliqués comme enfant du composant stylé. Lors de cette duplication seules les propriétés sont conservées, par conséquent aucun événement (exemple: OnClick) ne peut être défini dans un style.

    Dans ma démo je donne simplement le StyleName "Item1" a un TLayout, mais habituellement on passe par un StyleBook qui contient une collection de styles. Mais le StyleBook n'est qu'un moyen de charger des composants sans les afficher, il n'y a pas réellement de différence entre les deux approches.

    Pour accéder aux éléments du style on peut utiliser "StylesData" et "FindStyleResource". Le premier demande à Delphi de mapper une expression vers une valeur comme le fait LiveBinding. FindStyleResource va par contre nous retourner l'instance de l'objet de style.
    C'est là qu'il faut connaitre le contenu du style qu'on interroge explicitement : je veux le style "Text" qui doit être un ComboBox que je vais manipuler (mon exemple avec Item3).

    Les composants stylés dérivent de TStyledControl et utilisent ces deux méthodes dans la fonction ApplyStyle. La personnalisation du style d'un composant doit donc tenir compte de ce code pour savoir quels éléments on peut définir et comment ils seront exploités.

    C'est là aussi que le StyleBook prend un sens particulier. Si vous regardez le style de la ListView vous verrez des objets comme "background: TColorObject" qui n'existent pas dans la palette de composants. En fait c'est un objet "bidon" qui permet simplement de définir la couleur de fond de la ListView. Au lieu d'avoir une propriété BackgroundColor sur le composant, le composant cherche dans le style l'objet "background" et utilise sa propriété color comme couleur de fond. L'intérêt est ici de pouvoir tout contrôler depuis le style sans jamais faire référence à la ListView. Toutes les ListView (qui exploitent ce style) auront la couleur de fond du style, et je peux la personnalisé pour tout le monde en une seule opération.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  10. #10
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Merci Paul TOTH pour t'es explication elle m'ont été d'une très Utile
    A tous les autre aussi ^^ pour moi le sujet est résolus

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

Discussions similaires

  1. [C#][Windows Forms]ListView item selectionné en bleu
    Par arnauann dans le forum Windows Forms
    Réponses: 5
    Dernier message: 22/08/2007, 09h52
  2. [C#] Listview item avec chaine tronquée
    Par heavydrinker dans le forum Windows Forms
    Réponses: 1
    Dernier message: 18/10/2006, 15h46
  3. Réponses: 5
    Dernier message: 12/08/2006, 20h35
  4. Réponses: 5
    Dernier message: 08/06/2006, 16h11
  5. ListView->Items->Clear() !!! Qques probl de perf
    Par Nicolas_a69 dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/08/2002, 11h49

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