How can I determine if
In the MouseDown event handler of a control, you’ll see that the event handler is declared as follows:
procedure TForm1.SpeedButton2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);beginend;
The Shift argument will tell you what shift button is pressed (Shift, Ctrl, or Alt). You can use it to detect the Shift state. For more details, look in the online help.