2011-06-26 117 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面對錯誤信息的正確答案 –