请问在DELPHI中对应四个方向键的键值是什么?CHAR型的,谢谢!

解决方案 »

  1.   

    vk_LButton = $01; 
    vk_RButton = $02;vk_Cancel = $03;vk_MButton = $04; { NOT contiguous with L & RBUTTON }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 not used by keyboards }vk_Insert = $2D;vk_Delete = $2E;vk_Help = $2F;vk_A thru vk_Z are the same as their ASCII equivalents: 'A' thru 'Z' }vk_0 thru vk_9 are the same as their ASCII equivalents: '0' thru '9' }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; 
     
     这是全部的!
      

  2.   

    但是我在procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
    begin
    if key=#25 then
    begin
    showmessage('');
    end;end;不行的,类型不符;
      

  3.   

    VK_LEFT = 37;
    VK_UP = 38;
    VK_RIGHT = 39;
    VK_DOWN = 40;
      

  4.   

    vk_Left = $25;vk_Up = $26;vk_Right = $27;vk_Down = $28;
    换成十进制后
    VK_LEFT = 37;
    VK_UP = 38;
    VK_RIGHT = 39;
    VK_DOWN = 40;procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
    begin
    if key=#37 then //左->键!
    begin
    showmessage('');
    end;end;
      

  5.   

    看来你只有用KeyDown事件了!
    此事件处理键位的范围要广!
    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
       if key=vk_Left then //左->键!
    begin
    showmessage('');
    end;
    end;
      

  6.   


    多谢了!先给分,顺便问一下:程序运行后按键焦点就移动到按钮上了,FORM的keypreview已经设置成true,其他按钮tabstop设置成了false,还是不行。
      

  7.   


     madyak(无天) :谢谢!已经可以了,用KEYDOWN。我已经给分了,但怎么没显示?另外, madyak(无天) ,不好意思,由于这个帖子只有20分,没有你的了,我不知道能不能修改分数。