Home » Tipps & Tricks » Komponenten » TListBox/TComboBox » Alle Items einer Listbox markieren

Alle Items einer Listbox markieren

Um alle Items einer Listbox zu selektieren, rufen Sie ab Delphi 6 die Methode SelectAll von TListbox auf. Da die Methode in älteren Versionen noch nicht implementiert ist, müssen Sie selbst die Nachricht LB_SELITEMRANGE verschicken.Die Eigenschaft MulitSelect muss dabei auf True stehen.

procedure TForm1.Button2Click(Sender: TObject);
begin
  Listbox1.Perform(LB_SELITEMRANGE, 1, MakeLong(0, Listbox1.Items.Count - 1));
end;

Dem dritten Parameter wird der zu selektierende Bereich übergeben. Hilfreich ist dabei die Funktion MakeLong, die einen DWORD-Wert zurückgibt, der im Low-Word das erste zu selektierende Item hat und im High-Word das letzte zu selektierende Item steht. Übergeben Sie MakeLong also als ersten Parameter den Index des ersten Items und als zweiten Parameter den Index des letzten zu selektierenden Items.Im obigen Beispiel werden alle Items erfasst.Folgender Aufruf hebt die Selektierung wieder auf:

procedure TForm1.Button2Click(Sender: TObject);
begin
  Listbox1.Perform(LB_SELITEMRANGE, 0, MakeLong(0, Listbox1.Items.Count - 1));
end;