次の方法で共有


CFont::FromHandle

更新 : 2007 年 11 月

Windows の GDI フォント オブジェクトの HFONT ハンドルが与えられたとき、CFont オブジェクトへのポインタを返します。

static CFont* PASCAL FromHandle(
   HFONT hFont 
);

パラメータ

  • hFont
    Windows フォントへの HFONT ハンドル。

戻り値

正常終了した場合は、CFont オブジェクトへのポインタを返します。それ以外の場合は NULL を返します。

解説

CFont オブジェクトがまだハンドルに関連付けられていないときは、一時的な CFont オブジェクトを作成して関連付けます。この一時的な CFont オブジェクトは、次にアプリケーションがイベント ループでアイドル状態になるまで有効です。アイドル状態になったとき、一時的なグラフィック オブジェクトはすべて削除されます。つまり、一時的なオブジェクトは 1 つのウィンドウ メッセージを処理する間だけ有効です。

使用例

// The code fragment shows how to create a font object using
// Windows API CreateFontIndirect(), convert the HFONT to a 
// CFont* before selecting the font object into a DC (device 
// context) for text drawing, and finally delete the font object.

// Initialize a CFont object with the characteristics given 
// in a LOGFONT structure.
LOGFONT lf;

// clear out structure
memset(&lf, 0, sizeof(LOGFONT));     
// request a 12-pixel-height font
lf.lfHeight = 12;           
// request a face name "Arial"
_tcsncpy_s(lf.lfFaceName, LF_FACESIZE, _T("Arial"), 7);
// create the font
HFONT hfont = ::CreateFontIndirect(&lf);  

// Convert the HFONT to CFont*.
CFont* pfont = CFont::FromHandle(hfont);

// Do something with the font just created...
CClientDC dc(this);
CFont* def_font = dc.SelectObject(pfont);
dc.TextOut(5, 5, _T("Hello"), 5);
dc.SelectObject(def_font);

// Done with the font. Delete the font object.
::DeleteObject(hfont);

必要条件

ヘッダー : afxwin.h

参照

参照

CFont クラス

階層図

その他の技術情報

CFont のメンバ