現在、下記の環境においてマルチプラットフォームにImagelistとImageを貼り付け、Imageへのマウスフォーカスにより画像の変更を試みているのですが
最初は良いのですが、後からImagelistの画像を変更しても最新の画像が反映されないのはバグ?なのでしょうか。
環境:Windows10 64bit
Delphi 10.2 Pro
適応ボタンや設計時の情報をクリア等しても変わりません。
呼び出しは以下の通りで行っています。
Image1.Bitmap.Assign(ImageList1.Source[0].MultiResBitmap[0].Bitmap);
テストした点は、一旦画像を3つか4つ違う画像を登録してそれぞれMultiResBitmapの
値を変更して表示を確認します。
その後、画像をシャッフルするかのように入れ替えます。
そうして再度表示テストを行うと、MultiResBitmapの値で登録した画像が
最新の画像として表示されません。
ネットで探してみましたが同じような症状になっている方を見つける事が
出来ず、Imagelistやimage自体を削除して作り直したり、画像をすべて消し
登録し直しても以前の状態が保持されていたりします。
全然変更がないかというとそういう訳でもなく、MultiResBitmap[0]の数値部分は
関係なく登録順を記憶しているのでしょうか。
ご存知の方、よろしくお願い致します。
ハズしているかも知れませんが、
TImageListで画像を保持して切り替えるのなら、TGlyphコンポーネントで行ってみてはいかがでしょう?
Imagesプロパティ に TImageList の名前を入れ、
ImageIndexプロパティの値で、簡単に画像が切り替わります。
Konnoya様
ありがとうございます。
ご指示通り、設定したのですがImageIndexに数字を設定しても
反応がありませんでした。
Imagelistのitem、プロパティで言えばSource指定が必要な気がするのですが
どこでしたら良いのでしょうか。
ツイート | ![]() |