首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi上下键切换焦点,该如何处理

2012-03-15 
delphi上下键切换焦点请教各位大侠:Delphi中用上下键或回车键切换输入框:在edit1的OnkeyPress事件里:if (k

delphi上下键切换焦点
请教各位大侠:
Delphi中用上下键或回车键切换输入框:
在edit1的OnkeyPress事件里:
  if (key in[#13,#38]) then
  begin
  edit2.SetFocus ;
  end;
为什么按回车键可以,而上键不可以?

=!!!!

[解决办法]
好象是Edit1响应不了
KeyPress,form可以
[解决办法]

Delphi(Pascal) code
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;  Shift: TShiftState);begin  if Key in [38,40] then  Edit2.SetFocus;end;
[解决办法]
Delphi(Pascal) code
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);begin  if Key=#13 then    self.Edit2.SetFocus;end;procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;  Shift: TShiftState);begin  if Key=40 then    self.Edit2.SetFocus;end;
[解决办法]
用FormKeyDown可以,设Form的KeyPreview为true
我一直用的程序:
上/下键进入上/下控件,回车进入下一个,ESC关闭Form
Delphi(Pascal) code
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;  Shift: TShiftState);begin   case  key of       vk_down,vk_up:if activecontrol.tag=0 then                 selectnext(activecontrol,key=vk_down,true);       13: if activecontrol.tag=0 then                 selectnext(activecontrol,true,true);       27:close;    end;end; 

热点排行