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 :
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.
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;
Le contraire m'aurais beaucoup mieux convenu
Comment faire ?
Merci
Partager