首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Delphi:如何停止TAction快捷键自动重复?

在Delphi中,要阻止TAction快捷键自动重复,可以通过以下方法实现:

  1. 在TAction的OnUpdate事件中,检查按键是否被按下。如果按键被按下,则将Enabled属性设置为False。
代码语言:txt
复制
procedure TForm1.Action1Update(Sender: TObject);
begin
  TAction(Sender).Enabled := not (KeyboardStateToShiftState = [ssCtrl, ssAlt]);
end;
  1. 在TAction的OnExecute事件中,检查按键是否被按下。如果按键被按下,则不执行任何操作。
代码语言:txt
复制
procedure TForm1.Action1Execute(Sender: TObject);
begin
  if KeyboardStateToShiftState = [ssCtrl, ssAlt] then
    Exit;

  // 在这里执行您的操作
end;

这样,当用户按下TAction的快捷键时,TAction将不会自动重复执行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

DELPHI IDE中部分操作快捷方式

DELPHI IDE中部分操作快捷方式 1 代码模板 : CTRL+J 2 代码整块移动 : CTRL+SHIFT+I(右移) CTRL+SHIFT+U(左移) 3 选中窗体 : 先选中任一控件,SHIFT+鼠标左键 4 将鼠标指向变量名、单元名、类名,再用 CTRL+鼠标左键 可找到相应的说明 5 在过程、函数、事件内部, SHIFT+CTRL+向上的方向键 可跳跃到相应的过程、函数、事件的定义 6 相反,在过程、函数、事件的定义处,SHIFT+CTRL+向下的方向键 可跳跃到具体过程、函数、事件内部 7 CTRL + SHIFT + C:编写申明或者补上函数 8 SHIFT + CTRL + E 显示 EXPLORER 9 CTRL + SHIFT + N (n=1,2,3,4......)定义书签 10 CTRL + N (n=1,2,3,4......)跳到书签n 11 ALT + 鼠标左键 可以块选代码,删除对齐的重复代码非常有用 12 CTRL + PageUp 将光标移至本屏的第一行,屏幕不滚动。 13 CTRL + PageDown 将光标移至本屏的最后一行,屏幕不滚动。 14 CTRL + ↓ 向下滚动屏幕,光标跟随滚动不出本屏。 15 CTRL + ↑ 向上滚动屏幕,光标跟随滚动不出本屏。 16 CTRL + Home 将光标移至文件头。 17 CTRL + End 将光标移至文件尾。 18 CTRL + B Buffer List窗口。 19 CTRL + I 同Tab键。 20 CTRL + M 同Enter键。 21 CTRL + N 同Enter键,但光标位置保持不变。 22 CTRL + T 删除光标右边的一个单词。 23 CTRL + Y 删除光标所在行。 24 CTRL + SHIFT + ↑ 光标在函数体内时,将光标快速移至当前函数声明处。 25 CTRL + SHIFT + ↓ 光标在函数声明行时,将光标快速移至函数定义处。 26 CTRL + SHIFT + C 声明一个过程或函数后,直接生成过程或函数的名称、begin、end; 27 CTRL + SHIFT + E 光标在Edit窗口和Explorer窗口间切换。 28 CTRL + SHIFT + G 插入GUID。 29 CTRL + SHIFT + J 弹出Delphi语句提示窗口,选择所需语句将自动完成一条语句。 30 CTRL + SHIFT + T 在光标行加入To-Do注释。 31 CTRL + SHIFT + Y 删除光标之后至本行末尾之间的文本。 32 CTRL + F3 Call Stack窗口。 33 CTRL + F4 等于File菜单中的Close项。 34 CTRL + 鼠标转轮 加速滚屏。 35 SHIFT + F8 调试时弹出CPU窗口。 36 SHIFT + F10 等于鼠标右键(Windows快捷键)。 37 ALT + F4 关闭所有编辑框中打开的源程序文件,但不关闭项目。(如无打开项目时,则关闭DELPHI^_^ )

04
  • editplus快捷键大全其他editplus快捷键

    文档 列标记 Alt+Shift+M 显示或隐藏列标记 自动换行 Ctrl+Shift+W 切换当前文档的自动换行功能 HTML 浏览器 编辑源文件 Ctrl+E 编辑当前 HTML 页面的源文件 剪辑文本 复制 Ctrl+Shift+Insert 复制选定的剪辑文本项目 目录 工程 停止 Ctrl+Break 停止当前工具的操作 打开下一个 Ctrl+F5 打开下一个匹配的文件 打开上一个 Ctrl+Shift+F5 打开上一个匹配的文件 用户工具 1 Ctrl+1 运行该用户定义工具 用户工具 10 Ctrl+0 运行该用户定义工具 用户工具 2 Ctrl+2 运行该用户定义工具 用户工具 3 Ctrl+3 运行该用户定义工具 用户工具 4 Ctrl+4 运行该用户定义工具 用户工具 5 Ctrl+5 运行该用户定义工具 用户工具 6 Ctrl+6 运行该用户定义工具 用户工具 7 Ctrl+7 运行该用户定义工具 用户工具 8 Ctrl+8 运行该用户定义工具 用户工具 9 Ctrl+9 运行该用户定义工具 群组 1 Ctrl+Shift+1 使用工具组 1 群组 10 Ctrl+Shift+0 使用工具组 10 群组 2 Ctrl+Shift+2 使用工具组 2 群组 3 Ctrl+Shift+3 使用工具组 3 群组 4 Ctrl+Shift+4 使用工具组 4 群组 5 Ctrl+Shift+5 使用工具组 5 群组 6 Ctrl+Shift+6 使用工具组 6 群组 7 Ctrl+Shift+7 使用工具组 7 群组 8 Ctrl+Shift+8 使用工具组 8 群组 9 Ctrl+Shift+9 使用工具组 9 记录击键 Ctrl+Q 开始/停止击键记录 播放记录 1 Alt+1 播放击键记录 1 播放记录 10 Alt+0 播放击键记录 10 播放记录 2 Alt+2 播放击键记录 2 播放记录 3 Alt+3 播放击键记录 3 播放记录 4 Alt+4 播放击键记录 4 播放记录 5 Alt+5 播放击键记录 5 播放记录 6 Alt+6 播放击键记录 6 播放记录 7 Alt+7 播放击键记录 7 播放记录 8 Alt+8

    04

    大数据必学Java基础(三十):IDEA的使用介绍

    集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。如微软的Visual Studio系列,Borland的C++ Builder、Delphi系列等。该程序可以独立运行,也可以和其它程序并用。IDE多被用于开发HTML应用软件。例如,许多人在设计网站时使用IDE(如HomeSite、DreamWeaver等),因为很多项任务会自动生成。编程开发软件将编辑、编译、调试等功能集成在一个桌面环境中,这样就大大方便了用户。

    06

    vc60修改快捷键-MSDEV.EXE 版本

    使用VS6.0(VC++ or other)打开或添加项目时出现[MSDEV.EXE-应用程序错误""指令引用的""内存,该内存不能为"read";""指令引用的""内存,该内存不能为"read" ],这个可能是VS6.0和OFFICE 2007有冲突的缘故,下面是解决办法:首先去下载一个(exe 下载后解压缩),下载过来是一个C++原始文件,需要通过VC编译一下产生一个 .dll将这个插件复制到X:\ Files\ Visual Studio\Common\AddIns重新打开VC6,Tools->->Add-ins and Macro Files,选中 Studio Add-in即可。此时打开VC6会有一个浮动工具栏(A O),点击A就是添加文件到工程,点击O就是打开文件。是不是很怪啊,竟然做了一个插件进来,并没有对原先的冲突进行改进。VC6.0和Visio两个软件有冲突,把Visio卸载掉即可,若卸载无效,可按下述方法添加一个宏程序补救。

    02

    vc60修改快捷键-MSDEV.EXE-应用程序错误解决办法

    使用VS6.0(VC++ or other)打开或添加项目时出现[MSDEV.EXE-应用程序错误""指令引用的""内存,该内存不能为"read";""指令引用的""内存,该内存不能为"read" ],这个可能是VS6.0和OFFICE 2007有冲突的缘故,下面是解决办法:首先去下载一个(exe 下载后解压缩),下载过来是一个C++原始文件vc60修改快捷键,需要通过VC编译一下产生一个 .dll将这个插件复制到X:\ Files\ Visual Studio\Common\AddIns重新打开VC6,Tools->->Add-ins and Macro Files,选中 Studio Add-in即可。此时打开VC6会有一个浮动工具栏(A O),点击A就是添加文件到工程,点击O就是打开文件。是不是很怪啊vc60修改快捷键,竟然做了一个插件进来,并没有对原先的冲突进行改进。VC6.0和Visio两个软件有冲突,把Visio卸载掉即可,若卸载无效,可按下述方法添加一个宏程序补救。

    02

    IDEA Intellij小技巧和插件

    使用IDEA Intellij已有两年,在此罗列一下在实践中觉得能有效提升开发效率的一些小技巧和插件。  1. 重设移动键 方向键和Home/End键离基键太远,经常把手移过去其实很费时。所以建议重设到主键盘上。考虑到后面会提到的IdeaVim插件,所以最好使用类似Vim的方案。我个人的设定是:  Ctrl+H  ←  Ctrl+J  ↓  Ctrl+K  ↑  Ctrl+L  →  Ctrl+A  End (Vim中Shift+A是在行尾插入)  Ctrl+I  Home (Vim中Shift+I是在行首插入)  被冲掉的原本的快捷键可以设到Alt上(最常用的Ctrl+A全选和Ctrl+J Live Template)。当然你也可以把移动键设在Alt上,不过使用标准键盘时,左Ctrl可以用手掌来按(使用emacs的必备技能),非常方便。所以我个人喜欢把常用操作设到Ctrl上。  2. 好用的Select Word at Caret快捷键 在IDEA的Keymap中有Select Word at Caret这个动作,字面意思是“选中光标所在的单词”,默认快捷键是Ctrl+W。但事实上,这个动作的实际操作是选中更上一层的语法结构。例如,如果你在一个字符串的一个单词中,按一下Ctrl+W,会选中光标所在单词。再按一下,会选中整个字符串的内容,不包括引号。再按一下,会选中包括引号的字符串。再按一下,会选中整个表达式(如果表达式含有括号,会逐层选中)。再按一下,会选中整个语句块。再按一下,会选中整个方法。再按一下,会选中整个类。  3. Ace Jump插件 可以说Ace Jump和IdeaVim这两个插件是我使用了Intellij后再也不想用eclipse的最主要原因。Ace Jump是一种从emacs上借鉴过来的快速光标跳转方式,操作方式是:你用某个快捷键进入Ace Jump模式后,再按任一个键,当前屏幕中所有该字符都被打上一个字母标记,你只要按这个字母,光标就会跳转到这个字符上。这种跳转方式非常实用,你根本不用管当前光标在什么位置,眼睛只需要盯着需要跳转到的位置,最多三四下按键就能准确把光标定位,开始编辑。按道理这种功能非常容易实现,但偏偏到目前为止我没有在eclipse上找到类似插件。  安装与使用:  在Intellij的Setting -> Plugins -> Browse repositories中查找acejump,可以找到两个插件,AceJump和emacsIDEAs。AceJump是最纯正的Ace Jump插件,功能单一,也比较稳定,但我个人感觉没有emacsIDEAs好用。两者最大的差异是,Ace Jump是先按键调出跳转标记,再通过不同功能键(Ctrl,Shift,Alt等)配合书签按键追加额外功能(例如从当前位置选中文本至书签位置)。而emacsIDEAs是使用不同的快捷键进入不同的功能模式(例如跳转到字符,跳转到单词,选中到标签等)同时调出书签标记,然后再按书签按钮实现跳转。感觉emacsIDEAs的方式比较符合我的思维习惯。  如果选择了AceJump插件,重启Intellij后即可使用,默认快捷键是Ctrl+;(分号)。但我习惯将它重设到Alt+K。下面是使用AceJump的效果

    01
    领券