热情软件屋

 

使用了SetCapture函数,控件的ToolTipText属性不起作用了


编号:QA001959
建立日期: 1999年11月4日 最后修改日期:1999年11月4日
所属类别:

张伟雄:
    VB 6
    Win98
    我用VB6写了个按钮控件,并且我在Usercontrol_MouseMove及Usercontrol_MouseDown、Usercontrol_MouseUp事件中使用语句。
     SetCapture Usercontrol.hWnd '截获Mouse事件
    这样我就可以为我的控件添加MouseIn 及MouseOut事件了,效果很好。但出现一个问题,就是控件的ToolTipText属性不起作用了,也就说不能显示ToolTipText。请问这个问题该怎样解决,请指教,谢谢!

回答:

    系统只允许一个程序使用SetCapture,控件在显示ToolTip时也使用SetCapture。所以如果你调用了SetCapture而没有ReleaseCapture,则控件无法成功调用SetCapture,自然无法显示ToolTip。你有几个办法:
    1、自己编写ToolTip显示代码,你可以参考QA000029 "如何实现那种流行的平面按钮"中提到的Soft Button的例子;
    2、使用SetWindowsHook,比较麻烦;
    3、使用Timer来判断鼠标的位置,参考QA001806 "如何使控件的内容根据鼠标的位置发生变化"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio