TMainMenu 类[四] - 所有可选的快捷键列表

方法1:

http://www.cnblogs.com/del/archive/2008/02/04/1064631.html

 

方法2:

TShortCut
比如 快捷键是Ctrl+C ,如何转换成TShortCut 类型的值 ?
------解决方案--------------------
Uses
  Menus;

function ShortCutToText(ShortCut: TShortCut): string;  //反之
function TextToShortCut(Text: string): TShortCut;  //'CTRL+C' -> 对应的值

 

#4楼    2008-08-11 12:34 wqyfavor
费这劲,告诉大家uses Menus; TextToShortCut('CTRL+ALT+DEL')就可以了
 
我们从 Form 的源码中看到, 指定的快捷键是一个数字, 譬如 Ctrl+A, 对应着数字: 16449
其实这是一个 Word 类型的数字; 快捷键的参数是 TShortCut 类型的, 它定义在 Classes 单元的第92行(Delphi 2007):
TShortCut = Low(Word)..High(Word);
 
Menus 单元有两个函数: TextToShortCut、ShortCutToText, 可以互相转换它们.
var
  w: Word;
  s: string;
begin
  w := TextToShortCut('Ctrl+A');
  ShowMessage(IntToStr(w)); {16449}

  s := ShortCutToText(16449);
  ShowMessage(s);           {Ctrl+A}
end;

 
 
 
自己指定实例: 
 Itemd := TMenuItem.Create(MyMenu);
    Itemd.Caption := 'A1';
    Itemd.ShortCut := 16449; {这一句话就为菜单项 A1 指定了快捷键: Ctrl+A }
    Item.Add(Itemd);


效果图:

 
  
 

转载于:https://www.cnblogs.com/chuangyiyuan/p/6918559.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值