怎样判断 Shift 键及 Caps Lock 被按下

woaiaxuan 2006-10-29 10:08:08
const
_keypressmask = $8000;
var
i:getkeystate($10);
begin
if ((i and _KeyPressMask)=_KeyPressMask) then

最下面的那句
(i and _KeyPressMask)=_KeyPressMask
是指 Shift 键被按下还是没有被按下?
还有_keypressmask = $8000;这句的作用是什么?
谁在的指点下啊

刚才在Delphi Windows SDK/API版发了一次.看到那个版块没多少人,就来这里又发了次.希望有人能帮忙解决~~
...全文
148 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
老之 2006-10-29
  • 打赏
  • 举报
回复
if ((i and _KeyPressMask)=_KeyPressMask) then 是按下Shift

$8000 转成二进制是1000000000000000, 最高位为1, and运算是判断i的最高为是否为1,如果是1就表示按下了。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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