【发布时间】:2012-05-31 10:13:31
【问题描述】:
如何设置 TSpeedButton(在 TToolbar 上)看起来被按下?它仅在单击时突出显示,但在鼠标离开时恢复正常。我将属性 Stayspressed 设置为 True,实际上属性 IsPressed 变为并保持为 True,但此状态不可见。
【问题讨论】:
标签: delphi delphi-xe2 firemonkey
如何设置 TSpeedButton(在 TToolbar 上)看起来被按下?它仅在单击时突出显示,但在鼠标离开时恢复正常。我将属性 Stayspressed 设置为 True,实际上属性 IsPressed 变为并保持为 True,但此状态不可见。
【问题讨论】:
标签: delphi delphi-xe2 firemonkey
你用的是什么风格?一些包含的没有包含所有的效果。
首先,恢复为 windows 样式。如果可行,那肯定是样式问题,而不是代码问题。
如果你想为另一种样式添加效果(实际上是动画):
触发器:IsPressed=True
重复上述步骤以添加第二个动画,其中 Start 和 StopValues 反转并且 IsPressed=False 的触发器
【讨论】:
这是一个难点 - 标准的 TButton 样式包括有效的效果 - 当“IsPressed”为真时,按钮将看起来被按下。但是,其他样式(尤其是您自己的样式)可能会出现更多问题。我发现最好的解决方案是拥有 2 种样式并在按下按钮时更改样式。
我发现让“鼠标悬停”动画与按钮中的“按下”动画一起工作几乎是不可能的 - 通常你希望在鼠标经过时稍微突出显示按钮,然后在按下时添加效果 - 特别是当你没有不想要默认的阴影效果而是颜色效果(我更喜欢,我不喜欢默认按钮按下的内部阴影效果),但我似乎总是遇到问题。任何一种效果都不会触发,或者按钮状态不会返回到您所期望的状态(我的意思是视觉上)。
我的建议 - 添加一些额外的代码来更改按下按钮的样式,否则你可能会发疯:-)
【讨论】: