Inno setup WizardForm / ComponentList 挂钩光标键

问题描述

我正在努力构建具有扩展功能的 ComponentList 的替代品。由于我不想对 Inno 本身进行更改,因此我在 DLL 中构建了一些东西,这将在现有组件上放置一个“新”组件列表。

事情进展顺利,但我注意到当“我的”ComponentList 具有焦点时按下光标键(VK_UP、VK_DOWN、VK_LEFT 或 VK_RIGHT)时,按键永远不会在我的组件中结束,焦点被带走从我的组件。 VK_HOME、VK_END、VK_PRIOR(向上翻页)和 VK_NEXT(向下翻页)等键按预期工作。

有谁知道这是怎么发生的以及如何避免它?在挖掘 Inno 代码时,我发现 NewCheckListBox.pas 中的 messagehandler TNewCheckListBox.WMKeyDown(var Message: TWMKeyDown) 似乎做了类似的事情,但在该方法的顶部它说:

  if not FWantTabs or (Message.CharCode = VK_SPACE) then
  begin
    inherited;
    Exit;
  end;

当我将 ComponentsList 的 WantTabs 设置为 false 时,我希望该方法退出,但这无济于事。

提前致谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)