0 0 Stimmen

Delphi/Lazarus: Mit STRG+A in ListView alles markieren

Tipp von Delphianer | 04.10.2013 um 09:07 Uhr

Wenn man in Delphi oder auch Lazarus ein Programm geschrieben hat, das eine TListView mit einigen Einträgen enthält, ist es ganz schön, wenn man diese auch mit der Tastatur und dem Tastenkürzel STRG und A komplett markieren kann. Leider unterstützt die ListView das nicht automatisch.

Wir können aber schnell Abhilfe schaffen, indem wir folgenden Code in das OnKeyDown Event der ListView hinein schreiben:

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;

Der Code überprüft zunächst, welche Tasten gedrückt wurden. Sind es die Tasten "STRG" (Shift = [ssCTrl]) und "A", gehen wir alle Einträge der ListView durch und setzen "Selected" auf "true". Natürlich kann man hier auch noch Bedingungen für andere Tasten oder Tastenkombinationen hinzufügen.

Wichtig: Damit wir überhaupt mehrere Einträge in der ListView markieren können, müssen die Eigenschaft "MultiSelect" unserer ListView vorher auf true setzen.

AntwortenPositivNegativ

Über den Autor

Avatar AutorDer Autor hat keine Kurzbeschreibung seines Profils angegeben.
Profil anzeigen | Nachricht

 

Ähnliche Themen

Wichtiger Hinweis

Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.