Is there anyway to force a TSpeedButton to be redrawn flat?
When using a touch screen monitor, the mouse does not move out of the button, so the raised border stays on screen, even when you click on a different button.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
It doesn’t look like this is something I can reproduce without a touch screen, but if I understand you correctly, when someone touches a button then it goes hot (either rising up if Down is true, or highlighting), but when they touch another button it doesn’t trigger the mouse exit so it stays hot. Is that correct?
There are a couple ways to fix this. Probably the simplest is on each click event make a call top a method that moves the mouse off off the button.
If that is not enough then you can disable the button that was clicked on, move the mouse off, refresh it, and re-enable it. A disabled button cannot be hot. You might want a timer that enables the button after it was disabled for a second with the mouse moved off of it, but I am betting that just moving the mouse will be enough.
Additionally I always thought it was cheese when a mouse cursor was left on the button that I just touched, so this will make your touch system look classier.