【发布时间】:2020-06-24 13:46:46
【问题描述】:
我目前正在将旧的 Borland C++Builder 5 项目移植到 C++Builder 10.3。
我已经成功移植了所有项目文件,它可以按预期编译和运行,但是某些表单中的 Enter 键存在问题。
旧项目将始终执行与双击表单中的项目相同的功能,而无需使用显式代码。
在新项目中,这不起作用。在选定对象上按 Enter 键没有任何作用。
C++Builder 10.3 中是否有一些属性需要为此设置?或者,是否必须在 Form 的 OnKeyPress 事件中编写显式代码?
【问题讨论】:
-
你能说得更具体点吗?请提供一个在 5 中有效但在 10.3 中无效的实际示例。自 5 发布以来的 20 年中,密钥处理没有太大变化。
-
嗨,雷米,感谢您帮助我。所以不工作的表单只是 TCustomListView 组件的派生类。它们都覆盖了 FormKeyPress 方法。在旧版本中,回车键只会选择列表视图中突出显示的对象。在 10.3 中,除非我自己在 FormKeyPress 方法中实现该功能,否则在列表视图中的突出显示对象上按 enter 不会执行任何操作。我想知道表单中是否有一些属性需要设置,以便按 Enter 自动选择列表视图中突出显示的对象?
-
确保您的关键事件处理程序已分配给您的组件...在移植到较新的 IDE 时发生过几次,事件的标头和主体都在那里,但分配已损坏(@ 987654322@)... 通常的补救措施是清除组件事件属性(或将其设置为不同的处理程序),然后将其设置回它应该使用的事件处理程序例程。但是,如果您在运行时分配处理程序,那么它就是其他东西...
标签: c++ c++builder borland-c++