2011-06-26 62 views
-1

我做一个名为glyfs.rc
GLYF_CONFEDITOR RCDATA confeditor.png
GLYF_EXTRAFE RCDATA extrafe.png
.......
资源PNG没有找到

我在项目中添加它PNG资源文件。
将一个TsBitBtn(它是一个alphaskin组件类),并尝试当我跑我得到名为“GLYF_CONFEDITOR”没有找到错误信息资源文件从资源文件 sbitbtn1.Glyph.LoadFromResourceName(HInstance,'GLYF_CONFEDITOR');
加载glyf。

我在做什么错了?

3方的工具,我使用PNG是pngdelphi从here
下载但sbitbtn加载本地的PNG文件...

+1

(1)你编译过资源文件吗? (2)您是否已将编译的资源文件添加到项目中? –

+4

另外,Delphi 7不支持PNG图像(没有第三方代码)。 –

+0

Andreas Rejbramd = 1是2是 – azrael11

回答

5

有多个问题与您的代码:

  • TBitBtn.Glyph是类型TBitmapTBitmap.LoadFromResourceName假定为RT_BITMAP资源类型,而不是RT_RCDATA,因此“找不到资源”错误。
  • 即使使用RT_BITMAP,它也会抛出EInvalidGraphic或类似¹,因为再次 - TBitBtn.GlyphTBitmap,并且TBitmap自然不会加载PNG数据。

¹LoadFromResourceName后面有WinAPI函数LoadImage,实际的错误信息可能会有所不同。

+0

Tbitbtn实际上是一个Alphaskin TsBitBtn,它可以装载PNG图像... – azrael11

+0

+1面对错误信息的正确答案 –