次の方法で共有


CFont::CreateFontIndirect

更新 : 2007 年 11 月

lpLogFont が指す LOGFONT 構造体で与えられた特性で CFont オブジェクトを初期化します。

BOOL CreateFontIndirect(
   const LOGFONT* lpLogFont 
);

パラメータ

  • lpLogFont
    論理フォントの特性を定義した LOGFONT 構造体へのポインタ。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

このフォントは任意のデバイスで現在のフォントとして選択できます。

このフォントは、LOGFONT 構造体で指定された特性を持つことになります。フォントが CDC::SelectObject メンバ関数を使って選択されたときは、GDI のフォント マッパは、論理フォントを存在する物理フォントと組み合わせようとします。論理フォントに完全に一致するフォントが見つからなかったときは、要求する特性をできるだけ多く持った、代わりのフォントを用意します。

CreateFontIndirect 関数を使って作成された 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.

// Initializes a CFont object with the characteristics given 
// in a LOGFONT structure.
CFont font;
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT));       // zero out structure
lf.lfHeight = 12;                      // request a 12-pixel-height font
_tcsncpy_s(lf.lfFaceName, LF_FACESIZE, 
   _T("Arial"), 7);                    // request a face name "Arial"
VERIFY(font.CreateFontIndirect(&lf));  // create the font

// Do something with the font just created...
CClientDC dc(this);
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

参照

参照

CFont クラス

階層図

CFont::CreateFont

CFont::CreatePointFontIndirect

CDC::SelectObject

CGdiObject::DeleteObject

CreateFontIndirect

その他の技術情報

CFont のメンバ