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

Langage Delphi Discussion :

Comment ajouter des items à une listView


Sujet :

Langage Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Comment ajouter des items à une listView
    Bonjour à tous,

    Je pense avoir corretement initialisé une imagelist par le code suivant :
    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
      ImageList.Clear;
      ListView.Clear;
      for k:=0 to pred(FileListBoxImage.Count) do
      begin
        ImgJpeg:= TJpegImage.Create;
        try
          ImgJpeg.LoadFromFile(FileListBoxImage.Directory+'\'+FileListBoxImage.Items[k]);
          ABitmap:=TBitmap.Create;
          ABitmap.Assign(ImgJpeg);
          ImageList.AddMasked(ABitmap, clFuchsia);
          ABitmap.Free;
        finally
          ImgJpeg.Free;
        end;
      end;
    Si ce code est bon, comment initialiser avec ImageList une listView ?

    Merci à tous

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 535
    Points : 25 089
    Points
    25 089
    Par défaut
    je crois avoir fourni un code complet à ce sujet en m'inspirant de l'exemple
    FileSelectBtnEdit et D7ComboBox (C++)

    la fonction MakeImageList pour charger une liste de fichier (en version complète ou miniature) puis le code de remplissage de la TListView

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      ListView1.LargeImages:= ... ta image list ... 
      for i:=0 to ListView1.LargeImages.Count - 1 do
      begin
        ListItem :=ListView1.Items.Add;
        Listitem.Caption := 'Image'+IntToStr(I) ;
        ListItem.ImageIndex := I ; // ça !!!
      end;
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Ok celà se compile bien, mais à l'arrivée ListView n'est pas bonne
    Voici le code complet
    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
      ImageList.Clear;
      for k:=0 to pred(FileListBoxImage.Count) do
      begin
        ImgJpeg:= TJpegImage.Create;
        try
          ImgJpeg.LoadFromFile(FileListBoxImage.Directory+'\'+FileListBoxImage.Items[k]);
          ABitmap:=TBitmap.Create;
          ABitmap.Assign(ImgJpeg);
          ImageList.AddMasked(ABitmap, clFuchsia);
          ABitmap.Free;
        finally
          ImgJpeg.Free;
        end;
      end;
      ListView.Clear;
      ListView.LargeImages:= ImageList;
      for k:=0 to ListView.LargeImages.Count - 1 do
      begin
        ListItem :=ListView.Items.Add;
        Listitem.Caption := 'Image'+IntToStr(k) ;
        ListItem.ImageIndex := k ; 
      end;
    La listView contient plus d'images que le FileListBox de départ et les immages sont toutes petites !!! Y a un truc !!!

  4. #4
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Citation Envoyé par colorid Voir le message
    La listView contient plus d'images que le FileListBox de départ et les immages sont toutes petites !!! Y a un truc !!!
    Quelle valeur a la propriété ViewStyle du TListView ?
    Ensuite si vous voulez afficher des images sous forme de vignette, ce n'est pas le composant adéquat...
    Philippe.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut
    Valeur ViewStyle = VsIcon

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Quel Composant Delphi pour afrficher liste images en vignettes
    Si il existe un composant pour afficher une liste d'images en vignettes ne me laissez-pas mourir idiot !!!

  7. #7
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Citation Envoyé par colorid Voir le message
    Si il existe un composant pour afficher une liste d'images en vignettes ne me laissez-pas mourir idiot !!!
    C'est fou comme les gens ne sont pas curieux...
    Un petit appel à mon ami et je trouve :

    Classement d'images
    Philippe.

  8. #8
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 091
    Points : 41 068
    Points
    41 068
    Billets dans le blog
    62
    Par défaut
    n'oublions pas la JVCL avec son composant JvThumbNail
    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. Réponses: 10
    Dernier message: 10/10/2013, 09h10
  2. comment ajouter des items dans un combobox sous delphi?
    Par salimo79 dans le forum Débuter
    Réponses: 6
    Dernier message: 19/10/2009, 17h21
  3. Réponses: 5
    Dernier message: 28/10/2008, 14h26
  4. comment ajouter des méthodes à une classe lors Runtime?
    Par revever dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 31/03/2008, 13h53
  5. [Team Foundation Server] Comment ajouter des Items ?
    Par Dadou74 dans le forum EDI/Outils
    Réponses: 1
    Dernier message: 27/07/2006, 15h36

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