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
转载于:https://www.cnblogs.com/xiangtingshen/p/11149858.html
BCB key事件中判断Shift、Alt、Ctrl状态相关推荐
- 每个java程序都至少有一个线程给主线程,java程序在主线程中判断各个子线程状态的操作,该如何解决...
java程序在主线程中判断各个子线程状态的操作 每个子线程在队列为空时会wait等待其他线程添加新url到队列,到最后所有子线程都取不到url时也会都wait住,要在主线程中判断如果所有的子线程都是w ...
- js判断wifi_使用JS在浏览器中判断当前网络连接状态的几种方法
使用JS在浏览器中判断当前网络状态的几种方法如下: 1. navigator.onLine 2. ajax请求 3. 获取网络资源 4. bind() 1. navigator.onLine 通过na ...
- web 端JS取得window 的按键动作(按下Shift, Alt,Ctrl....)
如何取得 基本上都是从动作的event 中去判断. IE下的处理 在IE中, window 对象里就有包含event. 看例子: <!--Add by oscar999--> <!D ...
- linux的ctrl alt f6的作用,Linux(Centous6.4)操作系统中,快捷键Alt+Ctrl+F10是什么作用?...
满意答案 John_0515 2017.07.16 一些常用快捷键 切换到第一个文本终端.在Linux 下你可以有多达六个不同的终端.这个命令的意思是:"同时按住键和键,然后按键,再释放所有 ...
- h5滚动时侧滑出现_H5触摸事件中如何判断用户滑动方向
这次给大家带来H5触摸事件中如何判断用户滑动方向,H5触摸事件中判断用户滑动方向的注意事项有哪些,下面就是实战案例,一起来看一下. 接口 TouchEvent TouchEvent 是一类描述手指在触 ...
- ArcEngine的鼠标事件中按键判断~
我们都知道,在.Net的鼠标事件中判断鼠标事件方法如下(以button为例): Private Sub Button1_MouseDown(ByVal sender As System.Object, ...
- html5触摸事件判断滑动方向,H5触摸事件中如何判断用户滑动方向
这次给大家带来H5触摸事件中如何判断用户滑动方向,H5触摸事件中判断用户滑动方向的注意事项有哪些,下面就是实战案例,一起来看一下. 接口 TouchEvent TouchEvent 是一类描述手指在触 ...
- WinForm中TextBox 中判断扫描枪输入与键盘输入
提出问题:在收货系统中,常常要用到扫描枪扫描条码输入到TextBox,当条码无法扫描时,需要手工输入.如果是扫描枪输入时,我们将自动去判读条码,而手工输入时,最终需要加按回车键确认后判读条码.这时候我 ...
- AS中的shift+F6的作用
AS中的shift+F6的作用 shift + F6 :重命名,即批量替换选择的对象名称为新的名称,类似eclipse中的shift+alt+R 比如在RecyclerView中进行Adapter的封 ...
最新文章
- html的后绑定事件,HTML 控件绑定事件
- 使用HTML5监測站点性能
- c语言如何让函数一直执行,C语言如何实现在每天某个特定时间执行某个函数?
- .NET可变性解析(协变和逆变)
- 蓝桥杯2020山西省省赛太原理工大获丰收
- Java常见面试题:Oracle JDK 和 OpenJDK 的区别?
- 目标跟踪 SiamFC++ (Towards Robust and Accurate Visual Tracking with Target Estimation Guidelines)
- Matlab阶乘累加,MATLAB中带有符号变量的阶乘、累加函数的表达与求解
- 使用pm2管理项目(指令)
- 《30天自制操作系统》学习笔记--第0天
- mac下Aria2GUI+Chrome解决网盘下载速度慢
- 深度隐藏文件或文件夹原理与应用
- 生命,感情,谁之脆弱
- 图片底部留白怎么处理
- 国内支持原生android吗,定制安卓和原生Android到底有哪些不同之处?彻底真相了...
- 3配置的笔记本能不能运行博图v15_运维便携口袋笔记本:壹号本工程师PC评测
- Flink状态一致性检查点
- Linux系统性能监测工具——CPU
- 极客时间《软件工程之美》学完感
- 购买iPhone手机时的专业术语名词解析
热门文章
- 深入浅出计算机组成原理学习笔记:高速缓存(下)-你确定你的数据更新了么?(第38讲)...
- 001-Java命名规范
- BZOJ5020: [THUWC 2017]在美妙的数学王国中畅游
- class-5 If语句
- 29、剑指offer--最小的K个数
- 4.1 MyEclipse中搭建Struts2开发环境
- backbone.js学习笔记
- template与图片懒加载
- Android Studio的技巧
- POJ 1860 Currency Exchange (Bellman-Ford)