【问题标题】:Delphi memo box won't capture Return keyDelphi 备忘录不会捕获返回键
【发布时间】:2010-07-09 04:17:12
【问题描述】:

我有一个包含两个表单的应用程序,它们都是对话框,它们都有备忘录框,并且它们都有一个确定按钮,但是一个对话框的行为与另一个不同 - 如果我在备忘录区域并且我输入一些内容然后按回车键,表单关闭,但在另一种表单中,它转到备忘录的下一行(这就是我希望它的行为方式)。

我不知道如何修复另一个表单,以便在备忘录中按 enter 不会关闭它,而是让它进入下一行。我什至将备忘录组件从“好”表单复制到“坏”表单,它仍然这样做,还比较了表单属性,但它们是相同的!知道为什么会这样吗?

【问题讨论】:

    标签: delphi forms dialog return enter


    【解决方案1】:

    两种可能:

    1) 备忘录需要有 WantReturn 才能让备忘录本身处理 RETURN 键。

    2) 检查表单上的任何 KeyPress/KeyDown/KeyUp 处理程序,以查看它们是否处理 RETURN 键。如果表单有 KeyPreview=TRUE,那么表单的键盘处理程序将在备忘录之前执行,如果表单的键处理程序处理 RETURN,那么备忘录将永远看不到它。

    【讨论】:

    • 感谢您的回复 :) 我已经检查了 WantReturns 并且它们已经设置为 true,我已经删除了所有密钥处理程序并检查了 KeyPreview 是否为 false...但它仍然不工作!啊……最烦人的是,它以另一种形式完美运行!不知道它可能是什么......表单上有一个“确定”按钮,但它的 Defualt 属性设置为 false 并且它的选项卡顺序就像 3 所以我认为这不会捕获返回键.. .不太确定
    • 您必须简化它不起作用的表单。表单上必须存在干扰的其他组件之一。首先对源文件进行完整备份,然后尝试删除备忘录以外的所有其他组件。然后再次运行程序/表单,看看它是否有效。它没有,然后尝试使这个简单的形式成为应用程序的唯一形式,然后再试一次。如果仍然无法正常工作,请尝试将这个简单的应用程序提供给某个地方以供下载,以便其他人可以查看它。
    猜你喜欢
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多