11 Voto

Delphi/Lazarus: Seleccionar todo con CTRL+A en ListView

Consejo de Delphieño | 25/06/2021 a las 13:52

Si ha escrito una aplicación en Delphi o Lazarus que contiene un TListView con algunas entradas, es muy bueno tener la posibilidad de seleccionar todos los elementos del ListView presionando el atajo de teclas CTRL y A en el teclado. Desafortunadamente, ListView no lo admite automáticamente.

Pero podemos remediar esto rápidamente escribiendo el siguiente código en el evento OnKeyDown de nuestro 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;

En primer lugar, este código comprueba qué teclas se han pulsado. Si las teclas son "CTRL" (Shift = [ssCtrl]) y "A", revisamos todas las entradas de ListView y establecemos "Selected" en "true". Por supuesto, aún puede agregar condiciones para otras teclas o combinaciones de teclas.

Importante: Para poder seleccionar varios elementos en ListView, tenemos que establecer la propiedad "MultiSelect" de nuestro ListView en "true" antes.

ResponderPositivoNegativo

Sobre el Autor

AvatarEl autor aún no ha agregado una breve descripción del perfil.
Ver Perfil

 

Temas Relacionados

Delphi/Lazarus: Fecha de Mañana

Pregunta | 1 Respuesta

Aviso Importante

Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.

Participar

Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.