如何拦截在编辑状态下的DBedit 的回车事件(100分)

  • 主题发起人 主题发起人 wxws
  • 开始时间 开始时间
W

wxws

Unregistered / Unconfirmed
GUEST, unregistred user!
如果不在编辑状态下拦截能够成功,但是在编辑状态却拦截不了,
FORM的KEYPREView已经设置为TRUE了
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
memo1.Lines.Add(inttostr(ord(key)));
end;
不知道各位有没有碰上过,
 
补充,除控制键外都能拦截到。(enter,esc...)
 
用字段的FIELDCHANGED事件试试
 
可以呀!
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
key := #0;
end;
这样ENTER键就不能进入MEMO了!
 
我拦不到,我是用的DELPHI 6.0
按回车后直接进行更新POST操作了,
 
不行就用DBEDIT的ONKEYPRESS事件。
 
试过了,也没用。
 
你在FORM上是不是有DEFAULT=TRUE的BUTTON,如果有把DEFAULT设为FALSE
 
没有看明白你的意思,请详细一点,说说你拦截回车键的目的1
 
to:荷塘新月
我就是不想在按下回车后进行更新工作,我想让按回车后转到下一个EDIT中
 
没有问题啊?我的环境d6+d6pack1+win2k
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, Grids, DBGrids, DB, DBTables, ExtCtrls;

type
TForm1 = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBEdit1: TDBEdit;
DBNavigator1: TDBNavigator;
procedure DBEdit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin
key:=#0;
showmessage('ok');
end;
end;

end.
 
后退
顶部