>Kile, right off the top of my head - I think if you add, say a form property lMouseIsDown and set it to .T. in MouseDown event for that button, and reset to .F. in MouseUp, you can do your code in Click like:
>
>IF thisform.lMouseDown
>* click code here
>ELSE
>DO WHILE thisform.lMouseDown
>* click code here
>ENDDO
>ENDIF
Nick -
Thanks for the response. Unfortunately your suggestion didn't produce the results I was looking for. (actually, it prevented the click() event from ever being triggered.) I'm not sure, but I think your code is invalid. It doesn't look as if there is any possible way to ever enter the DO WHILE loop.
I am having a hard time understanding the order of events in this situation. I would assume it would be as follows: MouseDown(), Click(), MouseUp()
However, reading the descriptions in the Hacker's Guide, it sounds as if MouseDown() and MouseUp() both fire before the Click() event. This doesn't make sense to me, but if this is the case, then your suggestion would be invalid because MouseUp() would be setting MouseIsDown to .F. right before the Click() event every single time.
I tried variations of your code, and your suggestion, but I'm not having much luck. Maybe I don't need this little "feature" that bad...
I appreciate your help though!