代码文件:


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相关推荐

  1. 判断shift,ctrl,alt键是否按下

    在组件的OnKeyDown.OnKeyUp .OnMouseDown和OnMouseUp等事件的处理过程中,有一个TShiftState类型的变量Shift , TShiftState类型定义如下: ...

  2. python判断按键是否按下_python – 如何检查键修饰符是否被按下(shift,ctrl,alt)?

    您所需要做的就是在您的按钮处理程序中检查 QApplication.keyboardModifiers,并根据需要选择其他操作: from PyQt4 import QtGui, QtCore cla ...

  3. 你真的会用 VS Code 的 Ctrl、Shift和Alt吗?高效易用的快捷键:多光标、跳转引用等轻松搞定

    你真的会用 VS Code 的 Ctrl.Shift和Alt吗?高效易用的快捷键:多光标.跳转引用等轻松搞定 使用键盘浏览代码.敲代码是一件很高效的事:主力手在鼠标和键盘之间反复移动,长时间下来,很容 ...

  4. ai自由变换工具使用介绍:配合Ctrl、Shift、Alt键使用自由变换工具

    内容提要:文章介绍ai自由变换工具的使用要点,单击加Ctrl.Shift.Alt键配合使用自由变换工具.对ai感兴趣的朋友可加ai学习交流群:142574315 ai教程中自由变换工具和photosh ...

  5. CTRL、SHIFT、ALT及WIN键的功能

    CTRL.SHIFT.ALT及WIN键的功能 Ctrl是英文control的缩写,表示控制.在电脑里,多和其他键配合使用, 方便快捷. CTRL+X 剪切被选择的项目到剪贴板 CRTL+C 复制被选择 ...

  6. 设置Fetch快捷键Ctrl+Alt+Shift+1

    在提交代码之前,建议最好先Fetch代码下来(如果有冲突,系统会提示),然后再操作Merge到本地分支,这样做是为了避免有其他人同时修改了当前分支,如果直接用Ctrl+T(pull代码)极有可能覆盖本 ...

  7. ctrl选中多个_PS快捷键/Ctrl/Alt/Shift

    Alt 按住Alt键时用吸管工具可以吸取背景色而非前景色. 在绘制选定范围时,可以按住Alt键,临时在"多边形套索工具"和"套索"工具之间进行切换. 在使用&q ...

  8. pycharm ctrl+s ctrl+alt+shift+x 同步上传代码到服务器

    ctrl+s 有时候不能同步代码到服务器,建议 对着工程目录整体 使用 ctrl + alt + shift + x 来上传文件 点击后 在鼠标位置会出现一个下拉框 选择远程服务器即可 ctrl+s ...

  9. BCB key事件中判断Shift、Alt、Ctrl状态

    BCB key事件中判断Shift.Alt.Ctrl状态: 类似此事件中 void __fastcall TForm1::keydown(TObject *Sender, WORD &Key, ...

最新文章

  1. Python基础,面向对象
  2. Maven jdk.1.7
  3. 等待Ajax结果 再提交表单(ajax同步)
  4. 2021-05-19 Schur补引理及证明
  5. lunbuntu install mysql5.7
  6. 反射机制2,Class类的使用
  7. java 数据排序需求分析_java 实现数组全排序
  8. linux emacs配置文件,[z]使用.emacs.d目录管理Emacs配置文件
  9. ubuntu 报错E: Unable To Locate Package Software-properties-common
  10. 思科路由器 DHCP配置
  11. java jodd_Jodd :一款优雅的 Java 工具集
  12. java实现高性能的数据同步
  13. 安装qt qmake assistant 错误:could not find a Qt installation of ''
  14. [亲自试过有效] 错误1606。无法访问网络位置
  15. 深度学习模型训练神器之wandb
  16. 【笔记整理】网络攻防技术
  17. 实现12306全自动下单功能(Python+PyCharm附:主要代码)
  18. js实现猜数字大小游戏
  19. C站(CSDN)高校俱乐部招募部长
  20. iKcamp出品|微信小程序|小试牛刀(视频)+发布流程|基于最新版1.0开发者工具初中级教程分享

热门文章

  1. 六周第四次课(5月2日)
  2. NDK 高级编程(笔记)
  3. LINUX TOMCAT
  4. Python 解析配置模块之ConfigParser详解
  5. CSS中绝对定位依据谁进行定位?
  6. linux 下取进程占用 cpu/内存 最高的前10个进程
  7. Sencha应用程序的UI测试
  8. JavaScript 中运算符的优先级
  9. .net面试问题汇总(转)
  10. 访谈实录:网管员如何踏上高薪之路(1)