虚拟StringTree的提示窗口被屏蔽在屏幕上

问题描述:

看到这个屏幕截图,中间是一个由TVirtualStringTree控件生成的小提示窗口,它们被放在屏幕上,这些提示窗口将一直存在,直到应用程序退出。当显示树视图的提示并且鼠标快速离开它旁边的窗口时,问题就会发生。虚拟StringTree的提示窗口被屏蔽在屏幕上

有关如何避免这种情况或如何清除这些未删除的提示窗口的任何想法,如果它很难这样做?

alt text

我前几天问a similar question,而在截图的提示窗口的外观一样的,是不一样的问题。这个问题,提示文本从不显示,只显示那种未完成的提示窗口;这个问题,提示文本显示,但提示窗口在一个案例中没有被完全删除(如上所述)。希望很清楚。

+0

你的程序在某种循环中忙吗?对于VirtualTree提示或甚至常规提示,这不是正常行为。你有没有试过在另一台机器上运行程序,它的行为是否一样? – Remko 2010-01-22 11:19:21

+0

嗨Remko,它并不忙于某种循环。我忘了提及这是一个Word插件...也许很难找到问题的原因,但我们能够清除这些提示窗口剩菜剩饭吗? – 2010-01-22 18:12:34

它有助于重新绘制窗口吗?

+0

不,甚至刷新整个电脑桌面并没有帮助,那些似乎是独立的窗口,但没有未上漆的窗口区域... – 2010-01-23 12:09:02

如果这是一个Word插件,可能是一个原因。也许你应该创建你自己的提示窗口类(从TVirtualTreeHintWindow继承),你可以自己管理哪个实例,然后重写GetHintWindowClass方法来使用这个类。

+0

非常感谢您的提示,straveu!我自己的提示窗口应该做什么特别的操作?小样本表示感谢! – 2010-02-22 14:46:34