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

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

01.01.2007
Matt Hamilton

Если вы хотите, чтобы кнопка или пункт меню выполнял другую функцию при нажатой кнопке 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, соответственно!

Previous page:
Как сделать многострочную надпись на TBitBtn?
Top:
DRKB
Next page:
Кнопка с закругленными краями