怎樣在控件上使用enter代替tab

richardwong 2002-08-23 11:24:48
請教!
...全文
32 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
fwwxxjingling 2002-08-23
  • 打赏
  • 举报
回复
/*****************************************
在keypress事件中
if key=#13 then
你想设置为焦点的组件.setfocus;
/**************************************
fbt118 2002-08-23
  • 打赏
  • 举报
回复
Win200不可以有.

98下可以用keypass事件
lining_1977 2002-08-23
  • 打赏
  • 举报
回复
同意楼上的
ilang 2002-08-23
  • 打赏
  • 举报
回复
设置窗体的KeyPreview属性为True
在窗体的OnKeyPress事件中添加

if Key = #13 then
begin
if not (ActiveControl is TDBMemo) then
begin
Key := #0;
Perform(WM_NextDLGCTL, 0, 0);
end;
end;
simonzone 2002-08-23
  • 打赏
  • 举报
回复
要用回车键代替TAB键下移一个控件时,把KeyPress设为True,加入下列代码拦截击键:
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;
richardwong 2002-08-23
  • 打赏
  • 举报
回复
ilang(中雨) 的方法比較周全,win2

win2000下也行嗎?

benesoft 2002-08-23
  • 打赏
  • 举报
回复
ilang(中雨)的方法行。
另一种更为简单的:
SelectNext()
用法及参数见帮助。
是Twincontrol的方法。
用时可为
设置窗体的KeyPreview属性为True
在窗体的OnKeyPress事件中添加

if Key = #13 then
begin
Key := #0;self.SelectNext(...)
self.SelectNext(...)
end;

jyqkr 2002-08-23
  • 打赏
  • 举报
回复
在keypress事件中
if key=#13 then
key=#9

richardwong 2002-08-23
  • 打赏
  • 举报
回复
我想要的是能夠寫在自定義組建或form對象中的通用方法,這樣也編程中能
省很多時間.
第一种方法比較好,在win2000下不能用嗎????
還有沒有更好的方法?
望不吝賜教!
花雪飞 2002-08-23
  • 打赏
  • 举报
回复
同意fwjingling(蓝精灵) 的方法,
简单易行!!
我自己也是这样做的

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧