24 Voix

Delphi/Lazarus: Sélectionner tout avec CTRL+A dans ListView

Conseil de Delphiain | 26/06/2021 à 20:52

Si vous avez écrit une application en Delphi ou Lazarus contenant un TListView avec quelques entrées, il est assez agréable d'avoir la possibilité de sélectionner tous les éléments du ListView en appuyant sur les raccourcis clavier CTRL et A sur le clavier. Malheureusement, ListView ne prend pas en charge cela automatiquement.

Mais nous pouvons rapidement y remédier en écrivant le code suivant dans l'événement OnKeyDown de notre ListView :

procedure Tprog.ListView1KeyDown(Sender: TObject; var Key: Word; 
Shift: TShiftState);
var
  i: integer;
begin
  if (Shift = [ssCtrl]) and (key = ord('A')) then begin
     ListView1.Items.BeginUpdate;
     for i := 0 to ListView1.Items.Count-1 do Items[i].Selected:=true;
     ListView1.Items.EndUpdate;
  end;
end;

Tout d'abord, ce code vérifie quelles touches ont été enfoncées. Si les touches sont "CTRL" (Shift = [ssCtrl]) et "A", nous parcourons toutes les entrées de ListView et définissons "Selected" sur "true". Bien sûr, vous pouvez toujours ajouter des conditions pour d'autres touches ou combinaisons de touches.

Important : Pour pouvoir sélectionner plusieurs éléments dans la ListView, nous devons auparavant définir la propriété "MultiSelect" de notre ListView sur "true".

RépondrePositifNégatif

Sur l’Auteur

AvatarL’auteur n’a pas encore ajouté de brève description de profil.
Voir Profil

 

Sujets Connexes

Avis Important

Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.

Participer

Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.