TSpeedButton (TToolbar 上の) が押されたように見えるように設定するにはどうすればよいですか? クリックしたときにのみ強調表示されますが、マウスを離すと通常になります。プロパティ Stayspressed を True に設定すると、実際にプロパティ IsPressed は True になり、そのまま維持されますが、この状態は表示されません。
2 に答える
どのようなスタイルを使用していますか? 含まれるものの中には、すべてのエフェクトが含まれていないものもあります。
まず、windows スタイルに戻します。それが機能する場合、コードの問題ではなく、スタイルの問題であることは間違いありません。
別のスタイルに効果 (実際にはアニメーション) を追加する場合:
- ボタンを右クリックし、[デフォルト スタイルの編集] を選択します。
- アニメーションを表示する Rectangle の Fill.Color プロパティを見つけます。
- アニメーション アイコンをクリックし、TColorAnimation を追加します。
- 設定: StartValue (既存の値)。
- ストップバリュー
トリガー: IsPressed=True
上記を繰り返して、Start 値と StopValues を逆にし、IsPressed=False のトリガーで 2 番目のアニメーションを追加します。
これは難しい問題です。標準の TButton スタイルには機能する効果が含まれています。「IsPressed」が true の場合、ボタンは押されたように見えます。ただし、他のスタイル (特に独自のスタイル) は、はるかに問題になる可能性があります。最良の解決策は、2 つのスタイルを持ち、ボタンが押されたときにスタイルを変更することです。
「マウスオーバー」アニメーションをボタンの「押された」アニメーションで動作させることはかなり不可能であることがわかりました-通常、マウスが上を通過するときにボタンをわずかに強調表示し、押したときに効果を追加します-特にしたくない場合デフォルトの影の効果ですが、色の効果があります(私は好きです。デフォルトのボタンを押したときの内側の影の効果は好きではありません)が、常に問題が発生するようでした. いずれかの効果が発動しないか、ボタンの状態が期待どおりに戻らないかのいずれかです (視覚的に意味します)。
私のアドバイス - 押されたボタンのスタイルを変更するコードを少し追加してください。