Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
320
UltraToolTipManager on interop form
posted

We have a major application (5000+ classes) which being converted over the years from VB6. We have had a lot of success with launching .NET UserControls (which are actually complete forms) from VB6 as we convert. Plus the use of Infragistics controls works well with few bugs we can attribute to Interop.

One thing I recently found however is that UltraToolTipManager does not work at all. Tooltips do not popup in the .NET form launched from VB6.

However, the regular Windows component ToolTip work fine. In fact if I add both UltraToolTipManager and a ToolTip text to the same UltraButton, when viewed in a .NET test form, both tooltips pop up. However when launched from VB6 only the Windows tooltip pops up.

Now I know you don't support interop from VB6 (nor would I want to if I didn't have to). However can anyone suggest some mechanism which makes an UltraTooltip different from a Windows Tooltip? I'm looking for some sort of way to correct it. (regular mouse events work fine in the Interop form, so .NET is catching all mouse movement, so it doesn't seem like a lack of capability to process a mouse event....).  I've just started my research but any direction would be welcome.

One additonal thing is that I've created classes based on the Ingragistics examples which can bring up Tooltips in individual cells in a UltraGrid, and nodes in a columnset on an UltraTree, and individual buttons in an UltraOptionSet all based on the UltraToolTipManager and even those don't work despite the fact that they directly capture the mouse move event in the base class. So this probably means that the issue is the way the tooltip windows is displayed in the UI, not that the event are not happening.

Thanks in advance

Parents
  • 37774
    Verified Answer
    posted

    I believe that the UltraToolTip needs to be able to locate a Form in order to properly be shown; this check is performed by using both the Form.ActiveForm property as well as checking the active foreground window's Handle.  If no form can be located, the ToolTip will not be shown because it is not possible for us to determine when the form loses focus, or when to hide it (at least I believe this was the original design decision, I am not sure).

    I believe that the difference with the standard .NET ToolTip is that it uses unmanaged code to show tooltips, so it isn't bound to the same restrictions as the UltraToolTip, which is designed to be used in completely managed environments (or at least environments that have a Form ;-) ).

    -Matt

Reply Children
No Data