工程为dll,该工程中窗体设置了透明,然后在该窗体上放一个TListView,当列表中的数据超过列宽的时候,鼠标放上去会弹出一个类似提示信息的东西。问题是主框架调用该dll后,主框架窗体在下,dll窗体在上,将鼠标放上去后该"提示信息"会不停的闪烁(鼠标位置没有移动)。自己认为是鼠标到后边的窗体,再回来,这样反复造成的。请高手帮忙!

解决方案 »

  1.   

    设置DLL的父窗体,函数SetParent,或者创建的时候用CreateParam指定父窗体。
      

  2.   

    问题补充:
    当dll窗体后面是桌面时,“提示信息”只闪烁一次。当鼠标放到items的边框附近时,提示信息还可以变正常,像hint一样。
      

  3.   

    SQLDebug_Fan 所说的好像行不通,
    我已尝试的方法:
    1.界面不透明,为正常,但由于图片不规整,所以窗体必须透明,不行;
    2.界面部分透明,没有效果;
    3.网上有说的窗体透明控件不透明,所以TImage控件下会有窗体,但是图片不规整,图片也需要透明,那该控件下会有窗体,不行;
    4.截获消息,达到了只闪一次的效果,但不是正常的提示效果,需要正常显示效果,并且没能截获准确消息,可肯能会引进不确定因素,不行。目前尝试了这么多,期待高手解答!