私はコンポーネントを持っています。コンポーネントでは、動的なTImageListをロードする必要があります。他のプロジェクトにリソース(画像)をロード
私は今日この方法で使用しますが、私のすべてのプロジェクトでは、一度に1つずつすべてのイメージを追加する必要があります。
function NavigatorImages: TImageList;
var
vIcon: TBitmap;
I: Integer;
begin
if FNavigatorImages = nil then
begin
vIcon := TBitmap.Create;
try
FNavigatorImages := TImageList.Create (nil);
FNavigatorImages.Height := 16;
FNavigatorImages.Width := 16;
for I := 0 to 11 do
begin
vIcon.LoadFromResourceName (HInstance, 'IMAGE_' + IntToStr(I));
FNavigatorImages.AddMasked (vIcon, vIcon.Canvas.Pixels[0, FNavigatorImages.Height - 1]);
end;
finally
vIcon.Free;
end;
end;
Result := FNavigatorImages;
end;
たとえば、プロジェクトごとにリソースを追加せずに、複数のイメージをコンポーネントにロードすることができる単一のリソースファイルを作成するにはどうすればよいですか。あなたは何か方法がありますか?
完璧!ありがとう。 –
リソースをコンパイルしてプロジェクトに追加すると、 'TImageList'にはリソースを読み込むためのいくつかのメソッド、' GetResource() '、' GetInstRes() '、' ResourceLoad() '、' ResInstLoad() 'があります。 –