很好理解
type
TMessageHandler = class //使得回车消息转换成Tab消息
class procedure AppMessage(var Msg:TMsg;var Handled:Boolean);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
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;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage:=TMessageHandler.AppMessage;
end;

关于class produre的更多相关文章

  1. Hibernate批量处理海量数据的方法

    本文实例讲述了Hibernate批量处理海量数据的方法.分享给大家供大家参考,具体如下: Hibernate批量处理海量其实从性能上考虑,它是很不可取的,浪费了很大的内存.从它的机制上讲,Hibern ...

  2. ORACLE 包[转]

    包的作用: 包可以将任何出现在块声明的语句 ( 过程 , 函数 , 游标 , 游标 , 类型 , 变量 ) 放于包中 , 相当于一个容器 .使用包的好处不仅仅是程序的分组管理,还可以使用包中的程序重载 ...

  3. 公司需求知识自学-Oracle的Package的作用及用法

    Oracle的Package的作用 简化应用设计.提高应用性能.实现信息隐藏.子程序重载. 1.Oracle的Package除 了把存储过程放到一堆儿以外还有没有其他的作用(好处)? 你不觉得把存储过 ...

  4. IRP的同步

    应用层对设备的同步与异步操作 以WriteFile为例,一般的同步操作是调用WriteFile完成后,并不会返回,应用程序会在此处暂停,一直等到函数将数据写入文件中并正常返回,而异步操作则是调用Wri ...

  5. “只有DBA才能导入由其他DBA导出的文件”各种解决办法

    “只有DBA才能导入由其他DBA导出的文件”各种解决办法 当oracle导入的时候出现“只有 DBA 才能导入由其他 DBA 导出的文件”的时候通常有以下几种解决办法! 1:常见的是直接grant   ...

  6. SQL SERVER-邮件配置

    存储发邮件 USE msdb GO EXEC sp_send_dbmail @profile_name = 'mail_pro', @recipients='Jinwei.chang@quantacn ...

  7. Springboot调用Oracle存储过程的几种方式

    因工作需要将公司SSH项目改为Spingboot项目,将项目中部分需要调用存储过程的部分用entityManagerFactory.unwrap(SessionFactory.class).openS ...

随机推荐

  1. ORACLE提示表名无效

    在创建ORACLE数据库时,创建表 提示表名无效 请查看数据库表名是否出现了小写字母或者关键字,如USER

  2. 训练 の Bessie的体重问题

    Bessie的体重问题 题目描述 Bessie像她的诸多姊妹一样,因为从Farmer John的草地吃了太多美味的草而长出了太多的赘肉.所以FJ将她置于一个及其严格的节食计划之中.她每天不能吃多过H ...

  3. Fatal error: Call to undefined function mb_strlen()

    php配置的时候出现:Fatal error:  Call to undefined function mb_strlen() 表示php不能加载mbstring模块,在php 的配置文件php.in ...

  4. python3.6升级

    Ubuntu 14.04 and 16.04 If you are using Ubuntu 14.04 or 16.04, you can use Felix Krull's deadsnakes ...

  5. gcc/g++多版本切换 (ubuntu18.04)

    使用Ubuntu18.04已经有一段时间了,在使用过程中经常需要处理不同软件的编译工作,但是这时候就遇到这样一个问题,那就是不同软件,甚至是同一个软件的不同版本都会使用不同版本的gcc/g++来进行编 ...

  6. Django之静态文件配置

    在项目目录中打开settings.py,在最下面配置静态文件(css文件,js文件以及其他静态配置文件),比如说html使用到了jQuery框架,我们要在项目根目录下创建statics(可自定义),将 ...

  7. C++ 的简单输出输入 HDU 1089~1096

    A+B for Input-Output Practice (I) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...

  8. while与do/while循环

    while循环1.格式:初始化条件while(循环条件){循环体迭代条件}题目:100以内偶数的输出及其和(while语句) public class V{ public static void ma ...

  9. mongodb启动很慢

    故障现象mongodb重启后,等了几十分钟还一直没启动完成,单节点副本集,状态一直处于startup 原因分析查看mongod的错误日志,发现一直处于building index,但根据之前的经验,只 ...

  10. Android资源收集

    1 android studio最新版本下载地址:https://developer.android.google.cn/studio/preview/?utm_source=android-stud ...