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 VCL Delphi Discussion :

Evenements de TListView


Sujet :

Composants VCL Delphi

  1. #1
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement en retraite
    Inscrit en
    Juin 2002
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement en retraite
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2002
    Messages : 462
    Par défaut Evenements de TListView
    Bonjour,

    Delphi 11.3 Community, projet VCL Win32.

    Je liste les fichiers d'un répertoire dans un TListView.
    Lorsque je sélectionne un item, j'affiche l'image du fichier JPG sélctionné dans une Bitmap.
    Tout fonctionne bien.
    Si je fais une sélection multiple avec shift plus clic gauche, l'événement clic sur chaque item sélectionné est déclenché donc affichage successif de chaque photo ce qui n'est pas nécessaire et est pénalisant vu le temps de chargement.

    J'ai voulu inhiber la sélection de chaque fichier en débranchant l'événement dans le OnMouseDown :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TFen_smartPhones.Liste_RepFichiersMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
         if (ssShift in Shift) or (ssCtrl in Shift) then begin
              Liste_RepFichiers.OnSelectItem:=nil;
         end else
         begin
               Liste_RepFichiers.OnSelectItem:=Liste_RepFichiersSelectItem;
         end;
     
    end;
    Dans la pratique, TlListView fait sa sélection (donc affichage de chaque photo) et ensuite il déclenche OnMouseDown et débranche l'événement de sélection.

    Le contraire m'aurais beaucoup mieux convenu

    Comment faire ?
    Merci

  2. #2
    Membre Expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Par défaut
    Bonjour Bernard

    M'est avis que tu devrais plutôt ajouter un test en début de méthode Liste_RepFichiersSelectItem qui testerait s'il y a 1 ou plusieurs éléments sélectionnés dans la liste concernée et faire un exit si <>1

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement en retraite
    Inscrit en
    Juin 2002
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement en retraite
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2002
    Messages : 462
    Par défaut
    Merci pprem cela ne m'était pas venu à l'idée et en plus ça fonctionne parfaitement.

  4. #4
    Membre Expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Par défaut
    Citation Envoyé par Bernard B Voir le message
    Merci pprem cela ne m'était pas venu à l'idée et en plus ça fonctionne parfaitement.
    ton approche à ne pas vouloir exécuter quelque chose qui ne sert pas était meilleure, mais comme c'est pas possible facilement à part surcharger le composant et changer son comportement, faut biaiser

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

Discussions similaires

  1. Evenement TListView identique a SelectedIndexChanged
    Par BATiViR dans le forum Delphi
    Réponses: 1
    Dernier message: 12/06/2007, 14h05
  2. [VB6] Evenement validate
    Par grosjej dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 05/09/2002, 15h46
  3. Evenement Change
    Par PierDIDI dans le forum Composants VCL
    Réponses: 3
    Dernier message: 28/08/2002, 10h08
  4. develloppement avec ORBit: service d'evenement
    Par belmontv dans le forum CORBA
    Réponses: 3
    Dernier message: 06/06/2002, 22h56
  5. Generation d'evenements a une date precise
    Par pascalzzz dans le forum MFC
    Réponses: 2
    Dernier message: 04/06/2002, 15h21

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