初学菜鸟关于键盘响应问题~~100分~~~~

hudingchen 2006-01-14 10:47:47
我想用户在窗体form1中单击回车键时激发form1中的button1事件~~代码怎么写???????
...全文
175 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
china618 2006-01-18
  • 打赏
  • 举报
回复
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 13 then
Button1.Click;
end;
imisu 2006-01-18
  • 打赏
  • 举报
回复
KeyDown事件里面:
if key = #13 then
begin
//button的响应
end;

如果在form没激活的状态也要响应这个时间
你就看看键盘钩子
柯本 2006-01-14
  • 打赏
  • 举报
回复
如果Form上有其它的可聚焦控件(如其它的button)且button1的tableorder不为0的话(第一个聚焦控件)上面的代码不可用.因为回车先会被其它控件截获而不会触发FormKeyDown
我不知楼主的目的是什么,如果你将button1的tableorder设为最前(或button1.Setfocus),那你在form上按回车就会执行Button1.click
小疙瘩 2006-01-14
  • 打赏
  • 举报
回复
form1.KeyPreview := true;


procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = VK_RETURN then
button1.Click;
end;
gerrylc 2006-01-14
  • 打赏
  • 举报
回复
button1.default:=true
zhangl_cn 2006-01-14
  • 打赏
  • 举报
回复
最简单的方法,tbutton1.default:=true;
类似,相应esc键,设置button1.cancel:=true;

/////////////////

用这个可以
NightCloud 2006-01-14
  • 打赏
  • 举报
回复
最简单的方法,tbutton1.default:=true;
类似,相应esc键,设置button1.cancel:=true;
rlqiang 2006-01-14
  • 打赏
  • 举报
回复
Form1 的 ActionControl 属性设为 Button1
窗体默认聚焦到 Button1
楼上说的对,如果还有其他可聚焦控件,并且焦点已在该控件上,回车后就执行该控件事件了。
如果有特殊需要,可以对所有可聚焦控件的KeyDown下写入:
if key = #13 then key = 0;
(当然,不一定要手工全部写入,可以用循环判断,然后处理)

5,928

社区成员

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

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