名前 題名 ▼ KONさん > ▼ Mr.XRAYさん > > ちょっと話題が変わりますが…。 > 最近、XRAY様のサイトの記事で、 > [ 160_コンポーネントの実行時生成 ] の 03_複数のボタンを作成 ( TList を使用 ) が > 非常に参考になりました。m(_ _)m > ボタンを押すとインスタンスが消えるというアレです^^; > > と、申しますのは、 > FireMonkeyでは、例えば ボタン等 のコンポーネント に TFloatAnimation等を > [構造ビュー] でぶら下げて、適切なプロパティを設定し、 > アニメーションを行ったりする事が可能なのですが、 > いちいち面倒なので、私としてはもやもやしてました。 > ※ StyleBookでも指定できますが、プログラムから行いたいし、コンポーネント別に > 様々な動きをさせたい為、 > 一度に複数のコンポーネントのスタイルを変える分にはすごく良いです。 > > 私としては、プログラムからどの様なアニメーションを行うのかを引数で指定し、 > 関数呼び出しで指示(トリガー)を出し、 > 勝手にアニメーションを行わせたかったという思いがあったのです。 > もちろんアニメーションが終了すればインスタンスも自動的に消滅して欲しい。 > > そこで、TAutoAnimationという新たなクラスを作りました。 > アニメーションの指示があれば、Position、RotationAngle、Scaleプロパティ等を > 変化させる TFloatAnimation等 を動的に生成、 > 生成したインスタンスへのポインタをTListで保存し、アニメーション終了と共に > ( OnFinishイベントハンドラに飛んできた時か、Stopメソッドを発行がなされた時 ) 、 > TListに登録しているインスタンスやポインタを自動的に消去。 > これで、[構造ビュー] や StyleBookを使わずに、 > 丸投げ出来るアニメーションを作成する事ができました。 > > 問題だったのは、自動的にインスタンスを消滅させるカラクリで悩んでまして、 > XRAY様の記事がすごく参考になったのです。感謝します。 > Object Pascal HandBookも参考しなりますし、色々とポケットが増えそうで > 面白いですね。 GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link