需求

一个项目,在安卓下使用Grid对数据的处理更为直观与方便,所以选择了StringGrid,起初绑定数据,设置数据内容的增、删、保存等非常方便,不用一行代码搞定。问题出在1、怎么让某个单元格输入完成后可以确认输入后(或说自动)跳转到下一个单元格,因为每次去点击单元格都感觉不很方便;2、各单元格所在列,有字符、有数字,怎么样让虚拟键盘出来后可以是对应的默认状态,每次去切换也不是很人性化的。

解决方法

点击键盘确认键自动到下一个单元格

StringGrid有一个属性“Model”,在属性框里看不到的,所以需要使用代码的方式去设置。在窗体初始化时,如创建过程增加下面一行代码:

StringGrid1.Model.CellReturnAction:=TCellReturnAction.GotoNextColumn;

TCellReturnAction对应三个选择项:(None, GotoNextRow, GotoNextColumn),根据项目需要选择对应的跳转就可以了。默认情况下是None,不会跳转的。

如果单元格是数字型的,虚拟键盘自动弹出数字输入模式

因为使用的是数据绑定方式,默认情况下并没有去选择对应列的数据类型,如下图红框。通常自动时为默认选项,

其中类型TCurrencyColumn、TFloatColumn或TIntegerColumn都是继承于TCustomNumberColumn,所以,当选择这三个中的其中一个时,虚拟键盘会自动转换为数字输入模式。三种类型在显示与输入上有不同限制,需要根据不同情况去选择合适的使用。
如果不是绑定数据方式,在设置StringGrid各列是,选择对应的列类型也是可以的。

过程是辛苦的

最初在网上没有找到资料,官网对控件属性与方法的描述也不全面,Delphi好就好在可以看系统处理源码,再一点一点去跟踪与分析。
之前尝试过在KeyUp事件中判断Key = vkReturn的方式去通过代码处理的,失败了。查资料没有,没办法只能一点一点试,一点一点看系统代码。

测试环境:10.3.2,其他版本没试过。

Delphi D10 StringGrid安卓下虚拟键盘的使用相关推荐

  1. Delphi D10.X安卓APP开发让原生Toast显示图片

    上次完成了<Delphi D10.X安卓APP开发中简单使用原生Toast>,可以快速方便的使用Toast,并且可以自定义显示位置.在此基础上,今天我们来实现在Toast中显示图片的方式. ...

  2. unity ugui android 小键盘,Unity inputfield 实现显示 隐藏密码功能(在安卓中切换不打开下虚拟键盘)...

    乍一看实现这个功能很简单,不就是切换一个inputfield的输入类型,将其换做password就可以了嘛. public void ToggleClick(bool isShow) { input. ...

  3. Delphi D10.X安卓APP开发中获取硬件信息及手机号

    Demo与代码已上传到CSDN下载. 这里简单说一下代码内容,完整代码请自行下载,不清楚的欢迎留言交流. 前言 演示Demo使用了我自己开发的一个控件,TLayoutPro <Delphi D1 ...

  4. Windows下虚拟键盘鼠标(USB中文网)

    最近整理了一下代码,完全自主研发. 功能比较简单,就是在Windows操作系统下虚拟一个标准的键盘和鼠标. 键盘的按键可以通过应用软件下发对应的报告内容,再由虚拟的键盘转成系统的标准键盘消息,这样相当 ...

  5. 【Delphi】Windows系统下的键盘钩子

    目的:为了实现得力牌扫码枪的输入,并执行特定功能. 场景描述:此款扫码枪模拟键盘信号,并支持以回车.换行等结尾,这里采用回车结尾进行开发. 思路:使用Windows的钩子回调函数,这里模拟键盘信号所以 ...

  6. PySide2使用屏幕虚拟键盘

    1.屏幕虚拟键盘 创建文件virtualkeyboard.py import sys, os from PySide2.QtWidgets import QApplication, QLineEdit ...

  7. 安卓虚拟键盘_安卓这些年变化多惊人?那些老玩家才懂的回忆

    1安卓曾经的界面你记得吗回顶部 [PConline杂谈]新一代安卓系统很快就要正式和大家见面了,目前安卓10的前身安卓Q已经向Pixel设备推送了测试版,而安卓Q之中的"Q"到底会 ...

  8. 微信开发安卓虚拟键盘挡住输入框的问题

    再更一次2016/4/20 10:23 今早还看到 有朋友在"微信里面的浏览器在 s7 edge 上 键盘覆盖网页上表单 ,表单不会自动向上移动,导致无法看着输 "今早在腾讯浏览器 ...

  9. matlab edittext 回车,安卓中的虚拟键盘实现,KeyEvent的事件分发、处理机制。EditText是如何将KeyEvent事件转为字符输入的?...

    目录 一.实现一个可以模拟输入的软键盘 一开始,我们的需求是在用户经常使用的部分界面中,增加虚拟软键盘,减少用户对于外接键盘的依赖 如图,在整单改价界面右侧增加了方便用户快捷输入的软键盘,用户不需要使 ...

最新文章

  1. 一个程序员是怎么被逼疯的?
  2. EasyTable2.1 功能更加强大,bug全面修复的html table插件!
  3. python代码质量检查工具_python代码检查工具pylint 让你的python更规范
  4. 一台机器上同时部署多个tomcat服务
  5. 时间轴 纵向_高考最新硬货!高中历史时间轴(文字版)高能来袭,背会就能多拿分!...
  6. Mybatis 别名机制,自动扫描 数据的增删改
  7. jax-ws 实现webservice
  8. iwconfig使用
  9. 确定性知识表示法--规则(产生式)表示法
  10. 【DBSDFZOJ 4370】小宁的机器人(模拟)
  11. CentOS7下安装和开启远程连接reids
  12. 2022年 《三国演义》手摘
  13. 【Autopsy数字取证篇】Autopsy数字取证软件的下载安装与优化配置
  14. 多传感器融合及其应用
  15. DVWA通过攻略之SQL注入
  16. RRDTool和mrtg的比较
  17. PythonQt——yolov5手势识别隔空操纵车载音乐播放器
  18. cpc按点击计算怎么算_什么是CPC(每次点击费用)?
  19. 如何设计网络服务器?
  20. 一种日志采集装置及方法

热门文章

  1. YOLOv5~目标检测模型精确度
  2. 十四、51单片机之AD转换
  3. 【0基础强力推荐】R语言快速入门
  4. 编译chrome for android,Chrome for Android 编译了两天终于在师傅指导下搞定
  5. A Simple but Effective Pluggable Entity Lookup Table for Pre-trained Language Models翻译
  6. JSON数据 与 JSON数据的使用
  7. Visual Studio 2017十五项新功能体验
  8. window的onload()的使用
  9. 原理图,PCB设计软件
  10. 【测试分析】KYM全面收集测试信息