我正在使用 Firemonkey 容器控件 (https://github.com/vintaggedave/firemonkey-container),因此我可以制作 VCL 应用程序,但有一些 FMX 元素。
我遇到了一个问题,但我无法让 TFireMonkeyContainer 控件响应鼠标事件(例如,MouseDown、MouseEnter、MouseMove、MouseUp 等)。
可能与消息被拦截的方式有关,但我不确定。
在我尝试发布的代码中:
鼠标按下时 鼠标输入 鼠标移动时 鼠标松开
但正如我所说,这些方法永远不会触发,奇怪的是 OnDragOver 和 OnDragDrop 可以工作(已包含在组件中)。
如何让 TFireMonkeyContainer 控件响应鼠标事件?
基本上我需要获取鼠标移动的 X 和 Y 坐标,当鼠标按下时我也需要 X 和 Y 坐标。
谢谢
你的设计有缺陷。
您不希望
TFireMonkeyContainer
响应任何鼠标事件。如果是这样,那么放置在 TFireMonkeyContainer
内的 FMX 控件将永远不会注册任何鼠标事件,因为它们已经由 TFireMonkeyContainer
处理。
您需要做的是在每个 FMX 控件上设置适当的事件。