Ich bin nicht sicher, ob es einfacher geht, aber beim Rechtsklick der Listbox könnte man sich den Listeneintrag an der Mausposition merken.
Delphi-Quellcode:
procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var CurrIndex: integer;
begin
if Button = mbRight then
begin
CurrIndex := Listbox1.ItemAtPos(Point(X,Y),true);
if CurrIndex > -1 then
//CurrItem ist ein privates String-Feld von Form1
CurrItem := Listbox1.Items[CurrIndex]
else
CurrItem := '';
end;
end;
[edit] Oder den entsprechenden Eintrag gleich markieren.
Delphi-Quellcode:
procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbRight then
Listbox1.ItemIndex := Listbox1.ItemAtPos(Point(X,Y),true);
end;
Anschließend dann auf ListBox.Items[ListBox.ItemIndex] zugreifen, sofern der ItemIndex > -1 ist.[/edit]