delphi中 wm_KeyDown 消息怎么捕捉?

本人想Tedit控件中在接收数据时检测是否有'down'键,可是这个键没有对应ASCII码,不能按普通的onKeyPress或者onKeyDown这些mfc封装好的消息处... 本人想Tedit控件中在接收数据时检测是否有'down'键,可是这个键没有对应ASCII码,不能按普通的onKeyPress或者onKeyDown这些mfc封装好的消息处理函数处理,可是又不懂怎么直接去捕获wm_KeyDown这个消息,请以Form1(Form1:TForm1)和Edit1(Edit1:Tedit)为名写出模式,按了'down'键后的处理过程用ShowMessage就可以,问题解决马上结贴,谢谢. 展开
 我来答
矛盾距离
2011-11-05 · 超过16用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:38.7万
展开全部
procedure TForm1.edt1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=40 then
showmessage('hehe');
end;
down键的键值是40你可以通过下面的过程来获得任意一个键的键值;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
showmessage(inttostr(key));
end;
zhl_529
2017-10-25 · TA获得超过151个赞
知道小有建树答主
回答量:387
采纳率:72%
帮助的人:96.2万
展开全部
在keydown事件中写
procedure TForm1.edt1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
// ShowMessage(key.ToString); 按down弹出的是40
if Key = 40 then
ShowMessage('down');
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gk_wei
2011-11-05 · TA获得超过1730个赞
知道小有建树答主
回答量:371
采纳率:0%
帮助的人:443万
展开全部
直接在TForm1.Edit1KeyDown事件中处理就行,下箭头键的Key=40(十进制)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sxdtgsh
2011-11-05 · TA获得超过2221个赞
知道小有建树答主
回答量:913
采纳率:75%
帮助的人:807万
展开全部
键盘上'dwon'是哪个,page down 是 34, 下箭头是40。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dwjchdu
2011-11-05 · TA获得超过5914个赞
知道大有可为答主
回答量:4576
采纳率:60%
帮助的人:1111万
展开全部
看看专门讲消息拦截的教程版!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式