在 onkeypress 和 onkey down 中有一个支持虚拟键,好像是后一个,
用VK_UP,VK_DOWN ....判定就行了

解决方案 »

  1.   

    是 OnKeyDown
    VK_RETURN,VK_UP,VK_DOWN,VK_LEFT,VK_RIGHT分别为回车,上下左右
      

  2.   

    我是在dbgrid的onkeypress里写的 可我使用if key=vk_left 出错
      

  3.   

    老兄,你看好了
    人家说了是在ONKEYDOWN事件中!
      

  4.   

    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
    if key=vk_left  then showmessage('111');
    end;end.
    刚试过,没错!
      

  5.   

    木头人的是对的,
    下面是我的代码取得它:
    procedure TForm1.Edit3KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      Edit4.Text:=inttostr(key);
    end;
      

  6.   

    是 OnKeyDown
    VK_RETURN,VK_UP,VK_DOWN,VK_LEFT,VK_RIGHT分别为回车,上下左右
    四个方向键的键值分别是:#037,#038,#039,#040 
      

  7.   

    { Virtual Keys, Standard Set }  VK_LBUTTON = 1;  VK_RBUTTON = 2;  VK_CANCEL = 3;  VK_MBUTTON = 4;  { NOT contiguous with L & RBUTTON }  VK_BACK = 8;  VK_TAB = 9;  VK_CLEAR = 12;  VK_RETURN = 13;  VK_SHIFT = $10;  VK_CONTROL = 17;  VK_MENU = 18;  VK_PAUSE = 19;  VK_CAPITAL = 20;  VK_KANA = 21;  VK_HANGUL = 21;  VK_JUNJA = 23;  VK_FINAL = 24;  VK_HANJA = 25;  VK_KANJI = 25;  VK_CONVERT = 28;  VK_NONCONVERT = 29;  VK_ACCEPT = 30;  VK_MODECHANGE = 31;  VK_ESCAPE = 27;  VK_SPACE = $20;  VK_PRIOR = 33;  VK_NEXT = 34;  VK_END = 35;  VK_HOME = 36;  VK_LEFT = 37;  VK_UP = 38;  VK_RIGHT = 39;  VK_DOWN = 40;  VK_SELECT = 41;  VK_PRINT = 42;  VK_EXECUTE = 43;  VK_SNAPSHOT = 44;  VK_INSERT = 45;  VK_DELETE = 46;  VK_HELP = 47;{ VK_0 thru VK_9 are the same as ASCII '0' thru '9' ($30 - $39) }{ VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' ($41 - $5A) }  VK_LWIN = 91;  VK_RWIN = 92;  VK_APPS = 93;  VK_NUMPAD0 = 96;  VK_NUMPAD1 = 97;  VK_NUMPAD2 = 98;  VK_NUMPAD3 = 99;  VK_NUMPAD4 = 100;  VK_NUMPAD5 = 101;  VK_NUMPAD6 = 102;  VK_NUMPAD7 = 103;  VK_NUMPAD8 = 104;  VK_NUMPAD9 = 105;  VK_MULTIPLY = 106;  VK_ADD = 107;  VK_SEPARATOR = 108;  VK_SUBTRACT = 109;  VK_DECIMAL = 110;  VK_DIVIDE = 111;  VK_F1 = 112;  VK_F2 = 113;  VK_F3 = 114;  VK_F4 = 115;  VK_F5 = 116;  VK_F6 = 117;  VK_F7 = 118;  VK_F8 = 119;  VK_F9 = 120;  VK_F10 = 121;  VK_F11 = 122;  VK_F12 = 123;  VK_F13 = 124;  VK_F14 = 125;  VK_F15 = 126;  VK_F16 = 127;  VK_F17 = 128;  VK_F18 = 129;  VK_F19 = 130;  VK_F20 = 131;  VK_F21 = 132;  VK_F22 = 133;  VK_F23 = 134;  VK_F24 = 135;  VK_NUMLOCK = 144;  VK_SCROLL = 145;{ VK_L & VK_R - left and right Alt, Ctrl and Shift virtual keys.  Used only as parameters to GetAsyncKeyState() and GetKeyState().  No other API or message will distinguish left and right keys in this way. }  VK_LSHIFT = 160;  VK_RSHIFT = 161;  VK_LCONTROL = 162;  VK_RCONTROL = 163;  VK_LMENU = 164;  VK_RMENU = 165;  VK_PROCESSKEY = 229;  VK_ATTN = 246;  VK_CRSEL = 247;  VK_EXSEL = 248;  VK_EREOF = 249;  VK_PLAY = 250;  VK_ZOOM = 251;  VK_NONAME = 252;  VK_PA1 = 253;  VK_OEM_CLEAR = 254;