学习 Message(14): 区分左右 Shift、Ctrl、Alt
代码文件:
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)Memo1: TMemo;procedure FormCreate(Sender: TObject);procedure FormMouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject); beginMemo1.Align := alLeft;Memo1.ScrollBars := ssVertical;Memo1.Clear; end;procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer); beginif GetKeyState(VK_SHIFT) < 0 then Memo1.Lines.Add('Shift');if GetKeyState(VK_LSHIFT) < 0 then Memo1.Lines.Add('LeftShift');if GetKeyState(VK_RSHIFT) < 0 then Memo1.Lines.Add('RightShift');if GetKeyState(VK_CONTROL) < 0 then Memo1.Lines.Add('Ctrl');if GetKeyState(VK_LCONTROL) < 0 then Memo1.Lines.Add('LeftCtrl');if GetKeyState(VK_RCONTROL) < 0 then Memo1.Lines.Add('RightCtrl');if GetKeyState(VK_MENU) < 0 then Memo1.Lines.Add('Alt');if GetKeyState(VK_LMENU) < 0 then Memo1.Lines.Add('LeftAlt');if GetKeyState(VK_RMENU) < 0 then Memo1.Lines.Add('RightAlt');Memo1.Lines.Add(''); end;end.
窗体文件:
object Form1: TForm1Left = 0Top = 0Caption = 'Form1'ClientHeight = 206ClientWidth = 339Color = clBtnFaceFont.Charset = DEFAULT_CHARSETFont.Color = clWindowTextFont.Height = -11Font.Name = 'Tahoma'Font.Style = []OldCreateOrder = FalseOnCreate = FormCreateOnMouseDown = FormMouseDownPixelsPerInch = 96TextHeight = 13object Memo1: TMemoLeft = 80Top = 80Width = 185Height = 89Lines.Strings = ('Memo1')TabOrder = 0end end
学习 Message(14): 区分左右 Shift、Ctrl、Alt相关推荐
- 判断shift,ctrl,alt键是否按下
在组件的OnKeyDown.OnKeyUp .OnMouseDown和OnMouseUp等事件的处理过程中,有一个TShiftState类型的变量Shift , TShiftState类型定义如下: ...
- python判断按键是否按下_python – 如何检查键修饰符是否被按下(shift,ctrl,alt)?
您所需要做的就是在您的按钮处理程序中检查 QApplication.keyboardModifiers,并根据需要选择其他操作: from PyQt4 import QtGui, QtCore cla ...
- 你真的会用 VS Code 的 Ctrl、Shift和Alt吗?高效易用的快捷键:多光标、跳转引用等轻松搞定
你真的会用 VS Code 的 Ctrl.Shift和Alt吗?高效易用的快捷键:多光标.跳转引用等轻松搞定 使用键盘浏览代码.敲代码是一件很高效的事:主力手在鼠标和键盘之间反复移动,长时间下来,很容 ...
- ai自由变换工具使用介绍:配合Ctrl、Shift、Alt键使用自由变换工具
内容提要:文章介绍ai自由变换工具的使用要点,单击加Ctrl.Shift.Alt键配合使用自由变换工具.对ai感兴趣的朋友可加ai学习交流群:142574315 ai教程中自由变换工具和photosh ...
- CTRL、SHIFT、ALT及WIN键的功能
CTRL.SHIFT.ALT及WIN键的功能 Ctrl是英文control的缩写,表示控制.在电脑里,多和其他键配合使用, 方便快捷. CTRL+X 剪切被选择的项目到剪贴板 CRTL+C 复制被选择 ...
- 设置Fetch快捷键Ctrl+Alt+Shift+1
在提交代码之前,建议最好先Fetch代码下来(如果有冲突,系统会提示),然后再操作Merge到本地分支,这样做是为了避免有其他人同时修改了当前分支,如果直接用Ctrl+T(pull代码)极有可能覆盖本 ...
- ctrl选中多个_PS快捷键/Ctrl/Alt/Shift
Alt 按住Alt键时用吸管工具可以吸取背景色而非前景色. 在绘制选定范围时,可以按住Alt键,临时在"多边形套索工具"和"套索"工具之间进行切换. 在使用&q ...
- pycharm ctrl+s ctrl+alt+shift+x 同步上传代码到服务器
ctrl+s 有时候不能同步代码到服务器,建议 对着工程目录整体 使用 ctrl + alt + shift + x 来上传文件 点击后 在鼠标位置会出现一个下拉框 选择远程服务器即可 ctrl+s ...
- BCB key事件中判断Shift、Alt、Ctrl状态
BCB key事件中判断Shift.Alt.Ctrl状态: 类似此事件中 void __fastcall TForm1::keydown(TObject *Sender, WORD &Key, ...
最新文章
- Python基础,面向对象
- Maven jdk.1.7
- 等待Ajax结果 再提交表单(ajax同步)
- 2021-05-19 Schur补引理及证明
- lunbuntu install mysql5.7
- 反射机制2,Class类的使用
- java 数据排序需求分析_java 实现数组全排序
- linux emacs配置文件,[z]使用.emacs.d目录管理Emacs配置文件
- ubuntu 报错E: Unable To Locate Package Software-properties-common
- 思科路由器 DHCP配置
- java jodd_Jodd :一款优雅的 Java 工具集
- java实现高性能的数据同步
- 安装qt qmake assistant 错误:could not find a Qt installation of ''
- [亲自试过有效] 错误1606。无法访问网络位置
- 深度学习模型训练神器之wandb
- 【笔记整理】网络攻防技术
- 实现12306全自动下单功能(Python+PyCharm附:主要代码)
- js实现猜数字大小游戏
- C站(CSDN)高校俱乐部招募部长
- iKcamp出品|微信小程序|小试牛刀(视频)+发布流程|基于最新版1.0开发者工具初中级教程分享