简单问题:按下键盘上的enter键时触发事件(20分)

  • 主题发起人 主题发起人 funny_0415
  • 开始时间 开始时间
F

funny_0415

Unregistered / Unconfirmed
GUEST, unregistred user!
有没有哪位好心人帮忙提供一下源代码 :
在一个edit控件输入完后按enter键,自动跳到下一个edit控件

在一个edit控件输入完后按enter键,自动跳到下一个button控件
 
简单一点的
判断按键是否为回车键
if key=#13 then 下一个edit获得焦点
论坛中这类问题很多,可搜索的
 
谢谢,我搜索看看
 
为什么我总是不能做全文检索,总是显示“Service Unavailable”
 
if Key=#13 then SelectNext(ActiveControl,true,true)
 
例:有两个控件edit1,edit2如果在edit1中按enter键进入edit2
的话,只需在edit1.onkeydown中加入
if key=13 then
begin
key=0;
edit2.setfocus;
end;

OK!



2.
把 form 的 keyPreview:=true,
FORM 的 FormKeyPress 的代码如下:
……

if (Sender is Tform) then
if key=#13 then
begin
SendMessage(Self.Handle, WM_NEXTDLGCTL, 0, 0);
Key := #0;
end;

这样不用在每一编辑框的OnKeyDown事件写代码,
在FORM的 FormKeyPress写一次即可。
如希望好象ComboBox等控件在下拉列表激活时 Enter 键照样有
作用,则要加一些判断,如下:

if (Sender is Tform) then
if not((ActiveControl is TDBlookupComBOBOX)and
(TDBlookupComBOBOX(activecontrol).ListVisible))then
if key=#13 then
begin
SendMessage(Self.Handle, WM_NEXTDLGCTL, 0, 0);
Key := #0;
end;

我的程序就是这样用的。
 
补充
先把窗口 KEYPREVIEW 设为 TRUE
 
谢谢u9085,网中戏
我试试
 
dfw里面就这个代码怕是最多了,你居然找不到
 
多人接受答案了。
 
后退
顶部