Kleiner Fehler im Code: Der else-Zweig wird bei JEDER anderen Maustaste ausgelöst. Also auch bei der mittleren oder bei einer anderen Maustaste (manche Mäuse haben ja auch an den Seiten Tasten). Also lieber so:
Delphi-Quellcode:
procedure TForm1.ListView1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if button = mbright then
showmessage('rechts')
else if button = mbleft then
showmessage('links')
end;