资源png未找到

时间:2011-06-26 12:45:35

标签: delphi png delphi-7

我创建一个名为 glyfs.rc 的png资源文件 GLYF_CONFEDITOR RCDATA confeditor.png
GLYF_EXTRAFE RCDATA extrafe.png
.......

我将它添加到我的项目中 放一个TsBitBtn(它是alphaskin组件类)并尝试从资源文件加载glyf sbitbtn1.Glyph.LoadFromResourceName(HInstance,'GLYF_CONFEDITOR');
当我运行时,我得到名称为' GLYF_CONFEDITOR'的错误资源文件。未找到。

我做错了什么?

我用于png的3方工具是从here下载的pngdelphi 但是sbitbtn加载png文件原生...

1 个答案:

答案 0 :(得分:5)

您的代码存在多个问题:

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

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