Я хотел бы обнаружить более 2 клавиш, нажимая в форме.  Например, я хотел бы знать, если пользователь нажал время. В onkeydown должны, кажется, только чек на одну или две клавиши максимум, но верном  вы можете определить, какие клавиши нажаты.

Code:

 

// You can use GetKeyState:

 

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

begin

If ((GetKeyState(VK_CONTROL) AND 128)=128) and

    ((GetKeyState(VK_F5)      AND 128)=128) and

    ((GetKeyState(ord('8'))   AND 128)=128)

   then

     ShowMessage('CTRL+F5+8 Pressed');

end;

 

( Remember: Form1.Keypreview := TRUE )

  

// Or you can read the entire KeyBoard Status,

// and later check for the three keys:

 

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

var

  KeybState: TKeyboardState;

begin

GetKeyboardState(Teclado);

If ( (KeybState[VK_CONTROL] and 128)=128 ) and

    ( (KeybState[VK_F5]      and 128)=128 ) and

    ( (KeybState[Ord('8')]   and 128)=128 )

   then

     ShowMessage('CTRL+F5+8 Pressed');

end;

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить