Home » Tipps & Tricks » System » Tastatur und Maus » Abfragen, welche Maustaste der Anwender gedrückt hat

Abfragen, welche Maustaste der Anwender gedrückt hat

In dem Ereignis OnMouseDown bzw. OnMouseUp einer von TControl abgeleiteten Komponente, kann man feststellen, ob die linke, mittlere oder rechte Maustaste gedrückt wurde.

Der Parameter Button kann dazu benutzt werden, die gedrückte Maustaste abzufragen (mbLeft,mbRight,mbMiddle).
Außerdem liefert Shift den Status der Alt-, Strg- und Shift-Tasten (ssAlt,ssCtrl,ssShift). In der Menge Shift wird auserdem nochmals der Mausbutton wiedergegeben.(ssLeft,ssRight,ssMiddle).

Wird also der rechte Mausbutton zusammen mit der ALT-Taste gedrückt, so ist die Menge von Shift =[ssALT,ssRight].Auch Kombinationen sind möglich [ssAlt,ssCtrl,ssRight].

procedure TForm1.FormMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if ssALT in Shift then
    ShowMessage('Es wurde die ALT-Taste gedrückt');
  case Button of
    mbLeft: ShowMessage('Es wurde die linke Maustaste gedrückt.');
    mbMiddle: ShowMessage('Es wurde die mittlere Maustaste gedrückt.');
    mbRight: ShowMessage('Es wurde die rechte Maustaste gedrückt.');
  end;
end;