gpt4 book ai didi

Delphi组件中的鼠标滚轮事件

转载 作者:行者123 更新时间:2023-12-03 15:12:02 25 4
gpt4 key购买 nike

我想编写一个使用鼠标滚轮缩放的组件类似于 Google 地球的东西。

我有一个使用 onMouseWheel 的组件,并且有属性 MaxZoom MinZoom 和 Zoom,有一个更好的选项,即使用位图 StretchDraw 我正在尝试获取表单中组件区域的位置

据我所知,我必须找到每个父级,直到找到 tCustomform 并添加所有组件的顶部和左侧组件才能获取对象位置以找到我的对象位置。有没有更好的办法

一旦我知道了位置,如果鼠标位于我的对象上方以及从哪里缩放,我就可以从鼠标光标位置缩放 map 。

有谁看过代码吗

最佳答案

如果您正在编写组件,那么您应该尝试在组件中重写这两个方法:

function DoMouseWheelDown( Shift :TShiftState; MousePos :TPoint ) :Boolean; override;function DoMouseWheelUp( Shift :TShiftState; MousePos :TPoint ) :Boolean; override;

这是 TControl 的 protected 动态方法。每当鼠标滚轮旋转时,它们就会被调用。

关于Delphi组件中的鼠标滚轮事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4342115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com