请问:如何获取按键是否按下?

radeonse 2004-11-08 12:16:02
我用getkeystate为什么不能通过编译啊?
有没有其他函数直接判断按键是否按下的?

谢谢!
...全文
244 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
radeonse 2004-11-08
  • 打赏
  • 举报
回复
我是需要在一个mouseup中获取按键是否按下

getkeystate(vk_lshift)的返回值是多少的时候表明shift被按下?
hotboy1000 2004-11-08
  • 打赏
  • 举报
回复
使用控件的onkeydown onkeypress onkeyup 都可以捕捉按键的状态。
fivehun 2004-11-08
  • 打赏
  • 举报
回复
不明白你要实现什么功能?在onKeyPress事件下写如下就可判断键是否按下,一般用来做输入的验证。
if not (key in ['0'..'9','.',#8,#13]) then key:=#0;
ypyRock 2004-11-08
  • 打赏
  • 举报
回复
报什么错误?可能是你函数没有声明
beyondtkl 2004-11-08
  • 打赏
  • 举报
回复
怎么可能不能编译。。。
fbysss 2004-11-08
  • 打赏
  • 举报
回复
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;
fbysss 2004-11-08
  • 打赏
  • 举报
回复
getkeystate(VK_SHIFT) ;
这个函数在windows单元中。

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧