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就可以,问题解决马上结贴,谢谢.
展开
5个回答
展开全部
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;
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;
展开全部
在keydown事件中写
procedure TForm1.edt1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
// ShowMessage(key.ToString); 按down弹出的是40
if Key = 40 then
ShowMessage('down');
end;
procedure TForm1.edt1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
// ShowMessage(key.ToString); 按down弹出的是40
if Key = 40 then
ShowMessage('down');
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接在TForm1.Edit1KeyDown事件中处理就行,下箭头键的Key=40(十进制)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
键盘上'dwon'是哪个,page down 是 34, 下箭头是40。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看专门讲消息拦截的教程版!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询