20 个解决方案
#1
onKeyPress事件:
if Key=#13 then
Edit2.SetFocus;
if Key=#13 then
Edit2.SetFocus;
#2
同上。建议去了解一下键盘的各个事件,还有鼠标事件,这样以后就不会再有这种问题了
#3
From 的KeyPreview 设置为True
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key=Char(13) then
Perform(WM_NEXTDLGCTL,0,0)
end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key=Char(13) then
Perform(WM_NEXTDLGCTL,0,0)
end;
#4
注意个控件的Taborder的值,这个就是控制顺序的!
#5
Edit2.SetFocus
不过我用了XPMENU后,一用这个就出错,不明白。。。。
不过我用了XPMENU后,一用这个就出错,不明白。。。。
#6
if key=vk_return then
begin
key:=vk_tab;
selectnext(activecontrol,true,true);
end;
begin
key:=vk_tab;
selectnext(activecontrol,true,true);
end;
#7
忘了是FormKeyDown事件
#8
wozhuchuanwei(四库全输)
的好,
单个就用
onKeyPress事件:
if Key=#13 then
Edit2.SetFocus;
的好,
单个就用
onKeyPress事件:
if Key=#13 then
Edit2.SetFocus;
#9
建议KEYUP事件
#10
if Key=#13 then
Edit2.SetFocus;
我一直在用
Edit2.SetFocus;
我一直在用
#11
From 的KeyPreview 设置为True
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key=Char(13) then
Perform(WM_NEXTDLGCTL,0,0)
end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key=Char(13) then
Perform(WM_NEXTDLGCTL,0,0)
end;
#12
if Key=#13 then
key := #0;//加上这句,要不有响声
Edit2.SetFocus;
key := #0;//加上这句,要不有响声
Edit2.SetFocus;
#13
if Key=#13 then
Edit2.SetFocus;
Edit2.SetFocus;
#14
ding
#15
procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
Edit1.SetFocus;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
Edit1.SetFocus;
end;
Shift: TShiftState);
begin
if key=13 then
Edit1.SetFocus;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
Edit1.SetFocus;
end;
#16
把一个窗体的KeyPreview的属性设为true,并且在窗体中把要按顺序移动的控件的TabOrder的属性分别设为0,1,2....等等。
然后在这个窗体的OnKeyPress事件中写入如下代码:
begin
if Key = #$1b then
begin
form1.Close;
end;
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
end;
end;
该代码的意思为:
当按下ESC键时,关闭该窗体,当按下回车键时,移动到下一个控件.
然后在这个窗体的OnKeyPress事件中写入如下代码:
begin
if Key = #$1b then
begin
form1.Close;
end;
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
end;
end;
该代码的意思为:
当按下ESC键时,关闭该窗体,当按下回车键时,移动到下一个控件.
#17
if Key=Char(13) then
Perform(WM_NEXTDLGCTL,0,0)
Perform(WM_NEXTDLGCTL,0,0)
#18
窗体的KeyPreview的属性设为true,并且在窗体中把要按顺序移动的控件的TabOrder的属性分别设为0,1,2....等等。
然后在这个窗体的OnKeyPress事件中写入如下代码:
begin
if Key = #$1b then
begin
form1.Close;
end;
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
end;
end;
然后在这个窗体的OnKeyPress事件中写入如下代码:
begin
if Key = #$1b then
begin
form1.Close;
end;
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
end;
end;
#19
能說的上面各位都說了
#20
呵呵,xp风格的很多控件都失去了canfocus的权利,所以已经不能setfocus了
#21
#1
onKeyPress事件:
if Key=#13 then
Edit2.SetFocus;
if Key=#13 then
Edit2.SetFocus;
#2
同上。建议去了解一下键盘的各个事件,还有鼠标事件,这样以后就不会再有这种问题了
#3
From 的KeyPreview 设置为True
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key=Char(13) then
Perform(WM_NEXTDLGCTL,0,0)
end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key=Char(13) then
Perform(WM_NEXTDLGCTL,0,0)
end;
#4
注意个控件的Taborder的值,这个就是控制顺序的!
#5
Edit2.SetFocus
不过我用了XPMENU后,一用这个就出错,不明白。。。。
不过我用了XPMENU后,一用这个就出错,不明白。。。。
#6
if key=vk_return then
begin
key:=vk_tab;
selectnext(activecontrol,true,true);
end;
begin
key:=vk_tab;
selectnext(activecontrol,true,true);
end;
#7
忘了是FormKeyDown事件
#8
wozhuchuanwei(四库全输)
的好,
单个就用
onKeyPress事件:
if Key=#13 then
Edit2.SetFocus;
的好,
单个就用
onKeyPress事件:
if Key=#13 then
Edit2.SetFocus;
#9
建议KEYUP事件
#10
if Key=#13 then
Edit2.SetFocus;
我一直在用
Edit2.SetFocus;
我一直在用
#11
From 的KeyPreview 设置为True
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key=Char(13) then
Perform(WM_NEXTDLGCTL,0,0)
end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key=Char(13) then
Perform(WM_NEXTDLGCTL,0,0)
end;
#12
if Key=#13 then
key := #0;//加上这句,要不有响声
Edit2.SetFocus;
key := #0;//加上这句,要不有响声
Edit2.SetFocus;
#13
if Key=#13 then
Edit2.SetFocus;
Edit2.SetFocus;
#14
ding
#15
procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
Edit1.SetFocus;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
Edit1.SetFocus;
end;
Shift: TShiftState);
begin
if key=13 then
Edit1.SetFocus;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
Edit1.SetFocus;
end;
#16
把一个窗体的KeyPreview的属性设为true,并且在窗体中把要按顺序移动的控件的TabOrder的属性分别设为0,1,2....等等。
然后在这个窗体的OnKeyPress事件中写入如下代码:
begin
if Key = #$1b then
begin
form1.Close;
end;
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
end;
end;
该代码的意思为:
当按下ESC键时,关闭该窗体,当按下回车键时,移动到下一个控件.
然后在这个窗体的OnKeyPress事件中写入如下代码:
begin
if Key = #$1b then
begin
form1.Close;
end;
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
end;
end;
该代码的意思为:
当按下ESC键时,关闭该窗体,当按下回车键时,移动到下一个控件.
#17
if Key=Char(13) then
Perform(WM_NEXTDLGCTL,0,0)
Perform(WM_NEXTDLGCTL,0,0)
#18
窗体的KeyPreview的属性设为true,并且在窗体中把要按顺序移动的控件的TabOrder的属性分别设为0,1,2....等等。
然后在这个窗体的OnKeyPress事件中写入如下代码:
begin
if Key = #$1b then
begin
form1.Close;
end;
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
end;
end;
然后在这个窗体的OnKeyPress事件中写入如下代码:
begin
if Key = #$1b then
begin
form1.Close;
end;
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
end;
end;
#19
能說的上面各位都說了
#20
呵呵,xp风格的很多控件都失去了canfocus的权利,所以已经不能setfocus了