在一个窗体中,有几十个dbedit,我回车时就切换到下一个dbedit。并在最后一个dbedit上按回车时切换到下一条记录。
我的代码如下:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Perform(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TForm1.DBedit23KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
datamodule1.ADOQuery.Next;
if datamodule1.ADOQuery.Eof then
showmessage('已经是最后一条记录了!');
end;
end;
这样总是咚咚地响,怎么才能不响呀?
如果我在窗体的FormKeyPress事件中加入key:=#0; 就不响了,可是就切换不到下一条记录了。
如何既不响又能切换到下一条记录呀?
我的代码如下:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Perform(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TForm1.DBedit23KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
datamodule1.ADOQuery.Next;
if datamodule1.ADOQuery.Eof then
showmessage('已经是最后一条记录了!');
end;
end;
这样总是咚咚地响,怎么才能不响呀?
如果我在窗体的FormKeyPress事件中加入key:=#0; 就不响了,可是就切换不到下一条记录了。
如何既不响又能切换到下一条记录呀?
解决方案 »
- 救命,接到一个二维码项目,事关生死存亡,求大家高抬贵手帮帮小弟
- 级别不够,不然我就给300了,分多的用不完。附dxDBTreeView的问题一个。
- 请教(数据库中的图片问题)
- 有使用Delphi的程序员吗?每天都可以在线的!!大家联系一下。
- 怎么写这个句子
- 怎么刷新IWDbgrid???
- 两个地方下载的fastreport都提示fr_class.duc找不到,请问在哪里能载到没有问题的??
- 为何两个Unit可以在implementation处相互引用?不是说不行的吗?
- 急急急!请赐教
- 什么样给分?
- dll窗体消息问题--------------在线等???
- 不知道CodeGear对Kylix有什么打算吗?
{ if Key = #13 then
begin
datamodule1.ADOQuery.Next;
if datamodule1.ADOQuery.Eof then
showmessage('已经是最后一条记录了!');
end;}
if Key = #13 then
begin
datamodule1.ADOQuery.Post;
if datamodule1.ADOQuery.Eof then //先判断是不是最后一条记录
begin
showmessage('已经是最后一条记录了!');
Abort;
end;
datamodule1.ADOQuery.Next;
end;
你捕捉消息进行处理也可以
begin
with atamodule1.ADOQuery do
if Eof then
ShowMessage('已经是最后一条记录了!');
else
Next;
end;