大家好,各位能否帮初学的我解决一个问题?

lyx19990623 2003-08-19 04:21:00
各位大侠:

我的问题可能对您来说太简单了,可是对于初学的我不知该如何解决?
我作了一个窗体,上面有许多edit1、2、3、4、5、等等,我把创建窗体的时候先激活第一个要求用户输入的edit,当用户输入完毕后我想用“回车Enter”的方式自动激活下一个要求输入的edit,我的问题是:1、我该用Onkeydown事件还是Onenter事件;2、该如何写(我用变化edit.taborder、edit.enabled的方式都不行)?
...全文
39 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyx19990623 2003-08-19
  • 打赏
  • 举报
回复
谢谢你
97866 2003-08-19
  • 打赏
  • 举报
回复
这样写下跳下一个对象跟对象的TabOrder的值有关,也就是跟你添加对象的顺序有关(不过你可以调整TabOrder顺序)。

if (ActiveControl is TEdit)and (Key=VK_DOWN) then //向下键下跳一个对象。
Perform(WM_NEXTDLGCTL,0,0);

if (ActiveControl is TEdit)and (Key=VK_UP) then //向上键上跳一个对象。
Perform(WM_NEXTDLGCTL,1,0);

ActiveControl is TEdit 表示当前获得焦点(激活)的控件是否是TEdit控件。

VK_Return 是Windows单元里面定义的常量。你可以在代码编辑器中按住Ctrl键 再用鼠标点VK_Return就可以看到各个键的常量值。

将光标移到Perform,按住F1键。帮助里有Perform的详细说明和例子。

KeyPreview属性设为True表示窗体响应Form上所有对象的KeyDown事件。
lyx19990623 2003-08-19
  • 打赏
  • 举报
回复
97866,您好:

(ActiveControl is TEdit)中的ActiveControl是form的属性吧,我打开选择时有好多edit,
而你写的是is tedit,不是选择和手写是一样的吗?区别是什么?
(Key=VK_Return) 中的VK_Return是什么意思呀?

Perform(WM_NEXTDLGCTL,0,0)是什么函数?具体意思能否告知?

将Form的KeyPreview属性设为True:设为true后是什么意思?

情不要怪问题太多,因为我初学,不懂,谢谢大侠
sduzjw 2003-08-19
  • 打赏
  • 举报
回复
h 上網上去搜,保證可以找到,充分利用網絡
lyx19990623 2003-08-19
  • 打赏
  • 举报
回复
97866,您好:

您是高手,能否说明一下具体的意思吗?谢谢谢谢
lyx19990623 2003-08-19
  • 打赏
  • 举报
回复
谢谢,我是初学者,没有计算机基础,不知该如何获取此类知识,能否介绍一下吗?各位热心的大侠
97866 2003-08-19
  • 打赏
  • 举报
回复
在Form的OnKeyDown里面写:
if (ActiveControl is TEdit)and (Key=VK_Return) then
Perform(WM_NEXTDLGCTL,0,0);
将Form的KeyPreview属性设为True;
santafeng 2003-08-19
  • 打赏
  • 举报
回复
key=#13 回车
lyx19990623 2003-08-19
  • 打赏
  • 举报
回复
cipherliu 您好:

用keydown事件和keypress一样吗?

if key=VK_return 中的VK是什么意思呀?
lyx19990623 2003-08-19
  • 打赏
  • 举报
回复
key=#13 是换行的标志对吗?
Cipherliu 2003-08-19
  • 打赏
  • 举报
回复
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_RETURN then
edit2.SetFocus;
end;

依些类推却可
hongqi162 2003-08-19
  • 打赏
  • 举报
回复
edit1.SetFocus;

onkeypress;
lyx19990623 2003-08-19
  • 打赏
  • 举报
回复
谢谢您,我先作一下,再问您好吗?
yhncom_36 2003-08-19
  • 打赏
  • 举报
回复
写onkeypress事件
if key=#13 then edit2.setfcous


其它同理!

5,388

社区成员

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

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