zoukankan
html css js c++ java
古老话题:如何实现应用程序中的”回车”成TAB?
如何实现应用程序中的”回车”成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的转换.
谢祥选【小宇飞刀(xieyunc)】
查看全文
相关阅读:
JDBC访问数据库的基本步骤是什么?
Java 为每个原始类型提供了哪些包装类型:
JDBC访问数据库的基本步骤是什么?
String 类的常用方法都有那些?
面向对象三大特性
三个与取整有关的方法:
==和equals方法究竟有什么区别?
&和&&的区别?
说一说Servlet的生命周期
spring框架学习
原文地址:https://www.cnblogs.com/xieyunc/p/9126611.html
最新文章
举例说明同步和异步。
测试-管理系统-WMS-TMS-CMS-WCS
测试流程
菜鸟学自动化测试(三)—-selenium 命令
菜鸟学自动化测试(二)—-selenium IDE 功能扩展
菜鸟学自动化测试(一)—-selenium IDE
Javaweb前台界面代码复用总结
SQL注入
如何在git中恢复先前的提交?
提供一些您使用过的重要Struts2常量?
热门文章
MyBatis体系结构中的几个关键部分
什么是 MyBatis?
git pull 和git fetch的区别
webpack和gulp的比较
如何定位CPU瓶颈?
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
是否可以从一个static方法内部发出对非static方法的调用?
如何定位CPU瓶颈?
自动装箱与拆箱
execute,executeQuery,executeUpdate的区别是什么?
Copyright © 2011-2022 走看看