首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎样将字体(.ttf)文件嵌入至资源中并且用程序读取字体?解决方法

2012-02-03 
怎样将字体(.ttf)文件嵌入至资源中并且用程序读取字体?怎样将字体(.ttf)文件嵌入至资源中并且用程序读取字

怎样将字体(.ttf)文件嵌入至资源中并且用程序读取字体?
怎样将字体(.ttf)文件嵌入至资源中并且用程序读取字体?

我制作了一个小程序,使用了艺术字体。想在别的地方使用,但是不能确定目标机器是否安装了这个字体。所以想让程序和字体一起打包传输。该怎样做呢?

[解决办法]
使用标准资源读取方法找到字体资源,例如
HINSTANCE hInstRes = NULL or the dll/exe that contains the font resource;
HRSRC hRsrc = hFindResource(hInstRes, _T("the private font name") or ID_MYFONT, RT_FONT);
DWORD cbSize = SizeofResource(hInstRes, hRsrc);
HGLOBAL hMem = LoadResource(hInstRes, hRsrc);
LPVOID pvData = LockResource(hMem);
DWORD nFontsInstalled = 0;
HANDLE hFontInstalled = AddFontMemResourceEx(pvData, cbSize, NULL, &nFontsInstalled);
// OK使用字体。
CreateFont(...);

// 最后删除字体资源。
RemoveFontMemResourceEx(hFontInstalled);

热点排行