网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Delphi
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.如何使用Delphi设计强大的服务器.
.Command模式.
.delphi中的时间操作技术(2).
.用Delphi5.0实现注册表监视.
.Delphi数据压缩处理(2).
.远程控制篇:服务端程序关机时的.
.delphi8里在VCL.net使用Ado.net.
.如何在Delphi中实现ASP编程.
.Delphi图象截取编程示例(8).
.利用INI文件实现界面无闪烁多语言.
.TManagedDataSet和DataSetPool的.
.Delphi的TWebBrowser编程综述.
.快速导出数据到Excel(一):利用.
.用Delphi编写VxD设备驱动程序.
.取得自从开机到现在CPU运行的周期.
.Delphi例程-应用程序级信息.
.delphi多线程程序示例(与.net一样.
.用DELPHI开发自动化服器.
.Borland与Microsoft关于Delphi的.
.Deiphi编译优化导致的死循环.

如何实现应用程序中的”回车”成TAB?

发表日期:2006-2-4


 如何实现应用程序中的”回车”成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做为数据存贮格式 人气:3808
下一篇:如何在启动机器时自动运行adsl拨号(1) 人气:4584
浏览全部Delphi的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐