打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【转】在delphi根据TshiftState值来判断用户按下Ctrl,shift,alt等键的方法

【转】在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 = set of (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),

1: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;
2:可以设置快捷键,也可以在程序中设置,如上
3:set Form1.KeyPreview to true.
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;


4:一般的就楼上的onkeydown就可以了
最好是设置一个全局的热键,系统中的任何地方都可以响应到
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
判断集合从属关系的练习: 是否同时按下了 Ctrl 和 Shift 键
Delphi keydown与keyup、keypress的区别
如何输入平方米符号?
[原创] delphi KeyUp、KeyPress、Keydown区别和用法,如何不按键盘调用事件
Word中的常用快捷键
强大的ctrl+shift+alt+t--自由变换的运用
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服