我想從我的資源中加載字體。這是呼叫我使用,目前返回NULL,因此失敗:當嘗試從資源加載字體時,FindResource返回NULL
HRSRC rsrcData = FindResource(NULL, MAKEINTRESOURCE(IDF_ROBOTBLACK), L"FONT");
我加入了字體資源我RESOURCE.RC文件,現在列出了以下內容:
/////////////////////////////////////////////////////////////////////////////
//
// Font
//
IDF_ROBOTBLACK FONT "Resources\\Fonts\\Roboto\\Roboto-Black.ttf"
此外,該是我的Resource.h看起來像:
#define IDF_ROBOTBLACK 108
據我所知,這應該是所有的整個過程。
我已成功設法加載另一種資源格式「PNG」,該資源格式也是作爲新的自定義資源類型添加的,它遵循相同的過程,只是將「FONT」替換爲「PNG」。
但是,與我的「PNG」加載方法相比,「FONT」從未找到。無論發生什麼,FindResource都返回NULL。
通過GetLastError函數的錯誤代碼returend()爲1813
我擔心的是.TTF是不是在所有真正支持。我之前在我的解決方案資源中添加了各種格式,例如.exe和.png,.jpg,但在添加資源時甚至沒有在文件選取器中建議.ttf。
這是不是意味着要這樣存儲?
我這樣做只是你在你的代碼中描述的方式剪斷。然而,之後會發生什麼並不重要,因爲LoadResource失敗,並且rsrcData爲NULL – Sossenbinder
@Sossenbinder我只是添加了一個執行這個工作的函數,它爲我運行;)gl代表下一個問候。 –
您也可以使用'AddFontMemResourceEx',而不是從資源讀取並保存到磁盤。 –