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 vsIcon en FMX


Sujet :

Composants FMX Delphi

  1. #1
    Membre expérimenté Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Points : 1 448
    Points
    1 448
    Par défaut ListView vsIcon en FMX
    Bonjour,
    Je commence tout juste avec FMX, et je suis étonné de ne pas trouver de composant correspondant à la TListView de la VCL avec le style vsIcon.
    Je cherche un composant me permettant d'afficher des éléments comme le fait l'explorateur windows par exemple.
    Ce que je veux, ce serait une sorte de combinaison entre un TListView (ou TListBox ?) et un TFlowLayout.

    J'ai essayé de remplacer, dans le style d'une TListBox, le content par un TFlowLayout, ca n'a pas l'air de fonctionner.
    J'ai regardé le code de ces composants, et j'ai l'impression que l'affichage vertical ou horizontal est assez fortement ancré.

    Peut être que modifier le TListBox.Columns dynamiquement au resize du composant serait une piste, mais je voudrais une taille d'item fixe, et ca m'a pas l'air gagné.

    Quelqu'un connaîtrait-il un composant qui fait ce que je cherche ? Ou alors une piste pour arriver au résultat escompté ?

    Merci d'avance.

  2. #2
    Membre expérimenté Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Points : 1 448
    Points
    1 448
    Par défaut
    Bon, j'arrive a peu près à un résultat qui me convient en utilisant une TListBox avec ItemWidth et ItemHeight.

    Ce qu'il me manque maintenant, c'est de faire en sorte que les TListBoxGroupHeader prennent une ligne complète.
    Quelqu'un a t'il une idée sur la piste a prendre ? un style suffira t'il ? ou un nouvel heritier de TListBoxSeparatorItem ? ou carrément surcharger TListBox et modifier une fonction du genre DoRealign ?

    Merci de votre aide

  3. #3
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 664
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 664
    Points : 6 959
    Points
    6 959
    Par défaut
    Citation Envoyé par guillemouze Voir le message
    Ce qu'il me manque maintenant, c'est de faire en sorte que les TListBoxGroupHeader prennent une ligne complète.
    Pas sûr de comprendre ce que tu recherches, mais avec un style tu peux concevoir une ligne exactement comme tu le souhaites (le plus compliqué, c'est d'utiliser l'éditeur de style ).
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ___ Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.1 Entreprise
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.4)

  4. #4
    Membre expérimenté Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Points : 1 448
    Points
    1 448
    Par défaut
    Ce que je cherche, c'est quelque chose qui ressemble à ca :
    Nom : listbox.jpg
Affichages : 220
Taille : 86,9 Ko
    il faut que mes groupes prennent la largeur globale de la listbox, et les items s'enchainent (comme un flowlayout).
    Pour affecter un style différent à ces éléments, je pense que ce n'est pas un problème. Par contre, faire que les groupes prennent un ligne complète, c'est là que je bloque pour le moment. Le repli des groupes n'est pas nécessaire dans mon cas.
    Ce que je suis en train d'essayer en ce moment, c'est de surcharger TListBox, et réimplémenter la fonction DoCalcContentBounds. Je pense que je vais y arriver, mais est-ce la meilleur solution ? Vais-je avoir d'autres problèmes liés à cette modification (la navigation avec les flèches du clavier par exemple) ?
    Je ne suis pas sur de pouvoir gérer ce comportement uniquement avec des styles.

  5. #5
    Membre régulier Avatar de Coudrak
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 66
    Points : 90
    Points
    90
    Par défaut
    Sans les styles, en alternant un TListBoxGroupHeader avec un TListBoxItem et mis un TFlowLayout dans le TListBoxItem. Reste à gérer la hauteur du TListBoxItem...

  6. #6
    Membre expérimenté Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Points : 1 448
    Points
    1 448
    Par défaut
    Citation Envoyé par Coudrak Voir le message
    Sans les styles, en alternant un TListBoxGroupHeader avec un TListBoxItem et mis un TFlowLayout dans le TListBoxItem. Reste à gérer la hauteur du TListBoxItem...
    Tu veux dire que le contenu d'un groupe serait un seul item, contenant un flowlayout ? mais je met quoi dans ce layout ? il faudra gérer la sélection manuellement ?

    Actuellement, avec ma surcharge du composant, j'ai un résultat qui me parait correct. Comme je l'avais pré-senti, la navigation par flèche fonctionne mal, mais a part ca, j'ai l'impression que je peux atteindre mon but de cette manière.
    Reste a savoir si il n'y a pas de meilleur solution. Peut être la tienne, mais j'ai peur qu'il n'y ait plus de limitations qu'avec la mienne.

Discussions similaires

  1. [Kylix] prob listview
    Par sdoura2 dans le forum EDI
    Réponses: 1
    Dernier message: 22/10/2002, 21h37
  2. Une gauge dans un ListView
    Par Thom@s dans le forum Composants VCL
    Réponses: 3
    Dernier message: 22/10/2002, 10h32
  3. listview ??
    Par Galdarion dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/09/2002, 17h02
  4. ListView->Items->Clear() !!! Qques probl de perf
    Par Nicolas_a69 dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/08/2002, 11h49
  5. ListView
    Par SnickeursMan dans le forum Composants VCL
    Réponses: 2
    Dernier message: 14/08/2002, 10h42

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