1.首先通过资源管理器添加字体资源FONTNAME.ttf, 资源类型为”->"8"或者"RT_FONT”
2.字体资源添加函数
void InstallResourceFont(HINSTANCE hResInstance, LPCTSTR lpsFont, LPCTSTR lpsType)
{
HRSRC hRes = FindResource(hResInstance, lpsFont, lpsType);
if(hRes)
{
HGLOBAL hMem = LoadResource(hResInstance, hRes);
void *pData = LockResource(hMem);
DWORD dwLen = SizeofResource(hResInstance, hRes);
DWORD dwFonts = 0;
HANDLE m_hFont = AddFontMemResourceEx(
pData, // font resource
dwLen, // number of bytes in font resource
NULL, // Reserved. Must be 0.
&dwFonts); // number of fonts installed
if(m_hFont == NULL)
AfxMessageBox(_T("InstallResourceFont function fails"));
}
}
3.调用接口加载临时字体
InstallResourceFont(AfxGetResourceHandle(), MAKEINTRESOURCE(IDR_RT_FONT1), _T("RT_FONT"));
4.之后即可引入使用字体。
CFont fontNew;
fontNew.CreateFont( 16,
0,
0,
0,
FW_NORMAL,
false,
false,
false,
DEFAULT_CHARSET,
OUT_CHARACTER_PRECIS,
CLIP_CHARACTER_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH | FF_DONTCARE,
_T("FONTNAME"));