gdi + PrivateFontCollection AddFontFile总是返回状态,其中包含" InvalidParameter"

时间:2015-05-04 08:11:11

标签: c++ fonts gdi+ win32gui typeface

每一个,我都使用GDI +使用我自己的字体渲染文本,但是当使用成员函数 AddFontFile(WCHAR *)时,我总是得到错误状态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:原谅我可怜的英语...... :)

<小时/> 我已经解决了这个问题,这是一个愚蠢的问题,请原谅我......请在下面查看我的答案
My answer

1 个答案:

答案 0 :(得分:3)

好的,我已经解决了这个问题......我多么愚蠢......这个问题非常愚蠢,我过早地定义了 m_font_collection !它应该在调用函数 GdiplusStartup 之后定义,只有在初始化了GDI +之后 PrivateFontCollection 才能加载你自己的字体文件...希望可以帮助某人