Карта сайтаСсылкиКонтакты

Как перевести виртуальные коды клавиш в символы

PDF Печать
Статьи

Windows определяет специальные константы для каждой клавиши, которую пользователь может нажать. Виртуальные коды клавиш идентифицируют различные виртуальные клавиши. Эти константы могут использоваться в Delphi, например, в обработчике событий OnKeyUp и OnKeyDown.

События OnKeyUp и OnKeyDown обеспечивают самый низкий уровень ответа от клавиатуры. И обработчики событий OnKeyUp и OnKeyDown могут отвечать на все клавиши клавиатуры, включая функциональные клавиши, а также Alt, Shift, Ctrl.

Параметр Key в обработчике событий OnKeyUp (или OnKeyDown) - виртуальный код клавиши. Вот как можно перевести их в символы:


function GetCharFromVirtualKey(Key: Word): string;
var
   keyboardState: TKeyboardState;
   asciiResult: Integer;
begin
   GetKeyboardState(keyboardState) ;

   SetLength(Result, 2) ;
   asciiResult := ToAscii(key, MapVirtualKey(key, 0),
       keyboardState, @Result[1], 0) ;
   case asciiResult of
     0: Result := '';
     1: SetLength(Result, 1) ;
     2:;
     else
       Result := '';
   end;
end;

Пример использования:

Поместите управление Memo на Form и опишите обработчик события OnKeyDown как:


procedure TForm1.Memo1KeyDown(Sender: TObject;
      var Key: Word; Shift: TShiftState) ;
begin
   Self.Caption := GetCharFromVirtualKey(Key) ;
end;
свадебное видео киев
 

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


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