CFont::CreatePointFontIndirect
この関数は CreateFontIndirect と同じですが、LOGFONT の lfHeight のメンバーは、デバイス単位ではなくポイントの 1/10 で解釈されます。
BOOL CreatePointFontIndirect(
const LOGFONT* lpLogFont,
CDC* pDC = NULL
);
パラメーター
lpLogFont
LOGFONT をポイントし、構成する論理フォントの特性を定義する。LOGFONT の構造体のメンバーは lfHeight の論理単位ではなくポイントの 1/10 で測定されます。(12 ポイントのフォントを要求するに lfHeight を 120 に設定します。)pDC
論理単位に lfHeight の高さの変換に使用される CDC オブジェクトへのポインター。nullが変換では、画面のデバイス コンテキスト使用されます。
戻り値
成功した場合、は 0 以外を返します。
解説
この関数は、Windows に LOGFONT の構造体を渡す前に pDC によってに指す CDC のオブジェクトを使用して論理単位に自動的に lfHeight の高さを変換します。
CreatePointFontIndirect の関数によって作成された CFont のオブジェクトを使い終わったら、最初にフォントをデバイス コンテキストから選択して CFont のオブジェクトを削除します。
使用例
// The code fragment shows how to create a font object,
// select the font object into a DC (device context) for text
// drawing, and finally delete the font object.
LOGFONT lf;
// clear out structure.
memset(&lf, 0, sizeof(LOGFONT));
// request a 12-pixel-height font
lf.lfHeight = 120;
// request a face name "Arial".
_tcsncpy_s(lf.lfFaceName, LF_FACESIZE, _T("Arial"), 7);
CClientDC dc(this);
CFont font;
VERIFY(font.CreatePointFontIndirect(&lf, &dc));
// Do something with the font just created...
CFont* def_font = dc.SelectObject(&font);
dc.TextOut(5, 5, _T("Hello"), 5);
dc.SelectObject(def_font);
// Done with the font. Delete the font object.
font.DeleteObject();
必要条件
ヘッダー: afxwin.h