.rc
bmp0 bmp 0.bmp
gif0 gif 0.gif
text txt dblog.txtbrcc32为res.pas
MyRes:=TResourceStream.Create(HInstance,'bmp0',pchar('bmp'));
Image1.Picture.Bitmap.LoadFromStream(MyRes);
MyRes.Free;//可以MyRes:=TResourceStream.Create(HInstance,'bmp0',pchar('bmp'));
Image1.Picture.Graphics.LoadFromStream(MyRes);
MyRes.Free;//不可以Image1.Picture.LoadFromFile('0.gif');//可以请问如何调用res中的gif文件

解决方案 »

  1.   

    Image不可以直接显示gif图片的,
    必须用第三方控件。
    去这儿下载一个免费的吧
    http://www.sulako.com/downloads.htm
      

  2.   

    我用的就是这个,所以:Image1.Picture.LoadFromFile('0.gif');是可以的,但是为什么MyRes:=TResourceStream.Create(HInstance,'gif0',pchar('gif'));
    Image1.Picture.Graphics.LoadFromStream(MyRes);
    MyRes.Free;就不可以,
      

  3.   

    那么用了这个控件后应该如何在image中显示gif呢
      

  4.   

    gifimage这个控件带有一个从资源读取gif的例子。比如资源文件定义Smile   GIF   "Smile.gif"读取的时候用GIF.LoadFromResourceName(HINSTANCE, 'Smile');
      

  5.   

    因为我用得D7,所以找了一个支持D7得gifimage.pas
    把它放到delphi引用的路径里,
    在程序里引用
    uses gifimage;然后在你想用的事件里添加代码
    var
      GIF: TGIFImage;
    begin
      gif:=tgifimage.Create;
      try
        gif.LoadFromResourceName(HINSTANCE, 'Smile');
        image1.Picture.Assign(gif);
      finally
        gif.Free
      end;
    end;