会员: 密码:  免费注册 | 忘记密码 | 会员登录 网页功能: 加入收藏 设为首页 网站搜索  
技术文档 > Delphi
如何实现应用程序中的”回车”成TAB
发表日期:2003-03-16 00:00:00作者:w 出处:  

也就是说当按Enter键的时候,产生的效果是按了Tab键.

下面是我经常使用的方法:

在你的数据模块中,添加如下代码:

interface

 。。。。。。

 type

  TMessageHandler = class   //使得回车消息转换成Tab消息

   class procedure AppMessage(var Msg:TMsg;var Handled:Boolean);

end;

implementation

class procedure TMessageHandler.AppMessage(var Msg: TMsg; var Handled: Boolean);

begin

 if Msg.message=WM_KEYDOWN then

  if (Msg.wParam=VK_RETURN ) and

   (

    (Screen.ActiveForm.ActiveControl is TEdit) or        

    (Screen.ActiveForm.ActiveControl is TComboBox) or

    (Screen.ActiveForm.ActiveControl is TCheckBox) or

    (Screen.ActiveForm.ActiveControl is TRadioButton)

       //可以添加需要的控件

   )

  then

  begin

   Msg.wParam:=VK_TAB;

  end

  else if (Msg.wParam=VK_RETURN) and

   (

    (Screen.ActiveForm.ActiveControl is TDBGrid)

   )

  then

  begin

   with Screen.ActiveForm.ActiveControl do

   begin

    if Selectedindex<(FieldCount-1) then

     Selectedindex:=Selectedindex+1{ 移动到下一字段}

    else

     Selectedindex:=0;

   end;

  end;

end;

为了使得整个应用程序都能够实现主要的功能,在主窗体的OnCreate事件中添加如下代码:

procedure TfmMain.FormCreate(Sender: TObject);

begin

  Application.OnMessage:=TMessageHandler.AppMessage;

end;

到此为止,你的应用程序已经实现了这个Enter->Tab的转换.

返回顶部】 【打印本页】 【关闭窗口

关于我们 / 给我留言 / 版权举报 / 意见建议 / 网站编程QQ群   
Copyright ©2003- 2024 Lihuasoft.net webmaster(at)lihuasoft.net 加载时间 0.00405