在delphi根据TshiftState值来判断用户按下Ctrl,shift,alt等键的方法

procedure TForm1.FormMouseDown(Sender:TObject; Button: TMouseButton;
Shift:TShiftState; X, Y: Integer);
begin
if ssCtrl in shift then
ShowMessage('ssCtrl');

shift 是一个集合变量。type TShiftState = setof (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle,ssDouble);

Value Meaning

ssShift The Shift key is held down.
ssAlt The Alt key is held down.
ssCtrl The Ctrl key is held down.
ssLeft The left mouse button is held down.
ssRight The right mouse button is held down.
ssMiddle The middle mouse button is held down.
ssDouble The mouse was double-clicked.

 

delphi中如何响应键盘的组合键(如:ctrl k),

var Hot: boolean;
procecure form1.formkeydown(.....);
begin
if (key = VK_K) and (ssShift in shift) then
if hot then
begin
//处理ctrl kk
hot := false;
end
else hot := true
else
hot := false;
end;

可以设置快捷键,也可以在程序中设置,如上

set Form1.KeyPreview totrue.

procedure TForm1.FormKeyDown(Sender:TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssCtrl in Shift) and (Char(Key) in ['K', 'k']) then
ShowMessage('Ctrl K');
end;
一般的onkeydown就可以了
最好是设置一个全局的热键,系统中的任何地方都可以响应到:
下面这个帖子里很多:看看,帮助很大:

http://delphibbs.com/delphibbs/dispq.asp?lid=2285891

(from:http://hi.baidu.com/jangill/blog/item/2cf3c782a9d73498f703a6a7.html)

本文转自鹅倌51CTO博客,原文链接: http://blog.51cto.com/kaixinbuliao/1275420,如需转载请自行联系原作者

delphi2010:按键 控制键 组合键的判断 响应相关推荐

  1. 计算机中的CNC键代表什么,国内数控(CNC)机床操作面板按键及功能组合键作用(全套)对照...

    常见数控(CNC)机加按键.组合功能 1.进入控制系统:通过点击屏幕最右下角的功能键(next键)并同时按下靠左侧的电源键 2.屏保待机:如果需要很长加工周期并无需任何额外操作时,可以通过同时按下CA ...

  2. android 9.0 10.0 去掉音量键+Power键组合键的屏幕截图功能

    1.概述 在10.0的系统中由WindowManagerService这个系统服务来循环读取窗口获取的消息(包括按下,弹起,双击,单击等)然后分发到各个类接收处理这些消息,在这个过程中PhoneWin ...

  3. VB.NET 按键代码 及组合键

    使用  SendKeys  将键击和组合键击发送到活动应用程序.此类无法实例化.若要发送一个键击给某个类并立即继续程序流,请使用  Send.若要等待键击启动的任何进程,请使用  SendWait.  ...

  4. Mac下完美利用雷蛇鼠标的多个功能按键(解决雷蛇Win键组合键无法映射问题)

    雷蛇鼠标有很多可编程的功能按钮,在Windows下这些功能按键很好用.在Mac下雷蛇的驱动程序真不咋地. 我的鼠标有板载功能的,可以先在Windows下设置好每个按键的功能,在Mac下面不安装任何软件 ...

  5. android修改按键映射,【图片】修改按键映射和组合键教程【安卓dolphin模拟器吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 [6]现在以按键映射到经典手柄玩wii新超级马里奥举例. wii超级马里奥此游戏只需用到wii直柄,操作如下: 减号键是暂停, 加号键是菜单, A键查看地 ...

  6. 【Win键组合键在vista中用法】

    Win键是键盘上面带有微软Windows视窗徽标的那个按键. Winkey 数字1.2.3.4.5.6.7.8.9.0 分别打开你的任务栏Windows7之家上面的快捷启动栏上面的第一个到第十个图标所 ...

  7. Win键无效/Win键失灵/Win键被禁用/Win键+组合键不起作用

    常规修复方法为按住键盘上的"Fn"+"win",或者是机械键盘右上角房子形状的"®win",如果两者都无法解决的话尝试如下操作: 1.右键点 ...

  8. 矩阵键盘 多键组合 c语言,矩阵键盘的检测和独立按键有很大的区别

    描述 先说矩阵键盘,因为我写的组合键代码是在矩阵键盘的基础上写的,当然在独立按键上写组合键更简单一些.所以当你矩阵键盘的组合键会写的时候,你在独立按键上的组合键也就会写了. 矩阵键盘的检测和独立按键有 ...

  9. php 按键连击,写了一个独立按键 支持组合键、单键长按,连发功能的例子

    你好,我在调试你贴上的程序,发现单个按键都正常,为什么组合键就不正常呢?代码如下: #include #define K_STOP                (1< #define K_ST ...

  10. Windows-常用快捷键、组合键

    文章目录 前言 一.打开运行窗口 二.复制 三.粘贴 四.剪切 五.多选 六.全选 七.软件用户指南 八.大小写转换 九.切换桌面 十.输入法切换 十一.窗口切换 十二.笔记本键盘灯 十三.刷新桌面 ...

最新文章

  1. ajax上传等待效果,ajax等待服务器响应添加等待效果
  2. 执行SQL-DefaultSqlSession.selectOne()
  3. HDOJ-3790-最短路径问题 解题报告
  4. 会c语言如何快速入门python,初学者如何从C语言到Python的转化(北大陈斌老师的举例 )...
  5. php 126 发邮件,解析php中用PHPMailer来发送邮件的示例(126.com的例子)
  6. 计算机连接双硬盘,电脑如何安装双硬盘
  7. 【语音识别】基于MFCC实现声纹识别matlab源码
  8. Configured.java
  9. 2021-11-25 使用kali自带的SET工具制作钓鱼网站
  10. NLTK03 《Python自然语言处理》code02 获得文本语料和词汇资源
  11. 服务器虚拟化厂商有哪些,国内外厂商的桌面虚拟化产品
  12. java 三角形类 Triangle
  13. 发明专利名称的撰写原则和技巧总结
  14. 【二次分配问题】基于遗传算法 (GA)、粒子群优化 (PSO) 和萤火虫算法 (FA) 求解二次分配( QAP)问题(MATLAB 实现)
  15. c# winform 查源码综合工具及方法、快速查c#源码方法,加壳工具
  16. Robocup2D入门笔记(2)——环境的配置与安装
  17. 【web编程技术学习笔记】因特网与万维网简介
  18. Vue实现待办事件列表
  19. 2020最新pycharm汉化安装(亲测有效)
  20. CSS动画之旋转魔方轮播

热门文章

  1. 【面经】我是如何优雅的跳槽的?
  2. linux csi 摄像头,A20 linux(dragonboard)同时使用Parallel CSI Camera及UVC
  3. html网页代码入门,html 网页入门(示例代码)
  4. 蠕虫病毒通过什么侵入计算机系统,注意!蠕虫病毒入侵!我区已有单位个人计算机中招!...
  5. 软件测试 白盒测试是否为闰年,对【判断闰年】函数的白盒测试
  6. 连续竞价java_Java 方法method
  7. c语言常用代码-1:
  8. 统计函数应用之SQL 分析函数
  9. flink sink jdbc没有数据_一套 SQL 搞定数据仓库?Flink 有了新尝试
  10. 计算机考试总时长,计算机等级考试时间|2013年计算机等级考试时长