歪
歪就歪
Unregistered / Unconfirmed
GUEST, unregistred user!
在Form上排列若干个SpeedButton,将其Flat和Transparent
设为True,运行时,当Mouse滑过后,鼠标划过的键会相应显示
出白色边缘。
问题是,如果鼠标划动较快,尽管鼠标已经从某一个按键滑出,
那白色边缘仍然保持着。而我希望在这一组SpeedButton上,只有
鼠标正在的那个按键显示白边缘,其他的都不显示边缘。
在VCL的源码里,Buttons.pas中,我尝试注释掉:
TSpeedButton.UpdateTracking里的Perform(CM_MOUSELEAVE)和
Perform(CM_MOUSEIN)两行,似乎可以解决。
但这确实不是好办法,是否有其他的办法?或用SpeedButton
派生一个控件?我在控件编程方面的水平为O,自己尝试override
SpeedButton的Paint方法,但没成功,请个位高手给个答案吧,
最好能有源码。
设为True,运行时,当Mouse滑过后,鼠标划过的键会相应显示
出白色边缘。
问题是,如果鼠标划动较快,尽管鼠标已经从某一个按键滑出,
那白色边缘仍然保持着。而我希望在这一组SpeedButton上,只有
鼠标正在的那个按键显示白边缘,其他的都不显示边缘。
在VCL的源码里,Buttons.pas中,我尝试注释掉:
TSpeedButton.UpdateTracking里的Perform(CM_MOUSELEAVE)和
Perform(CM_MOUSEIN)两行,似乎可以解决。
但这确实不是好办法,是否有其他的办法?或用SpeedButton
派生一个控件?我在控件编程方面的水平为O,自己尝试override
SpeedButton的Paint方法,但没成功,请个位高手给个答案吧,
最好能有源码。