键盘与鼠标(50分)

  • 主题发起人 主题发起人 lljyy
  • 开始时间 开始时间
L

lljyy

Unregistered / Unconfirmed
GUEST, unregistred user!
有1button,当焦点置其之上时,如何使按ENTER键与单击鼠标左键功能相同。
 
无需你编程,原本就如此。
 
本來就是,當button上有焦點時,按enter鍵與鼠标左键都將執行button的onclick事件。
 
如果焦点在其上,那么Enter自然就和鼠标左键的功能一样。
 
当焦点置button之上时,按ENTER键与单击鼠标左键都会触发OnClick事件
 
不用写任何代码就可以实现了
 
本来功能就相同,都触发OnClick事件
 
我把问题具体化以下:
一登陆窗体,上有LABEL两个(用户明,密码),EDIT两个(输入用户名,密码),
BUTTON两个(确定,取消)。我的意思是焦点从EDIT1(用户名),转移到EDIT2(密码)
再转移到BUTTON1(确定),如何按ENTER键与单击鼠标左键(进入主窗体)功能相同。
 
还是不太明白,不过要是想用Enter代替其他键,可以这样
在Form的KeyPress里
if Key=#13 then
begin
key:=#0;
  perform(WM_NEXTDLGCTL,0,0);
end;
 
你可以在Button1的OnClick事件中写上代码,不用管Button1上按Enter事件。
 
你可能要这个:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = chr(13) then edit2.SetFocus;
end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key = chr(13) then button1.SetFocus;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
form2.show;
end;
 
如果是想用enter来代替tab键就用[tomol]介绍的方法,
不过要先将Form的KeyPreview属性改成true
 
后退
顶部