CellHelpTag Flicker? (reported as bug 56474)

Hi, I have just recently converted a 2017R3 project to 2019R1.1 and there is a new issue. I have helptags on Listbox cells. Previously, if you hovered the mouse over any area of the cell, it would show the helptag as one would expect. However, now, if the user moves the mouse, even just a pixel, but still remains in the cell, the cellhelptag will flicker - basically, disappearing, and then re-appearing. As one can imagine, moving the cursor across a wide/large cell will cause the cellhelptag to flicker dozens of times.

Has anyone else encountered this issue? Is it a known issue? Or perhaps did the functionality of Xojo change in the last two years that cellhelptags should be used differently? Thank you for reading this and I appreciate any help on this issue!

lets start with the basics…

Which Platform / Version are you running on?

Where are you setting the helptag? and do you set it every time the mouse moves or only when it changes?

[quote=445988:@Greg O’Lone]lets start with the basics…

Which Platform / Version are you running on?

Where are you setting the helptag? and do you set it every time the mouse moves or only when it changes?[/quote]

Hi, this is Windows 7 Pro SP1 but the issue is happening across all of our company’s computers, running Win 7 through 10.

the CellHelpTag is set right when the Cell is set, which is during a method that refreshes the listbox, called manually when the window is first opened. Just a loop starting with Addrow, then setting cell contents, etc. A fairly static listbox. The listbox does not even have a mousemove event.

Note that I am experiencing this on every listbox in the app on every window, not limited to just one listbox :frowning:

Yep. I see this on Windows 10 (Xojo 2019r1.1). As long as the mouse is within the HelpTag, it flickers with every movement of the mouse. If the cell is wider than the HelpTag, movement of the mouse within the cell but outside of the HelpTag does not seem to cause the flickering.

It seems to flicker whether the cell is wider or narrower than the helptag, at least on my computer right at this moment. (Win 7 Pro SP1)

It looks to me that at some point a Xojo release introduced an issue where any mousemove cancels a helptag, and then checks for helptags to display.

Does anyone know of a way to fix this?

Maybe it’s a bug. You should open a Report with the Xojo Feedback App.

Thank you, I will do that.
edit: Case 56474 - RectControl CellHelpTag flickers constantly during mouseover

I am just surprised it hasn’t been encountered en masse/reported already - is the cell helptag something that is deprecated or out-of-date with a better method for showing celp text available?

IIRC: It was not working for a few releases. And i assume many found a workaround or stopped using it.

That’s unfortunate. Do you know what types of workarounds were used? There’s dozens of instances of these listboxes in my application where the users rely on the cellhelptags… i’m fending off pitchforks at work right now, so any sort of way to get this to work would be appreciated.

Had also issues with CellHelpTags: https://forum.xojo.com/31084-listbox-cellhelptag-not-shown-in-64bit-apps
I have for lack of time, waived the function :frowning:

What is very strange is that the cellhelptags worked perfectly in 2017R3 for me, and only recently the upgrade to 2019R1.1 is what killed it.

Maybe @Greg O’Lone will be able to help (mentioned him to remind him of this Thread) :wink:

I got fed up with cellHelpTag years ago. Instead, I use a small Canvas that I position based on the cursor’s position in the listbox (in the MouseMove event so it tracks with the mouse while it is in the cell). Then in the Canvas’ Paint event, give it the size and height based on StringWidth and StringHeight of the text I want displayed and make it visible. When the mouse moves out of the particular cell, I make the canvas invisible.

Crude method but it works for me.

@Dale Arends so you just store the text in the celltag/etc, and display the canvas at the x,y of the mousemove, then hide it with the mouseexit? i assume at negative coordinates so it doesn’t intercept any clicks?

Actually, I position it just off the pointer so that any mouseclick is still in the cell and not the canvas. I do adjust the position, usually below and to the right, to allow for the limits of the listbox.