home *** CD-ROM | disk | FTP | other *** search
/ Delphi Programming Unleashed / Delphi_Programming_Unleashed_SAMS_Publishing_1995.iso / units / vkeys.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1995-03-21  |  3.9 KB  |  118 lines

  1. unit Vkeys;
  2.  
  3. interface
  4.  
  5. uses
  6.   Classes;
  7.  
  8. type
  9.   T3StrAry = array[0..2] of String;
  10.   T5StrAry = array[0..4] of String;
  11.   T7StrAry = array[0..6] of String;
  12.  
  13. const
  14.   AMessage: T5StrAry = ('WM_CHAR', 'WM_KEY', 'WM_MOUSEMOVE', 'WM_MOUSEDOWN', 'WM_MOUSEUP');
  15.   Buttons: T3StrAry = ('mbLeft', 'mbRight', 'mbCenter');
  16.   Shifty: T7StrAry = ('ssShift', 'ssAlt', 'ssCtrl', 'ssLeft',
  17.                      'ssRight', 'ssMiddle', 'ssDouble');
  18.  
  19. function GetShift(State: TShiftState): String;
  20. function GetKey(K: Word): String;
  21. implementation
  22. uses
  23.   WinTypes;
  24.  
  25. function GetShift(State: TShiftState): String;
  26. var
  27.   B, i: Byte;
  28. begin
  29.   Result := '';
  30.   for i := 0 to 7 do begin
  31.     B := Byte(1) shl i;
  32.     if (B and Byte(State)) > 0 then Result := Result + ' ' +  Shifty[i];
  33.   end;
  34. end;
  35.  
  36. function GetKey(K: Word): String;
  37. begin
  38.   case K of
  39.     vk_LButton: Result := 'vk_LButton';
  40.     vk_RButton   : Result := 'vk_RButton';
  41.     vk_Cancel    : Result := 'vk_Cancel';
  42.     vk_MButton   : Result := 'vk_MButton';
  43.     vk_Back      : Result := 'vk_Back';
  44.     vk_Tab       : Result := 'vk_Tab';
  45.     vk_Clear     : Result := 'vk_Clear';
  46.     vk_Return    : Result := 'vk_Return';
  47.     vk_Shift     : Result := 'vk_Shift';
  48.     vk_Control   : Result := 'vk_Control';
  49.     vk_Menu      : Result := 'vk_Menu';
  50.     vk_Pause     : Result := 'vk_Pause';
  51.     vk_Capital   : Result := 'vk_Capital';
  52.     vk_Escape    : Result := 'vk_Escape';
  53.     vk_Space     : Result := 'vk_Space';
  54.     vk_Prior     : Result := 'vk_Prior';
  55.     vk_Next      : Result := 'vk_Next';
  56.     vk_End       : Result := 'vk_End';
  57.     vk_Home      : Result := 'vk_Home';
  58.     vk_Left      : Result := 'vk_Left';
  59.     vk_Up        : Result := 'vk_Up';
  60.     vk_Right     : Result := 'vk_Right';
  61.     vk_Down      : Result := 'vk_Down';
  62.     vk_Select    : Result := 'vk_Select';
  63.     vk_Print     : Result := 'vk_Print';
  64.     vk_Execute   : Result := 'vk_Execute';
  65.     vk_SnapShot  : Result := 'vk_SnapShot';
  66.     vk_Insert    : Result := 'vk_Insert';
  67.     vk_Delete    : Result := 'vk_Delete';
  68.     vk_Help      : Result := 'vk_Help';
  69.     vk_NumPad0   : Result := 'vk_NumPad0';
  70.     vk_NumPad1   : Result := 'vk_NumPad1';
  71.     vk_NumPad2   : Result := 'vk_NumPad2';
  72.     vk_NumPad3   : Result := 'vk_NumPad3';
  73.     vk_NumPad4   : Result := 'vk_NumPad4';
  74.     vk_NumPad5   : Result := 'vk_NumPad5';
  75.     vk_NumPad6   : Result := 'vk_NumPad6';
  76.     vk_NumPad7   : Result := 'vk_NumPad7';
  77.     vk_NumPad8   : Result := 'vk_NumPad8';
  78.     vk_NumPad9   : Result := 'vk_NumPad9';
  79.     vk_Multiply  : Result := 'vk_Multiply';
  80.     vk_Add       : Result := 'vk_vkAdd';
  81.     vk_Separator : Result := 'vk_Separator';
  82.     vk_Subtract  : Result := 'vk_Subtract';
  83.     vk_Decimal   : Result := 'vk_Decimal';
  84.     vk_Divide    : Result := 'vk_Divide';
  85.     vk_F1        : Result := 'vk_F1';
  86.     vk_F2        : Result := 'vk_F2';
  87.     vk_F3        : Result := 'vk_F3';
  88.     vk_F4        : Result := 'vk_F4';
  89.     vk_F5        : Result := 'vk_F5';
  90.     vk_F6        : Result := 'vk_F6';
  91.     vk_F7        : Result := 'vk_F7';
  92.     vk_F8        : Result := 'vk_F8';
  93.     vk_F9        : Result := 'vk_F9';
  94.     vk_F10       : Result := 'vk_F10';
  95.     vk_F11       : Result := 'vk_F11';
  96.     vk_F12       : Result := 'vk_F12';
  97.     vk_F13       : Result := 'vk_F13';
  98.     vk_F14       : Result := 'vk_F14';
  99.     vk_F15       : Result := 'vk_F15';
  100.     vk_F16       : Result := 'vk_F16';
  101.     vk_F17       : Result := 'vk_F17';
  102.     vk_F18       : Result := 'vk_F18';
  103.     vk_F19       : Result := 'vk_F19';
  104.     vk_F20       : Result := 'vk_F20';
  105.     vk_F21       : Result := 'vk_F21';
  106.     vk_F22       : Result := 'vk_F22';
  107.     vk_F23       : Result := 'vk_F23';
  108.     vk_F24       : Result := 'vk_F24';
  109.     vk_NumLock   : Result := 'vk_NumLock';
  110.     vk_Scroll    : Result := 'vk_Scroll';
  111.   else begin
  112.     Result := Chr(K);
  113.     Result[0] := #1;
  114.   end;
  115.   end;
  116. end;
  117. end.
  118.