Я хотел бы обнаружить более 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; |
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!