我使用Delphi 7,有一个TFrame(托管在TForm上),其中包含三个跨越整个表面的面板,呈“倒T”形状。这些面板应该是可调整大小的,所以我可以使用2个分隔条,但我想提供更好的用户体验:我想在T型交汇处只有一个单独的“大小手柄”。当用户悬停在交汇区域时,此“手柄”应该出现。
那么我的问题是:如何在鼠标移动时使控件显示在其他任何控件之上?TFrame.OnMouseMove不会被调用(显然),因为里面有面板和可能是任何类型的其他控件。我还强烈希望将所有代码保留在框架内部。
我看到有两种解决方案:
谢谢
那么我的问题是:如何在鼠标移动时使控件显示在其他任何控件之上?TFrame.OnMouseMove不会被调用(显然),因为里面有面板和可能是任何类型的其他控件。我还强烈希望将所有代码保留在框架内部。
我看到有两种解决方案:
- 安装本地鼠标钩子并使用它。但可能存在一些性能问题(或者没有?)
- 在框架内处理TApplication.OnMessage,但添加一些其他代码以模拟事件处理程序的“链”。这是因为应用程序的其他部分可能需要处理TApplication.OnMessage以满足其自身目的。
谢谢
OnMouseMove
吗?它可以只是一个共同的事件处理程序。 - TLama