在一个窗体中,有几十个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; 就不响了,可是就切换不到下一条记录了。
如何既不响又能切换到下一条记录呀?
解决方案 »
- 用QR制表如何显示表名或自定义的标题?
- 求思路:在执行远程SQL时给个提示框,框上可以获得焦点(难在此处),按[取消]就取消SQL的执行。
- Delphi6编译时奇怪的问题,不知大家碰没碰到过?
- 进销存软件中库存物料的数量问题?
- 我建立了一个Delphi控件制作的群,如果有兴趣可以加入进来(有空请顺手UP一下,谢过)
- 快速生成报表控件,供开源代码,大家拿去改吧,我写的,比较实用。
- 我相用Showmessage看出表Q1内的字段CODE(char 6)的所有值.
- 怎樣對一個查詢得到的結果再進行操作﹐如對查詢結果集的某個字段值求累計和﹖
- 有关实时曲线的绘制问题,请高手指教!!!!急!!!!!
- 请问那里可以找到Rx控件 for D6的呢?
- 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;