我正在尝试创建一个有趣的基本地图编辑器,它包含一个滚动框和绘图框(用于绘制网格)。
在paintbox的OnMouseDown事件中,我在运行时创建图像并将它们添加到滚动框内,网格绘图框被绘制在图像上方(因为如果网格位于后面,它看起来不太好)。
以下是一个示例屏幕:
我的问题将解决我的两个问题。
这就是我的问题所在,要解决上面的问题我首先需要在鼠标光标下获取Image。但是因为我在图像上方绘制了网格(绘图框),所以光标只能看到'绘制框网格,而不是底层图像。
我确实尝试过将paintbox网格复制到TImage,但它出错了,我的内存错误就出现了。地图的大小可能非常大,因此将网格放在位图上并不理想,因为内存和限制等。
网格必须位于顶部,否则它看起来像这样:
隐藏了网格,我不希望这种情况发生。
那么,如何使用FindVCLWindow或类似内容查看paintbox并获取下面的图像?
答案 0 :(得分:8)
将PaintBox的Enabled
属性设置为False
。这将让鼠标消息通过。
此外:
在PaintBox的
OnMouseDown
事件中,我在运行时创建图像并将它们添加到滚动框中
将其更改为ScrollBox上的OnMouseDown
事件。按ScrollBox.[Horz/Vert]Scrollbar.Position
调整坐标。