如何添加资源并使用它们

时间:2009-12-18 14:44:19

标签: delphi resources

在我的应用程序中,我想添加2个图像作为资源

我想使用那些图像,当我在我的应用程序中单击是按钮时,第一个图像将被设置为壁纸,当我在我的应用程序中单击否按钮时,第二个图像将被设置为桌面壁纸

提前致谢

问候

1 个答案:

答案 0 :(得分:20)

最简单的方法是创建一个文本文件,并将其命名为resources.rc或其他东西(只要它与项目文件的名称不同,因为它已经拥有自己的资源文件)。

如果您要添加图片,则需要添加以下行:

IMG_1 BITMAP "c:\my files\image1.bmp"
IMG_2 RCDATA "c:\my files\image2.jpg"

请注意,第一个参数是唯一的标识资源名称。 第二个参数是资源类型。有些常量可用,例如BITMAP和AVI。对于其他人,请使用RCDATA。 第三个参数是资源的完整路径和文件名。

现在,在Delphi中,您可以将此.rc文件添加到项目管理器中的项目中。

要使用资源,您需要根据资源类型使用不同的方法。

要加载位图,您可以使用:

imgWallpaper1.Picture.Bitmap.LoadFromResourceName(HInstance, 'IMG_1');

要加载JPEG,您需要将其转换为:

var
   jpgLogo: TJpegImage;
   RStream: TResourceStream;
begin
     RStream := TResourceStream.Create(HInstance, 'IMG_2', RT_RCDATA);
     Try
        jpgLogo := TJpegImage.Create;
        Try
           jpgLogo.LoadFromStream(RStream);
           imgLogo.Picture.Graphic := jpgLogo;
        Finally
           jpgLogo.Free;
        End;
     Finally
        RStream.Free;
     End; {Try..Finally}