作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚使用了Delphi TAction 的SecondaryShortCuts-Feature。但快捷键是由字符串定义的,例如“F5”或“Shift+F5”。现在的问题是:在我的德语 Windows 上,该操作不会触发,因为“Shift”键在德语中称为“Umsch”!这是否意味着 secondaryShortCuts-Property 在设计时完全无用,因为没有人可以创建可在国际范围内使用的应用程序?
我可以通过将 VK_SHIFT 翻译为正确的名称来在运行时设置 key 。我通过 GetKeyNameText 尝试过但这不起作用,因为它给出了长形式“Umschalt”而不是“Umsch”。有人知道获取 key 名称的简短版本的函数吗?
最佳答案
您可以尝试以下操作:从快捷方式生成快捷方式文本:
var
s: TShortCut;
begin
s := ShortCut(Ord('A'), [ssShift]);
Action1.SecondaryShortCuts.Add(ShortCutToText(s));
顺便说一句,这些值由以下常数确定。你翻译过那些吗?如果是这样,你需要吗?:
SmkcShift = 'Shift+';
SmkcCtrl = 'Ctrl+';
SmkcAlt = 'Alt+';
关于delphi - TAction.SecondaryShortCuts 是特定于语言的。如何正确设置呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13138573/
我刚刚使用了Delphi TAction 的SecondaryShortCuts-Feature。但快捷键是由字符串定义的,例如“F5”或“Shift+F5”。现在的问题是:在我的德语 Windows
我是一名优秀的程序员,十分优秀!