找不到资源png
我制作了一个名为 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 方工具是 pngdelphi,从 此处
下载 但 sbitbtn 加载本机 png 文件......
i make a png resource file named glyfs.rcGLYF_CONFEDITOR RCDATA confeditor.png GLYF_EXTRAFE RCDATA extrafe.png .......
i add it in my project.
Put a TsBitBtn (it is an alphaskin component class) and try to load the glyf from resource filesbitbtn1.Glyph.LoadFromResourceName(HInstance,'GLYF_CONFEDITOR');
when i run i get the error resource file with name 'GLYF_CONFEDITOR' not found.
What am i doing wrong?
The 3 party tool i use for png is pngdelphi downloaded from here
But the sbitbtn loads native the png files...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的代码存在多个问题:
TBitBtn.Glyph
的类型为TBitmap
,并且TBitmap.LoadFromResourceName
假定RT_BITMAP
资源类型,而不是RT_RCDATA
,因此出现“资源未找到”错误。EInvalidGraphic
或类似的错误,因为TBitBtn.Glyph
是TBitmap
并且 TBitmap 自然不会加载 PNG 数据。¹ LoadFromResourceName 后面有 WinAPI 函数 LoadImage,实际错误消息可能会有所不同。
There are multiple problems with your code:
TBitBtn.Glyph
is of typeTBitmap
andTBitmap.LoadFromResourceName
assumesRT_BITMAP
resource type, notRT_RCDATA
, hence "resource not found" error.EInvalidGraphic
or similar¹ because again -TBitBtn.Glyph
isTBitmap
and naturally TBitmap wont load PNG data.¹ there is WinAPI function LoadImage behind LoadFromResourceName, actual error message may vary.