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)】
查看全文
相关阅读:
verilog学习(9)实战之存储器&奇偶校验
求职经验之综合岗位三面
求职经验之综合岗位二面
求职经验之综合岗位
verilog学习(8)实战之PPL与串行/解串器
verilog学习(7)实战之扫描链
verilog学习(6)实战4之触发器与锁存器
verilog学习(5)实战3之计数器与bus
verilog学习(4)实战1之基础练习
求职经验之器件与芯片岗
原文地址:https://www.cnblogs.com/xieyunc/p/2793625.html
最新文章
在centos6.6中mysql5.5的编译、安装、配置
mysql主从复制与读写分离
mysql编译参数详解
[教程]centos卸载、安装mysql(源码编译安装方式)
linux下nagios的安装与配置
mysql主从复制与读写分离
〖Python〗-- socket + select 实现构建异步非阻塞模块
〖Demo〗-- 基于RabbitMQ rpc实现的主机管理
〖Python〗-- 爬虫Scrapy框架
〖Python〗-- 性能相关及深度优先与广度优先
热门文章
〖Python〗-- 爬虫基础
〖Python〗-- Django内置Admin
〖Python〗-- RabbitMQ消息队列
〖Demo〗-- 多级评论
〖Demo〗-- IO多路复用版FTP
〖Python〗-- NumPy模块
offline或是online表空间和数据文件
vmware网络配置
oracle asm初步(1)
Linux下安装裸设备
Copyright © 2011-2022 走看看