BCB key事件中判断Shift、Alt、Ctrl状态
BCB key事件中判断Shift、Alt、Ctrl状态:
类似此事件中
void __fastcall TForm1::keydown(TObject *Sender, WORD &Key,TShiftState Shift)
{
if(Key==VK_DELETE)
{
((TcxTextEdit*)Sender)->Top=-111;
((TcxTextEdit*)Sender)->Left=-111;
}
if(Key==VK_LEFT&&Shift.Contains(ssCtrl))
{
int left=((TcxTextEdit*)Sender)->Left-5;
if(left<0)left=0;
((TcxTextEdit*)Sender)->Left=left;
}
}
Shift是一个TShiftState集合,集合中元素值及含义参见下表
元素值及其含义:
ssShift:"Shift"键被按下;
ssAlt:"Alt"键被按下;
ssCtrl:"Ctrl"键被按下;
ssLeft:鼠标左键被按下;
ssRight:鼠标右键被按下;
ssMiddle:鼠标中键被按下;
ssDouble:左右鼠标同时被按下。
查看某一个元素是否在集合中,使用方法Contains()。
bool __fastcall Contains(const T) const;
如果集合中包含有元素T,则返回true,否则返回false。
一:字母和数字按键的建码值
收藏一下键盘虚拟键值
Backspace->8 Tab->9 Return->13 Pause->19 CapsLock->20 Esc->27 Space->32 PageUp->33 PageDown->34
End->35 Home->36 LeftArrow->37 UpArrow->38 RightArrow->39 DownArrow->40 PrintScrn->44 Insert->45 Delete->46
0->48 1->49 2->50 3->51 4->52 5->53 6->54 7->55 8->56 9->57
A->65 B->66 C->67 D->68 E->69 F->70 G->71 H->72 I->73 J->74 K->75 L->76 M->77
N->78 O->79 P->80 Q->81 R->82 S->83 T->84 U->85 V->86 W->87 X->88 y->89 Z->90
LWin->91 RWin->92 PopMenu->93
NumPad0->96 NumPad1->97 NumPad2->98 NumPad3->99 NumPad4->100 NumPad5->101 NumPad6->102 NumPad7->103 NumPad8->104 NumPad9->105
NumPad*->106 NumPad+->107 NumPad-->109 NumPad.->110 NumPad/->111
F1->112 F2->113 F3->114 F4->115 F5->116 F6->117 F7->118 F8->119
F9->120 F10->121 F11->122 F12->123 F13->124 F14->125 F15->126 F16->127
F17->128 F18->129 F19->130 F20->131 F21->132 F22->133 F23->134 F24->135
NumLock->144 ScrollLock->145
;->186 ,->188 .->190 /->191 `->192 [->219 \->220 ]->221 '->222
原文:https://blog.csdn.net/beslow/article/details/9492025
https://blog.csdn.net/u011981242/article/details/52332172/
https://jingyan.baidu.com/article/fedf073780e16335ac8977a4.html
BCB key事件中判断Shift、Alt、Ctrl状态的更多相关文章
- C#-判断Shift,Alt,Ctrl是否被按下,确定所按下的组合键
在创建接受用户击键的应用程序时,您还可能希望监视 SHIFT.ALT 和 CTRL 键等组合键.当一个组合键与其他键同时按下,或在单击鼠标的同时按下时,您的应用程序能够做出适当响应:字母 S 可能仅导 ...
- KeyDown/PreviewKeyDown事件中监听Alt键按下
一个坑 在WPF应用程序(或者其他Windows应用程序中),为了监听Alt键按下,我们可以尝试写出这样的代码: PreviewKeyDown += (s, e) => { if (e.Key ...
- asp.net 在AcquireRequestState事件中判断登陆验证。
Global中添加AcquireRequestState事件. protected void Application_AcquireRequestState(object sender, EventA ...
- 在cc.EventListener.TOUCH_ONE_BY_ONE事件中判断拖动物离哪边近飞向那边
需将拖动物坐标和要飞向物坐标转化为整个layer的坐标,因为人们判断远近是根据整个layer来看的.
- .NET winform 的keypress事件中判断当用户按下的是哪个键
keys是按键的枚举类型 private void txtPropertyValue_KeyPress(object sender, KeyPressEventArgs e) { if ((Keys) ...
- C#程序中判断DEBUG和RELEASE状态
编辑 删除 习惯了用老方式(注释的方式)来对程序进行调试,不过昨天才发现这样调试存在很大的隐患:在工程发布的时候如果忘记把该注释的代码注释掉,而让这些调试信息随工程一起发布,如果是可见的调试信息倒好发 ...
- 【转】C#中判断扫描枪输入与键盘输入
提出问题:在收货系统中,常常要用到扫描枪扫描条码输入到TextBox,当条码无法扫描时,需要手工输入.如果是扫描枪输入时,我们将自动去判读条码,而手工输入时,最终需要加按回车键确认后判读条码.这时候我 ...
- WinForm中TextBox 中判断扫描枪输入与键盘输入
本文转载:http://www.cnblogs.com/Hdsome/archive/2011/10/28/2227712.html 提出问题:在收货系统中,常常要用到扫描枪扫描条码输入到TextBo ...
- 在拖放文件的同时检测shift键的状态
老板要给原来文件拖放的功能加个扩展分类,于是想在文件拖放时判断shift键的状态来区分. 一般通过keydown和keyup来判断按下与否,但这都是需要控件事件触发,而在拖放的时候是没法触发key事件 ...
随机推荐
- Go 协程
Go 协程 协程与传统的系统级线程和进程相比,协程的优势在于其"轻量级",可以轻松创建上百万个协程而不会导致系统资源衰竭,所以协程也叫做轻量级线程. 在Go中goroutine就是 ...
- 【C#】上机实验八
1. 设计一个窗体应用程序,模拟写字板应用程序的基本功能.具体功能要求如下: (1)“文件”菜单中有“新建”.“打开”.“保存”.“退出”子菜单. (2)“编辑”菜单中有“剪切”.“复制”.“粘贴”. ...
- java 正则和连接json
前面已经写了不少关于C# 怎么使用正则,有兴趣,可以翻译成java代码. 以图片为例子: import java.util.regex.Matcher; import java.util.regex. ...
- 易百教程人工智能python修正-人工智能数据准备-预处理数据
预处理数据 在我们的日常生活中,需要处理大量数据,但这些数据是原始数据. 为了提供数据作为机器学习算法的输入,需要将其转换为有意义的数据. 这就是数据预处理进入图像的地方. 换言之,可以说在将数据提供 ...
- Linux环境下安装mysql服务
我使用的是阿里云的ECS服务,系统是CentOS7,安装mysql版本是5.7 第一步,通过 wget -i -c http://dev.mysql.com/get/mysql57-community ...
- Fortify漏洞之Insecure Randomness(不安全随机数)
继续对Fortify的漏洞进行总结,本篇主要针对 Insecure Randomness 漏洞进行总结,如下: 1.Insecure Randomness(不安全随机数) 1.1.产生原因: 成弱 ...
- [AIR] NativeExtension在IOS下的开发实例 --- 新建项目测试ANE(四)
来源:http://bbs.9ria.com/thread-102043-1-1.html 通过前面的努力,好了,我们终于得到了一个ANE文件了.下面我们开始新建一个Flex Mobile项目做一下测 ...
- 阿里云ACA—— I
ACA 阿里云大数据助理工程师 阿里云大学 大数据助理工程师课程笔记分享, 本资料仅供个人学习,不允许用作商业用途,侵权必删 == Alibaba Cloud Certification Associ ...
- p1.BTC-密码学的原理
所谓加密货币是不加密的,区块链上所有的交易内容(包括:账户的地址,转账的地址)都是公开的. Bitcoin中主要用到密码学的中的两个功能:Hash和签名. 一 Hash Cryptographic h ...
- FSMN 及其变种 cFSMN DFSMN pyramidal-FSMN
原文: https://blog.csdn.net/qq_26778411/article/details/89682447 也可以参考: http://vsooda.github.io/2018/ ...