解説
フォント名やサイズの指定はMFCのCFontなどを利用しても結構面倒で思ったように実現
できない(ことがある)。フォントの指定はAPIのCreateFontIndirect関数を利用するのが
無難かもしれない。
使用例
HFONT hFont;
HFONT hFontOld;
HDC hDC;
hDC = ::GetDC(m_hWnd);
hFont = CreateFont(hDC,_T("MS ゴシック"),6);
hFontOld = (HFONT)::SelectObject(hDC,hFont);
(描画処理)
::SelectObject(hDC,hFontOld);
::DeleteObject(hFont);
::ReleaseDC(hDC);
フォント指定関数
HFONT CreateFont(HDC hDC,LPCTSTR pszFontName,int nFontSize)
{
LOGFONT logfont;
ZeroMemory(&logfont,sizeof(LOGFONT));
logfont.lfHeight = -1 * nFontSize * ::GetDeviceCaps(hDC, LOGPIXELSY) / 72;
logfont.lfWeight = FW_NORMAL;
logfont.lfPitchAndFamily= FIXED_PITCH;
logfont.lfCharSet = SHIFTJIS_CHARSET;
logfont.lfQuality = DEFAULT_QUALITY;
logfont.lfOutPrecision = OUT_DEFAULT_PRECIS;
logfont.lfClipPrecision = CLIP_DEFAULT_PRECIS;
strcpy_s(logfont.lfFaceName,32,pszFontName);
return ::CreateFontIndirect(&logfont);
}