如何防止双击"打开文件"对话框,在其下面的表单上注册单击?

Mas*_*ler 10 windows delphi click messages double-click

我有一个自定义控件,它本质上是一个绘图画布,以及一个用它来编辑文件的程序.但是,当打开一个新文件时,会发生一些非常奇怪的事情.

如果用户在"打开文件"对话框(标准TOpenDialog控件)中双击文件而不是选择项目并点击ENTER,则下面的画布会注册一个单击事件,并在加载后立即在光标位置执行绘制操作.完成.

显然,这不是预期的行为.之前我注意到,当您双击鼠标时,双击消息会第二次单击消息之前到达.我认为对话框可能会从双击中关闭,然后第二次单击消息到达并被发送到适当坐标处的任何内容,因为它已经消失了.

有什么方法可以让这个停止发生吗?我无法告诉我的代码"加载后,只需吃下一次点击",因为它可能已经用"ENTER"键打开,然后它将错过第一次合法点击.谁能想到更好的方法来处理这个问题?(使用Windows 7,以防它有所作为.)

Rob*_*edy 7

如果有"第二次点击消息",那就有问题了.(首先,Windows没有"点击"消息,只有鼠标按下和鼠标按下消息.)双击如下:鼠标按下,鼠标按下,双击,鼠标按下.对话框在双击消息和第二个鼠标消息之间消失.如果您的控件收到鼠标注射消息并将其视为完整点击,那么这就解释了问题,您需要停止; 点击总是一鼠标按下和鼠标按下消息.如果你还没有得到这两者,那就不是点击了.