2010-07-09 22 views
0

大家好,希望你们一切安好。在Delphi中我有一个关于备忘录框行为的问题,我有一个应用程序有两种形式,都是对话框,它们都有备忘录框,它们都有一个OK按钮,但是一个对话框的行为与另一个不同 - if我在备忘录区域,输入内容然后按回车键,表单关闭,但以其他形式进入备忘录的下一行(这是我希望它的行为方式)。我不知道如何修复其他表格,以便在备忘录中按下输入键不会关闭它,而是使其进入下一行。我甚至将备忘录组件从'好'复制到'坏'形式,它仍然这样做,也比较了表单属性,但它们是相同的!任何想法为什么发生这种情况?我非常感谢你的帮助!德尔福备忘录框将不会捕获返回键

回答

3

两种可能性:

1)备注需要有WantReturn为了备忘录本身来处理回车键。

2)检查窗体上的KeyPress/KeyDown/KeyUp处理程序是否无效,以查看它们是否处理RETURN键。如果表单的KeyPreview = TRUE,则表单的键盘处理程序将在备忘录之前执行,并且如果表单的keyhandler处理了RETURN,则备忘录将永远不会看到它。

+0

谢谢你的回复:)我已经检查了WantReturns,它们已经设置为true,我已经删除了所有的关键处理程序,并且检查了KeyPreview是否为false ...但它仍然不起作用! aagh ..而最烦人的是它在另一种形式下完美运作!不知道它可能是什么......表单上有一个“确定”按钮,但它的Defualt属性设置为false,它的Tab键顺序是3,所以我不认为这可能会捕获返回键。 。不太确定 – Cassandra87 2010-07-11 22:35:41

+0

您必须简化不起作用的表格。表单上必须有其他组件中的一个出现干扰。首先对源文件进行完整备份,然后尝试删除“备忘录”以外的所有其他组件。然后再次运行程序/表单,看看它是否有效。它没有,然后尝试使这个简单的形式应用程序的唯一形式,并再次尝试。如果它仍然不起作用,那么请尝试使这个简单的应用程序可用于下载,以便其他人可以查看它。 – HeartWare 2010-07-13 08:23:53

+0

谢谢。创造了我的一天。 (我的意思是解决了我的一个问题) – 2012-01-03 19:31:14