delphi2010:按键 控制键 组合键的判断 响应

procedure TForm7.FormShortCut(var Msg: TWMKey; var Handled: Boolean); var   aKey: TShortCut;   aShift : TShiftState;   i:integer; begin   aShift:=KeyDataToShiftState(Msg.KeyData);

  i:=msg.CharCode;

  if (ssAlt in ashift)and (i=115)  then   halt;

end;

 

 

 

https://yq.aliyun.com/articles/527004

delphi2010:按键 控制键 组合键的判断 响应

 
技术小甜  2017-11-16 19:22:00 浏览105 评论0

摘要: 在delphi根据TshiftState值来判断用户按下Ctrl,shift,alt等键的方法 procedure TForm1.FormMouseDown(Sender:TObject; Button: TMouseButton;Shift:TShiftState; X, Y: Integer); begin if ssCtrl in shift thenShowMessage('ssCtrl'); shift 是一个集合变量。

在delphi根据TshiftState值来判断用户按下Ctrl,shift,alt等键的方法

procedure TForm1.FormMouseDown(Sender:TObject; Button: TMouseButton;
Shift:TShiftState; X, Y: Integer);
begin
if ssCtrl in shift then
ShowMessage('ssCtrl');

shift 是一个集合变量。type TShiftState = setof (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle,ssDouble);

Value Meaning

ssShift The Shift key is held down.
ssAlt The Alt key is held down.
ssCtrl The Ctrl key is held down.
ssLeft The left mouse button is held down.
ssRight The right mouse button is held down.
ssMiddle The middle mouse button is held down.
ssDouble The mouse was double-clicked.

 

delphi中如何响应键盘的组合键(如:ctrl k),

var Hot: boolean;
procecure form1.formkeydown(.....);
begin
if (key = VK_K) and (ssShift in shift) then
if hot then
begin
//处理ctrl kk
hot := false;
end
else hot := true
else
hot := false;
end;


可以设置快捷键,也可以在程序中设置,如上

set Form1.KeyPreview totrue.

procedure TForm1.FormKeyDown(Sender:TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssCtrl in Shift) and (Char(Key) in ['K', 'k']) then
ShowMessage('Ctrl K');
end;
一般的onkeydown就可以了
最好是设置一个全局的热键,系统中的任何地方都可以响应到:
下面这个帖子里很多:看看,帮助很大:

转载于:https://www.cnblogs.com/delphi-xe5/p/9503512.html

给你个比较常用的delphi 快捷键列表,能提升工作效率 其实这些东西在ide的设置里都能看到。。。 CTRL+SPACE 代码补全,很好用的(先改了输入法热键) CTRL+SHIFT+C 编写申明或者补上函数 CTRL+SHIFT+↑(↓) 在过程、函数、事件内部, 可跳跃到相应的过程、函数、事件的定义(在INTERFACE和IMPLEMENTATION之间来回切换) CTRL+SHIFT+G 插入GUID CTRL+J (弹出DELPHI语句提示窗口,选择所需语句将自动完成一条语句)代码模板 CTRL+K+E(F) 标识符变小(大)写 CTRL+K+O(N) 选中的变小(大)写 CTRL+O+U 切换选择块的大小写 SHIFT+鼠标左键 先选中任一控件,按键后可选中窗体 CTRL+SHIFT+I(U) 代码整块移动右移(左移)2个空格 ALT+鼠标左键 可以块选代码,用来删除对齐的重复代码非常有用 CTRL+E 快速选择(呵呵,试试吧,很好玩的) 在属性窗口按TAB键将光标移动到属性名区,键入属性名的开头字母可快速定位到该属性 F4 运行到光标处 F5 设置断点 F7 步进式调试同时追踪进入子过程 F8 步进式调试不进入子过程 F9 运行 CTRL+F9 编译 CTRL+B BUFFER LIST窗口 CTRL+F2 停止正在调试的程序 CTRL+F3 弹出CALL STACK窗口 CTRL+F5 添加览视变量 CTRL+F7 计算窗口 SHIFT+F8 调试时弹出CPU窗口 CTRL+BACKSPACE 后退删除一个词,直到遇到一个分割符 CTRL+T 删除光标右边的一个单词 CTRL+Y 删除光标所在行 CTRL+SHIFT+Y 删除光标之后至本行末尾之间的文本 ALT+[(]) 查找上(下)一个对应的标识符 CTRL+ENTER 定位到单元文件 CTRL+HOME 将光标移至文件头 CTRL+END 将光标移至文件尾 CTRL+PAGEDOWN 将光标移至本屏的最后一行,屏幕不滚动 CTRL+PAGEUP 将光标移至本屏的第一行,屏幕不滚动 CTRL+↑(↓) 向上(下)滚动屏幕,光标跟随滚动不出本屏 ALT+G 跳到某行 CTRL+鼠标转轮 加速滚屏 CTRL+S 保存 SHIFT+CTRL+S 保存所有 CTRL+F4 等于FILE菜单中的CLOSE项 CTRL+I 插入TAB CTRL+L 继续查找 CTRL+N 同ENTER键,但光标位置保持不变 CTRL+SHIFT+E 显示EXPLORER CTRL+SHIFT+F11 打开工程设置窗口 F11 显示属性窗口 SHIFT+ALT+F11 显示对象列表窗口 F12 切换EDITOR/FORM CTRL+F12 打开某个单元文件 SHIFT+F12 打开某个窗体 CTRL+TAB 在INSPECTOR中切换PROPERTIES页和EVENTS页 CTRL+SHIFT+N 定义(取消)书签N CTRL+N 跳到书签N CTRL+SHIFT+T 在光标行加入TO-DO注释 CTRL+箭头 以1像素单位更改所选控件位置 SHIFT+箭头 以1像素单位更改所选控件大小 ALT+F11 Use某个单元 SHIFT+F10 等于鼠标右键(WINDOWS快捷键)。 SHITF+箭头 选择文本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值