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)】
查看全文
相关阅读:
Git命令与使用
Android与WebView的JS交互
Android 中关于硬件加速的使用和问题
Activity-生命周期和启动模式
Activity-恢复与保存状态或数据
Android中Paint的一些使用心得记录
Java中sleep,wait的区别
C#基本类型
LeetCode74 搜索二维矩阵
leetcode 43 字符串相乘 java
原文地址:https://www.cnblogs.com/xieyunc/p/9126611.html
最新文章
python中字符串方法总结
插入排序
选择排序
冒泡排序
常见的算法排序
(转)C#中属性PropertyInfo的使用,Dictionary转为Model实例
2018/5/2~2018/5/4
C#序列化实体成XML后多了一个问号
C#将DataSet隐式转换为DataTable
winform 点击全选
热门文章
C#将DataTable转换为List<>泛型集合
C# 将DataTable对象转换成XML字符串
转:C#中Application和Session
将DataGridView里面的数据导入到Excel中
2018/4/23~2018/4/28 周记
什么是Nginx?为什么使用Nginx?
nginx和tomcat的区别
设计模式之状态模块加观察者模式
设计模式之责任链模式
第十章 数组和指针
Copyright © 2011-2022 走看看