从Delphi中的资源文件的ID加载的问题

时间:2011-03-31 12:34:36

标签: delphi

当我使用LoadFromResourceName(HInstance, 'PNGImage0')方法时,它可以正常工作,但是当我使用LoadFromResourceID(Hinstance, 0)时却不行。它返回一个异常EResNotFound,消息“找不到资源0”。

我想知道这是什么问题?

修改

我的RC文件:

PNGImage0 RCDATA "Image0.png"
PNGImage1 RCDATA "Image1.png"
PNGImage2 RCDATA "Image2.png"
PNGImage3 RCDATA "Image3.png"
PNGImage4 RCDATA "Image4.png"
PNGImage5 RCDATA "Image5.png"
PNGImage6 RCDATA "Image6.png"

1 个答案:

答案 0 :(得分:1)

AFAIK资源按名称 按名称识别。您可能有一个资源脚本(* .rc),用于按名称标识图像,如

PNGImage0 RCDATA "FileName.png"

其中PNGImage0 定义为数字。

要将PNGImage0定义为数字,只需

const
  PNGImage0 = 1;

在一个单元(比如YourResDefines.pas)中,并将#include "YourResDefines.pas"放在* .rc文件的顶部。然后,您必须使用LoadFromResourceID(HInstance, PNGImage0)而不使用单引号。