设置窗体的KeyPreview属性为True
在窗体的OnKeyPress事件中添加 if Key = #13 then
begin
if not (ActiveControl is TDBMemo) then
begin
Key := #0;
Perform(WM_NextDLGCTL, 0, 0);
end;
end;
在窗体的OnKeyPress事件中添加 if Key = #13 then
begin
if not (ActiveControl is TDBMemo) then
begin
Key := #0;
Perform(WM_NextDLGCTL, 0, 0);
end;
end;
在keypress事件中
if key=#13 then
你想设置为焦点的组件.setfocus;
/**************************************
简单易行!!
我自己也是这样做的
省很多時間.
第一种方法比較好,在win2000下不能用嗎????
還有沒有更好的方法?
望不吝賜教!
if key=#13 then
key=#9
另一种更为简单的:
SelectNext()
用法及参数见帮助。
是Twincontrol的方法。
用时可为
设置窗体的KeyPreview属性为True
在窗体的OnKeyPress事件中添加 if Key = #13 then
begin
Key := #0;self.SelectNext(...)
self.SelectNext(...)
end;
Procedure TForm1.FormKeyPress(Sender:Tobject;Var Key:Char);
Begin
if key=#13 then { 判断是按执行键}
if not (ActiveControl is TDbgrid) Then
Begin { 不是在TDbgrid控件内}
key:=#0;
perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
end else
if (ActiveControl is TDbgrid) Then{是在 TDbgrid 控件内}
begin
With TDbgrid(ActiveControl) Do
if Selectedindex<(FieldCount-1) then
Selectedindex:=Selectedindex+1{ 移动到下一字段}
else Selectedindex:=0;
end;
End;