加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何获取另一个控件下面的控件?

发布时间:2020-12-15 04:10:31 所属栏目:大数据 来源:网络整理
导读:我正在尝试创建一个有趣的基本地图编辑器,它包含一个滚动框和绘图框(用于绘制网格). 在paintbox的OnMouseDown事件中,我在运行时创建图像并将它们添加到滚动框内,网格绘图框被绘制在图像上方(因为如果网格位于后面,它看起来不太好看). 这是一个示例屏幕: 我
我正在尝试创建一个有趣的基本地图编辑器,它包含一个滚动框和绘图框(用于绘制网格).

在paintbox的OnMouseDown事件中,我在运行时创建图像并将它们添加到滚动框内,网格绘图框被绘制在图像上方(因为如果网格位于后面,它看起来不太好看).

这是一个示例屏幕:

我的问题将解决我的两个问题.

>我需要能够在运行时拖放(移动)图像.
>我还需要能够将图像的X和Y位置显示为信息.

这就是我的问题所在,要解决上面的问题我首先需要在鼠标光标下获取Image.但是因为我在图像上方绘制了网格(绘图框),所以光标只能“看到”绘制框网格,而不是底层图像.

我尝试将paintbox网格复制到TImage,但它出错了,我的内存错误.地图的大小可能非常大,因此将网格放在位图上并不理想,因为内存和限制等.

网格必须位于顶部,否则它看起来像这样:

这隐藏了网格,我不希望这种情况发生.

那么,我如何通过FindVCLWindow或类似的东西看到过去的paintbox并获得下面的图像?

解决方法

将PaintBox的Enabled属性设置为False.这将让鼠标消息通过.

进一步:

In the OnMouseDown event for the PaintBox I create images at runtime and add them inside the scrollbox

将其更改为ScrollBox上的OnMouseDown事件.通过ScrollBox调整坐标.[Horz / Vert] Scrollbar.Position.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读