方法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;
参考链接:http://www.cnblogs.com/del/archive/2008/02/05/1064911.html
自己指定实例:
Itemd := TMenuItem.Create(MyMenu); Itemd.Caption := ‘A1‘; Itemd.ShortCut := 16449; {这一句话就为菜单项 A1 指定了快捷键: Ctrl+A } Item.Add(Itemd);
效果图:
时间: 2024-11-01 13:55:30