0

我有一个带有 TImgView32 控件(Graphics32 的一部分)的 Delphi 应用程序。我正在处理鼠标移动和鼠标按下事件,这是有效的。问题是每当我在图像中使用鼠标右键时,当我松开鼠标右键(仍在我的图像内——我在松开之前没有离开图像之外)——鼠标左键不运行按钮、复选框、最小化或任何其他控件的事件。它在 TImgView32 中执行额外的鼠标按下事件,直到再次单击。当鼠标不再在我的图像中而不点击两次时,如何让鼠标点击进入正确的控制?我用XE3和2007都编译过,结果是一样的。

4

2 回答 2

0

作为一个快速而肮脏的修复,您可以在处理鼠标右键事件结束时模拟鼠标左键单击?

于 2012-11-24T20:08:03.877 回答
0

这被证明是第三方组件中的错误,而不是 Delphi 或其 VCL 库中的错误。已提交错误报告。如果图层捕获鼠标事件,请确保图像或图像查看器重置“MouseCapture”,但如果只有图像需要事件而不需要图层,请将 Layers.MouseEvents 设置为 false 作为解决方法。

于 2012-11-25T20:09:57.750 回答