1

Delphi 2007 では、デザイン時に画像が TImageList に読み込まれます。これにより、次の問題が発生します。

  • アプリケーションで使用しているグラフィックを含むフォルダーがあります
  • たとえば、「保存」のアイコンを変更したいときはいつでも、
    1. フォルダ内のグラフィックを変更します(私自身の目的のため)
    2. アプリケーション内のすべての TImageList に沿って反復する
    3. TImageList のグラフィックを変更する

ステップ 2 と 3 を自動的に実行する方法 (コンポーネント、コンパイル スクリプトなど) はありますか?

4

3 に答える 3

2

TImageList の子孫を作成し、そこにそのようなロジックを追加できます。

TImageList 内の画像を参照するコンポーネントはインデックスによってそれを行うため、次のようにフォーマットされた TStrings 型の ImagePaths プロパティを子孫に持たせるのが最も簡単です。

#=Filename

また、文字列型のプロパティ BasePath も追加する場合があります。

次に、そのコンポーネントをロードすると、それらの画像をメモリに自動的に再ロードできます。

デザイナーにイメージをロードするデザイン時のエキスパートにすることもできます。

--jeroen

于 2009-08-14T10:03:34.797 に答える
1

クラスが完全にコンパイルされることはありません。デザインタイムクラスもリソースからストリーミングされます。

于 2009-06-25T07:19:26.883 に答える
0

実行時に画像をロードTImagelistします。このような理由から、デザイン時に画像を割り当てません。それらはすべてリソースとしてexeに追加され、実行時にそこからロードします。これは、exe を再コンパイルせずにイメージを変更できることも意味します。

于 2015-05-07T09:43:33.337 に答える