如何编程实现用enter键代替tab键(30分)

  • 主题发起人 主题发起人 ytht
  • 开始时间 开始时间
Y

ytht

Unregistered / Unconfirmed
GUEST, unregistred user!
我已经用了perform函数,但是每个控件当接受enter键时都需要调用,要在每个控件的事件上写程序。有没有什么办法可以只写在一个地方,自动发出消息,使焦点自动跳转?
 
Form的KeyPreview属性为True

Form的OnKeyPress中

Begin
if Key=#13 then
Begin
Key:=#0;
SelectNext(ActiveControl,True,True);
End;
End;
 
本来以为来晚一步,不过,哈哈
事先要把 Form 的 KeyPreview属性为True

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
If Key=#13 then
Begin
key:=#0
Perform(WM_NEXTDLGCTL,0,0);
End;
end;
还有……
 
只要在一个控件的OnKeyPress事件中写下以下代码:
Begin
if Key = #13 then
SelectNext(ActiveControl,True,True);
end;
再将其它控件的OnKeyPress事件指向该控件的OnKeyPress事件就行了,不要告诉我
你不会选?选择其它控件,选择OnKeyPress事件,此时有个下拉列表,选择你写过代码
的那个控件的OnKeyPress事件.
 
大家都讲了,我也只好看一看
 
基本如此
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
839
DelphiTeacher的专栏
D
D
回复
0
查看
844
DelphiTeacher的专栏
D
D
回复
0
查看
679
DelphiTeacher的专栏
D
后退
顶部