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

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

谢谢!
...全文
211 7 打赏 收藏 举报
写回复
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单元中。
相关推荐
发帖
Windows SDK/API

1177

社区成员

Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
帖子事件
创建了帖子
2004-11-08 12:16
社区公告
暂无公告