gpt4 book ai didi

delphi - Windows Vista 上的应用程序看不到 Shift+Ctrl+0 组合键

转载 作者:行者123 更新时间:2023-12-03 14:39:44 26 4
gpt4 key购买 nike

我从一个新的 Delphi VCL 应用程序开始,将菜单添加到 use 子句,在窗体上放置一个标签,并分配窗体的 OnShortCut 事件:

procedure TForm1.FormShortCut(var Msg: TWMKey; var Handled: Boolean);
begin
Label1.Caption := ShortCutToText(ShortCut(Msg.CharCode, KeyDataToShiftState(Msg.KeyData)));
end;

在 XP 上,这适用于我尝试过的所有快捷键组合,包括 Shift+Ctrl+0。在 Vista 和 Windows 7 上,测试应用程序显示 Shift+Ctrl+1Shift+Ctrl +9,但不是 Shift+Ctrl+0。其他组合,例如 Shift+0Ctrl+0,甚至 Shift+ Ctrl+Alt+0 显示正常。

在调试器下运行应用程序,我发现如果 ShiftCtrl 都不会使用 Msg.CharCode = Ord('0') 触发 OnShortCut 事件按下 0 键时按住 键。

Delphi IDE 在 Vista 下也有同样的问题。 Ctrl+Shift+1 设置书签 1,但 Ctrl+Shift+< kbd>0 没有设置书签 0,而它应该设置。

我已经在 VMware 中首次安装的 Windows Vista 和 7 上使用 Delphi 2007 和 2010 对此进行了测试,因此没有第三方软件捕获 key 。我还没有尝试过任何其他开发工具来确定问题是出在 Delphi 还是 Vista 本身。

最佳答案

Shift+Ctrl+0 在 Vista 中预先分配给输入法编辑器 (IME):

http://support.microsoft.com/kb/967893

这将解决您的问题,但会影响 IME(主要是亚洲版本)的用户,因此您应该考虑不使用此快捷方式。

关于delphi - Windows Vista 上的应用程序看不到 Shift+Ctrl+0 组合键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1464738/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com