Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Кнопка или пункт меню выполняет другую функцию при нажатой кнопке shift

01.01.2007

сли вы хотите, чтобы кнопка или пункт меню выполнял другую функцию при нажатой кнопке  shift ,

вы можете использовать функцию GetKeyState .

GetKeyState принимает в качестве параметра виртуальный код кнопки и возвращает значение меньше 0,

если кнопка нажата.

Вот пример события  OnClick для кнопки:

procedure Form1.Button1Click(Sender: TObject);
begin
   if GetKeyState(VK_SHIFT) < 0 then
      ShowMessage('Кнопка Shift нажата')
   else
      ShowMessage('Обычное нажатие кнопки');
end; 

Отмечу, что вы можете также использовать параметры VK_CONTROL или VK_MENU

для проверки нажатия кнопок control и  alt,  соответственно!

   Matt Hamilton

Взято с сайта https://blackman.wp-club.net/