怎样编写输完数据时自动换行的程序及相关设置!!!(100分)(100分)

J

jin1113

Unregistered / Unconfirmed
GUEST, unregistred user!
我想做一个数据库
在输入数据窗口,在一个edit(dbedit)输入完数据
1.按回车键(enter)后自动跳入下一个edit(dbedit)
2.在定长的edit(dbedit),例如为字符型为10,输完10个字符
后自动跳入下一个edit.
拜托各位了!!

 
看看这个http://www.delphibbs.com/delphibbs/dispq.asp?lid=1437656
回车是#13;
//2.在定长的edit(dbedit),例如为字符型为10,输完10个字符
x:widestring;
y:integer;
X:=edit.text;
……
y:=length(X);
if y>10 then……
 
///edit1 的 Onchange:

procedure TForm1.Edit1Change(Sender: TObject);
var x:tEdit;
begin
x:=tedit(sender);
if (x.maxlength=x.selstart) and (x.sellength<=1)
and (length(trim(x.text))=x.MaxLength )
then
postmessage(x.handle ,WM_KEYDOWN,VK_TAB,0)
end;


/// Edit1的 Onkeyup
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
x:TEdit;
begin
x:=TEdit(Sender);
if key=13 then
begin
postmessage(x.Handle ,WM_KEYDOWN,VK_TAB,0);
key:=0;
end;
end;

在 form 的 onCreate 中如下设置:

edit2.OnChange:=Edit1Change;
edit3.OnChange:=Edit1Change;
...........
edit2.OnKeyUp:=Edit1KeyUp;
edit3.OnKeyUp:=Edit1KeyUp;
.........
 

postmessage(x.Handle ,WM_KEYDOWN,VK_TAB,0);
可改为
selectNext(TEdit(sender),true,true);
 
多人接受答案了。
 
顶部