我正在做一个个人项目,最近遇到了很多问题,有很多问题需要问,但是嘿,这就是SO的作用,对吧? ;)
不管怎样,我尝试制作了一个透明的TPanel,通过制作一个自定义组件实现。我的应用程序是关于魔兽世界的,我做了一个类似于官方网站的天赋计算器,但是在Windows应用程序中。天赋是法术/技能,每个天赋都有信息,显示在工具提示中。
所以我有一个带有信息的工具提示,
我有一个天赋网格,当我将鼠标悬停在天赋上时,我想看到信息。 除此之外,我希望信息显示在鼠标指针的位置附近。
几乎可以实现。定位可以正常工作,并显示正确的信息,但是问题在这里。
看一下这张图片:
黑色半透明面板是我的工具提示。
你看到的天赋(那个小的4x6网格)位于称为pnlTalents的深灰色面板中
该面板的父级是覆盖整个表单的较浅灰色面板,称为Panel1。
名为TooltipTalent的工具提示也具有父级Panel1。
我尝试将pnlTalents发送到后面,并将TooltipTalent带到前面,但是这完全没有任何区别。
我甚至尝试在位置改变的时候使用TooltipTalent.BringToFront;
注意,工具提示在屏幕顶部带有速度按钮的较暗灰色面板上没有任何问题。
我比较了两个面板(顶部的一个和包含天赋的一个),并找不到属性上的任何区别。
我真的没有什么想法了。我不知道是什么原因导致了这个问题,也不知道该如何解决它。
作为最后的资源,我尝试放下另一个覆盖整个表单的透明面板,看看是否有所帮助,但问题仍然存在。
我也可以发布我的自定义组件代码,但那会很多。 如果您想查看代码,请告诉我,我会找到一种方法来显示它 :)
有人能帮帮我吗? 此致敬礼
不管怎样,我尝试制作了一个透明的TPanel,通过制作一个自定义组件实现。我的应用程序是关于魔兽世界的,我做了一个类似于官方网站的天赋计算器,但是在Windows应用程序中。天赋是法术/技能,每个天赋都有信息,显示在工具提示中。
所以我有一个带有信息的工具提示,
我有一个天赋网格,当我将鼠标悬停在天赋上时,我想看到信息。 除此之外,我希望信息显示在鼠标指针的位置附近。
几乎可以实现。定位可以正常工作,并显示正确的信息,但是问题在这里。
看一下这张图片:
![Talent screen](https://istack.dev59.com/9g4Rb.webp)
作为最后的资源,我尝试放下另一个覆盖整个表单的透明面板,看看是否有所帮助,但问题仍然存在。
我也可以发布我的自定义组件代码,但那会很多。 如果您想查看代码,请告诉我,我会找到一种方法来显示它 :)
有人能帮帮我吗? 此致敬礼
TToolWindow
和THintWindow
继承自TWinControl
,应该可以正常显示。你的工具提示是从TControl/TGraphicControl
派生的自定义控件吗?在这种情况下,网格将始终位于顶部。 - NGLNTCustomForm.FormStyle = fsStayOnTop
是如何实现的。另请参见WS_EX_TOPMOST。 - Arioch 'The