gdi+ PrivateFontCollection AddFontFile 总是 returns 状态 "InvalidParameter"

gdi+ PrivateFontCollection AddFontFile always returns status with "InvalidParameter"

各位,我正在使用 GDI+ 以我自己的字体呈现文本,但是在使用成员函数 AddFontFile(WCHAR*)[=23 时,我总是得到一个错误状态 InvalidParameter =] 的 PrivateFontCollection 加载我的字体文件,这是我的代码:

PrivateFontCollection m_font_collection;
... // initialize window
GdiplusStartup(&gdi_token, &gdi_startup_input, NULL);
// here the result always is 2 (that specified as "InvalidParameter")
Status result = m_font_collection.AddFontFile(L"myfont.ttf");

我找不到任何解释为什么会出现此错误,有人知道如何解决该问题吗?谢谢! ps: 请原谅我糟糕的英语... :)


我已经解决了这个问题,这是一个愚蠢的问题,所以,请原谅我...请在下面查看我的回答

OK,我解决了这个问题。。。我好笨。。。这个问题很蠢,我把m_font_collection定义的太早了!它应该在调用函数 GdiplusStartup 之后定义,只有在 GDI+ 初始化后 PrivateFontCollection 才能加载您自己的字体文件...希望能帮到别人