Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 5 of 5 total
Thread OnMouseLeave sequencing
Fri, Apr 29 2016 10:27 AMPermanent Link

Matthew Jones

I have a Form which contains two panels occupying the whole space. On
them are icons or labels which cover some of the space. The form is
parented on a panel in another form.

I have an OnMouseEnter that changes the form color when it enters, and
an OnMouseLeave that changes the color back on exit. All very well,
except that if you move over one of the labels or other items, the
mouse enter/leave doesn't work. So I set the event for each of those
items and the panels to be the same events. This is pretty good, but
flickers at times, or can get stuck uncolored, presumably because the
inter-label events go out of sequence as an enter and then a leave,
rather than leave then enter.

Now, I looked at how to solve this, and the cursor location is only
available from a OnMouseMove and not the leaves. Obviously I could have
it select on a move, but then I'd not know it had left. I'd use a
timer, but the mouse location is not available.

Anyone know a good solution?


--

Matthew Jones
Fri, Apr 29 2016 1:00 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Matthew,

<< I have an OnMouseEnter that changes the form color when it enters, and an OnMouseLeave that changes the color back on exit. All very well, except that if you move over one of the labels or other items, the mouse enter/leave doesn't work. So I set the event for each of those items and the panels to be the same events. This is pretty good, but flickers at times, or can get stuck uncolored, presumably because the inter-label events go out of sequence as an enter and then a leave, rather than leave then enter. >>

This was discussed here a while ago, but there isn't a generic solution available yet.  For now, you still have to create a custom control that forwards events to its parent via the DispatchEvent method.  See the TGridCell.DispatchEvent method in the WebGrids unit for information on how this works.

Tim Young
Elevate Software
www.elevatesoft.com
Sun, May 1 2016 5:24 AMPermanent Link

Matthew Jones

Tim Young [Elevate Software] wrote:

> This was discussed here a while ago, but there isn't a generic
> solution available yet.  For now, you still have to create a custom
> control that forwards events to its parent via the DispatchEvent
> method.  See the TGridCell.DispatchEvent method in the WebGrids unit
> for information on how this works.

Do you have any thoughts on timescale for a generic solution? Is it
even on the radar? Even a "where is the mouse at the moment" global
would solve it. (Or "where was the last reported position of the mouse"
of course). The timescale for my current project is about 4 months, but
accurate highlighting is quite important.

--

Matthew Jones
Mon, May 2 2016 2:29 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Matthew,

<< Do you have any thoughts on timescale for a generic solution? >>

At this point, with 2.05 being so late and 2.50 needing to get done this year, I wouldn't count on anything like this making it in this year.  It *may* happen, but don't count on it. Your best bet is to componentize any control for which you need to specifically handle the dispatching/forwarding of internal UI events to parent controls.

Tim Young
Elevate Software
www.elevatesoft.com
Tue, May 3 2016 4:02 AMPermanent Link

Matthew Jones

Tim Young [Elevate Software] wrote:

> << Do you have any thoughts on timescale for a generic solution? >>
>
> At this point, with 2.05 being so late and 2.50 needing to get done
> this year, I wouldn't count on anything like this making it in this
> year.  It may happen, but don't count on it. Your best bet is to
> componentize any control for which you need to specifically handle
> the dispatching/forwarding of internal UI events to parent controls.

Thanks. I will finish the application, then apply custom polish as
needed at the end.

--

Matthew Jones
Image