【问题标题】:Why does an embedded form not respond to arrow keys?为什么嵌入式表单不响应箭头键?
【发布时间】:2011-09-27 00:23:50
【问题描述】:

我正在 Delphi (XE) 中构建一个简单的插件框架,其中插件是表单,可以选择性地嵌入到主应用程序的 TabSheet 中。网上有一些例子解释了如何进行嵌入,例如:http://delphi.about.com/od/adptips2005/a/bltip0305_5.htm。我自己试过这个,看起来很成功。但是我发现如果我在嵌入的表单上放置一个 TMemo,箭头键在嵌入的 TMemo 上不起作用,即 TMemo 上的光标不会移动。其他键,如退格、删除、Ctrl-V 等和字母数字键按预期工作(TAB 也不会遍历嵌入表单中的控件)。主应用程序上的 TMemo 工作正常。知道为什么嵌入表单中的 TMemo 不会响应箭头键吗?

【问题讨论】:

  • 您是否了解现有的插件框架,例如 JVCL 的 JvPlugin?
  • 是的,我知道 JvPlugin,问题是它的文档很少,所以我还没弄清楚如何使用它,另外我想要一个插件系统,插件可以使用其他插件插件,JvPlugin 是否支持这种功能?
  • 更新:我构建了一个没有插件系统的非常简单的示例,在这种情况下,TMemo 确实响应箭头键(问题中 url 中显示的示例实际上可以正常工作)。因此,问题在于我构建的插件系统,这是一个单独的问题。

标签: forms delphi plugins


【解决方案1】:

我在柜台之前以同样的方式使用 Form.Preview := True 来继承关键活动以使其成为全局。试试看this example对你有用。

【讨论】:

  • 我也想过,但没有帮助。该效果也适用于 TEdit 控件,因此它必须是接收箭头键消息的一般问题。
【解决方案2】:

问题在于我构建的插件系统(仍有待确定)而不是嵌入本身。

【讨论】:

    猜你喜欢
    • 2017-10-19
    • 1970-01-01
    • 2018-01-17
    • 1970-01-01
    • 1970-01-01
    • 2011-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多