我用getkeystate为什么不能通过编译啊?
有没有其他函数直接判断按键是否按下的?谢谢!

解决方案 »

  1.   

    不明白你要实现什么功能?在onKeyPress事件下写如下就可判断键是否按下,一般用来做输入的验证。
    if not (key in ['0'..'9','.',#8,#13]) then key:=#0;
      

  2.   

    使用控件的onkeydown onkeypress onkeyup 都可以捕捉按键的状态。
      

  3.   

    我是需要在一个mouseup中获取按键是否按下getkeystate(vk_lshift)的返回值是多少的时候表明shift被按下?
      

  4.   

    getkeystate(VK_SHIFT) ;
    这个函数在windows单元中。
      

  5.   

    procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);var i ,j,k:word;
    begin
    i := GetKeyState(VK_LSHIFT);
    j := GetKeyState(VK_RSHIFT);
    k := GetKeyState(VK_SHIFT);
    if (( i and $80)<>0) then
    begin
      showmessage('left shift key has down.');
    end
    else if (( j and $80)<>0) then
    begin
        showmessage('Right shift key has down.');
    end;if (( k and $80)<>0) then
    begin
        showmessage('shift key has down.');
    end;end;