[lazarus] TSpeedbutton's

Shane Miller SMiller1 at stvgb.org
Tue May 9 10:02:51 EDT 2000


Argh,

I am struggling.  Can anyone explain something to me.  

For the TSpeedbutton's I'm not getting the button to return to it's normal state (FLAT if FLAT is true) when I leave it.  

I get the MOUSELEAVE message sometimes, but not others.  
I am not sure what the problem is because I'm not sure the exact flow that is supposed to be happening.

When I enter the button, the TWincontrol actually gets the MOUSEMOVE message.  
I do a ControlAtPos to see if there is a non-windowed control at that position.  If so, I pass the MOUSEMOVE message on to it.

In Speedbutton I get the mousemove message and because FMOUSEINCONTROL 
is false I know I just entered it.  
I set FMOUSEINCONTROL to TRUE an I call the PAINT procedure.  
If it's fFlat is true, I set the FState to bsDown and I paint it accordingly.

I continue to get MOUSEMOVE meassages until I leave the button.  After I leave, I no longer get the messages so I no longer can set it UP again.

I'm confused and tired of looking at this.  Can someone else please take a look and see what I'm doing wrong.  Do I need to send a WMCANCELMODE message to set the button up?  If so, from where?

Thanks
Shane







More information about the Lazarus mailing list