当前位置:主页>Delphi教程>文章内容
如何实现应用程序中的”回车”成TAB?
来源: 作者: 发布时间:2007-04-29  
 如何实现应用程序中的”回车”成TAB?
也就是说当按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的转换.


 
上一篇:用XML做为数据存贮格式   下一篇:如何在启动机器时自动运行adsl拨号(1)
 
  相关文章
·用XML做为数据存贮格式
·如何在启动机器时自动运行adsl拨号(1
·用Ehlib二次开发报表打印程序,实现财
·如何在启动机器时自动运行adsl拨号(2
·组件开发方式
·也来谈谈数据库中的图象存取
·WinAPI编程关闭QQ登录窗体
·基本图象处理代码(2)
·一个很简单的加密算法
·音量调节及静音
·字幕图标控件
·给Delphi/C++Builder程序员:编写高质
 
【关闭窗口】
推荐本站资源
最新文章