我想在一个edit中限制输入的键,我是定义一个集合,里面放可输的键,如:backspace的#8,还有一些数字,然后在onkeypress里判断,不在集合里的key:=#0;现在我有些键的键值(哈哈我也不知道是不是叫键值啦,总之#...的),如Tab键是#几,谁能告诉我最好给我一个所有键盘键值的表,我将不胜感激,并给分多多的,谢谢!!!

解决方案 »

  1.   

    我不记不住啊,可是我可以教你怎么得到
    加一个Edit,在他的keypress事件,写上ShowMessage((int)Key);你看到的就是他的ASCII代码,你也可以随便找本书,比如C语言程序设计等,后面附录都有啊
      

  2.   

    procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      label1.Caption:=intToStr(key);
    end;
      

  3.   

    每个键对应其Ascii码,如tab1的键值为#41,1的键值为#49,你可以查ASCII表来验证我的答案
      

  4.   

    goomoo的方法可以得到键值。。
    但我记得大学的C语言书后就有一张表,是ASCII码的,查找很好。
      

  5.   

    ——虚拟键值列表vk_Lbutton=$01
     
    vk_Rbutton=$02
     
    vk_Cancel=$03
     
    vk_Mbutton=$04
     
    vk_Back=$08
     
    vk_Tab=$09
     
    vk_Clear=$0C
     
    vk_Return=$0D
     
    vk_Shift=$10
     
    vk_Control=$11
     
    vk_Menu=$12
     
    vk_Pause= $13
     
    vk_Capital=$14
     
    vk_Escape=$1B
     
    vk_Space=$20
     
    vk_Prior=$21
     
    vk_Next=$22
     
    vk_End=$23
     
    vk_Home=$24
     
    vk_Left=$25
     
    vk_Up=$26
     
    vk_Right=$27
     
    vk_Down=$28
     
    vk_Select=$29
     
    vk_Print=$2A
     
    vk_Execute=$2B
     
    vk_Snapshot=$2C
     
    vk_Copy=$2C
     
    vk_Insert=$2D
     
    vk_Delete=$2E
     
    vk_Help=$2F
     
    vk_NumPad0=$60
     
    vk_NumPad1=$61
     
    vk_NumPad2=$62
     
    vk_NumPad3=$63
     
    vk_NumPad4=$64
     
    vk_NumPad5=$65
     
    vk_NumPad6=$66
     
    vk_NumPad7=$67
     
    vk_NumPad8=$68
     
    vk_NumPad9=$69
     
    vk_Multiply=$6A
     
    vk_Add=$6B
     
    vk_Separator=$6C
     
    vk_Subtract=$6D
     
    vk_Decimal=$6E
     
    vk_Divide=$6F
     
    vk_F1=$70
     
    vk_F2=$71
     
    vk_F3=$72
     
    vk_F4=$73
     
    vk_F5=$74
     
    vk_F6=$75
     
    vk_F7=$76
     
    vk_F8=$77
     
    vk_F9=$78
     
    vk_F10=$79
     
    vk_F11=$7A
     
    vk_F12=$7B
     
    vk_F13=$7C
     
    vk_F14=$7D
     
    vk_F15=$7E
     
    vk_F16=$7F
     
    vk_F17=$80
     
    vk_F18=$81
     
    vk_F19=$82
     
    vk_F20=$83
     
    vk_F21=$84
     
    vk_F22=$85
     
    vk_F23=$86
     
    vk_F24=$87
     
    vk_NumLock=$90
     
    vk_Scroll=$91
     
    vk_A 到 vk_Z的键值与后面字符A到Z相同
     
    vk_0 到 vk_9的键值与后面字符’0’到’9’相同
     
      

  6.   

    对键盘上各个键进行设置Function SendKeys(SendKeysString : PChar; Wait : Boolean) : Boolean;
    type
      WBytes = array[0..pred(SizeOf(Word))] of Byte;  TSendKey = record
        Name : ShortString;
        VKey : Byte;
      end;const
      {Array of keys that SendKeys recognizes.  If you add to this list, you must be sure to keep it sorted alphabetically
      by Name because a binary search routine is used to scan it.}  MaxSendKeyRecs = 41;
      SendKeyRecs : array[1..MaxSendKeyRecs] of TSendKey =
      (
       (Name:'BKSP';            VKey:VK_BACK),
       (Name:'BS';              VKey:VK_BACK),
       (Name:'BACKSPACE';       VKey:VK_BACK),
       (Name:'BREAK';           VKey:VK_CANCEL),
       (Name:'CAPSLOCK';        VKey:VK_CAPITAL),
       (Name:'CLEAR';           VKey:VK_CLEAR),
       (Name:'DEL';             VKey:VK_DELETE),
       (Name:'DELETE';          VKey:VK_DELETE),
       (Name:'DOWN';            VKey:VK_DOWN),
       (Name:'END';             VKey:VK_END),
       (Name:'ENTER';           VKey:VK_RETURN),
       (Name:'ESC';             VKey:VK_ESCAPE),
       (Name:'ESCAPE';          VKey:VK_ESCAPE),
       (Name:'F1';              VKey:VK_F1),
       (Name:'F10';             VKey:VK_F10),
       (Name:'F11';             VKey:VK_F11),
       (Name:'F12';             VKey:VK_F12),
       (Name:'F13';             VKey:VK_F13),
       (Name:'F14';             VKey:VK_F14),
       (Name:'F15';             VKey:VK_F15),
       (Name:'F16';             VKey:VK_F16),
       (Name:'F2';              VKey:VK_F2),
       (Name:'F3';              VKey:VK_F3),
       (Name:'F4';              VKey:VK_F4),
       (Name:'F5';              VKey:VK_F5),
       (Name:'F6';              VKey:VK_F6),
       (Name:'F7';              VKey:VK_F7),
       (Name:'F8';              VKey:VK_F8),
       (Name:'F9';              VKey:VK_F9),
       (Name:'HELP';            VKey:VK_HELP),
       (Name:'HOME';            VKey:VK_HOME),
       (Name:'INS';             VKey:VK_INSERT),
       (Name:'LEFT';            VKey:VK_LEFT),
       (Name:'NUMLOCK';         VKey:VK_NUMLOCK),
       (Name:'PGDN';            VKey:VK_NEXT),
       (Name:'PGUP';            VKey:VK_PRIOR),
       (Name:'PRTSC';           VKey:VK_PRINT),
       (Name:'RIGHT';           VKey:VK_RIGHT),
       (Name:'SCROLLLOCK';      VKey:VK_SCROLL),
       (Name:'TAB';             VKey:VK_TAB),
       (Name:'UP';              VKey:VK_UP)
      );  {Extra VK constants missing from Delphi's Windows API interface}
      VK_NULL=0;
      VK_SemiColon=186;
      VK_Equal=187;
      VK_Comma=188;
      VK_Minus=189;
      VK_Period=190;
      VK_Slash=191;
      VK_BackQuote=192;
      VK_LeftBracket=219;
      VK_BackSlash=220;
      VK_RightBracket=221;
      VK_Quote=222;
      VK_Last=VK_Quote;DELPHI键值大全
    VK_LBUTTON Left mouse button
    VK_RBUTTON Right mouse button
    VK_CANCEL Control+Break
    VK_MBUTTON Middle mouse button
    VK_BACK         Backspace key
    VK_TAB      Tab key
    VK_CLEAR Clear key
    VK_RETURN Enter key
    VK_SHIFT Shift key
    VK_CONTROL Ctrl key
    VK_MENU         Alt key
    VK_PAUSE Pause key
    VK_CAPITAL Caps Lock key
    VK_KANA         Used with IME
    VK_HANGUL Used with IME
    VK_JUNJA Used with IME
    VK_FINAL Used with IME
    VK_HANJA Used with IME
    VK_KANJI Used with IME
    VK_CONVERT Used with IMEVK_NONCONVERT Used with IME
    VK_ACCEPT Used with IME
    VK_MODECHANGE Used with IME
    VK_ESCAPE Esc key
    VK_SPACE Space bar
    VK_PRIOR Page Up key
    VK_NEXT         Page Down key
    VK_END         End key
    VK_HOME  Home key
    VK_LEFT  Left Arrow key
    VK_UP         Up Arrow key
    VK_RIGHT Right Arrow key
    VK_DOWN         Down Arrow key
    VK_SELECT Select key
    VK_PRINT Print key (keyboard-specific)
    VK_EXECUTE Execute key
    VK_SNAPSHOT Print Screen key
    VK_INSERT Insert key
    VK_DELETE Delete key
    VK_HELP  Help keyVK_LWIN         Left Windows key (Microsoft keyboard)
    VK_RWIN         Right Windows key (Microsoft keyboard)
    VK_APPS         Applications key (Microsoft keyboard)
    VK_NUMPAD0 0 key (numeric keypad)
    VK_NUMPAD1 1 key (numeric keypad)
    VK_NUMPAD2 2 key (numeric keypad)
    VK_NUMPAD3 3 key (numeric keypad)
    VK_NUMPAD4 4 key (numeric keypad)
    VK_NUMPAD5 5 key (numeric keypad)
    VK_NUMPAD6 6 key (numeric keypad)
    VK_NUMPAD7 7 key (numeric keypad)
    VK_NUMPAD8 8 key (numeric keypad)
    VK_NUMPAD9 9 key (numeric keypad)VK_MULTIPLY Multiply key (numeric keypad)
    VK_ADD Add key (numeric keypad)
    VK_SEPARATOR Separator key (numeric keypad)
    VK_SUBTRACT Subtract key (numeric keypad)
    VK_DECIMAL Decimal key (numeric keypad)
    VK_DIVIDE Divide key (numeric keypad)
    VK_F1           F1 key
    VK_F2    F2 key
    VK_F3    F3 key
    VK_F4    F4 key
    VK_F5    F5 key
    VK_F6    F6 key
    VK_F7    F7 key
    VK_F8    F8 key
    VK_F9    F9 key
    VK_F10    F10 key
    VK_F11    F11 key
    VK_F12   F12 key
    VK_F13         F13 key
    VK_F14    F14 key
    VK_F15   F15 keyVK_F16         F16 key
    VK_F17         F17 key
    VK_F18     F18 key
    VK_F19         F19 key
    VK_F20   F20 key
    VK_F21   F21 key
    VK_F22         F22 key
    VK_F23    F23 key
    VK_F24   F24 key
    VK_NUMLOCK Num Lock key
    VK_SCROLL Scroll Lock key
    VK_LSHIFT Left Shift key (only used with GetAsyncKeyState and GetKeyState)
    VK_RSHIFT Right Shift key  (only used with GetAsyncKeyState and GetKeyState)
    VK_LCONTROL Left Ctrl key  (only used with GetAsyncKeyState and GetKeyState)
    VK_RCONTROL Right Ctrl key  (only used with GetAsyncKeyState and GetKeyState)VK_LMENU Left Alt key  (only used with GetAsyncKeyState and GetKeyState)
    VK_RMENU Right Alt key  (only used with GetAsyncKeyState and GetKeyState)
    VK_PROCESSKEY Process key
    VK_ATTN         Attn key
    VK_CRSEL CrSel key
    VK_EXSEL ExSel key
    VK_EREOF Erase EOF key
    VK_PLAY         Play key
    VK_ZOOM         Zoom key
    VK_NONAME Reserved for future use
    VK_PA1         PA1 key
    VK_OEM_CLEAR Clear keyvk_Lbutton=$01
    vk_Rbutton=$02
    vk_Cancel=$03
    vk_Mbutton=$04
    vk_Back=$08
    vk_Tab=$09
    vk_Clear=$0C
    vk_Return=$0D
    vk_Shift=$10
    vk_Control=$11
    vk_Menu=$12
    vk_Pause= $13
    vk_Capital=$14
    vk_Escape=$1B
    vk_Space=$20
    vk_Prior=$21
    vk_Next=$22
    vk_End=$23
    vk_Home=$24
    vk_Left=$25
    vk_Up=$26
    vk_Right=$27
    vk_Down=$28
    vk_Select=$29
    vk_Print=$2A
    vk_Execute=$2B
    vk_Snapshot=$2C
    vk_Copy=$2C
    vk_Insert=$2D
    vk_Delete=$2E
    vk_Help=$2F
    vk_NumPad0=$60
    vk_NumPad1=$61
    vk_NumPad2=$62
    vk_NumPad3=$63
    vk_NumPad4=$64
    vk_NumPad5=$65
    vk_NumPad6=$66
    vk_NumPad7=$67
    vk_NumPad8=$68
    vk_NumPad9=$69
    vk_Multiply=$6A
    vk_Add=$6B
    vk_Separator=$6C
    vk_Subtract=$6D
    vk_Decimal=$6E
    vk_Divide=$6F
    vk_F1=$70
    vk_F2=$71
    vk_F3=$72
    vk_F4=$73
    vk_F5=$74
    vk_F6=$75
    vk_F7=$76
    vk_F8=$77
    vk_F9=$78
    vk_F10=$79
    vk_F11=$7A
    vk_F12=$7B
    vk_F13=$7C
    vk_F14=$7D
    vk_F15=$7E
    vk_F16=$7F
    vk_F17=$80
    vk_F18=$81
    vk_F19=$82
    vk_F20=$83
    vk_F21=$84
    vk_F22=$85
    vk_F23=$86
    vk_F24=$87
    vk_NumLock=$90
    vk_Scroll=$91
    vk_A 到 vk_Z的键值与后面字符A到Z相同
    vk_0 到 vk_9的键值与后面字符’0’到’9’相同
      

  7.   

    http://www.playicq.com/dispsoft.php?id=438
    http://www.playicq.com/dispsoft.php?id=406
    來這里下載吧,已編成軟件。。