CFont::FromHandle 是 MFC(Microsoft Foundation Classes)中的 CFont 类的一个公共方法,用于根据现有的 GDI(图形设备接口)字体句柄创建一个 CFont 对象。

以下是 CFont::FromHandle 方法的基本用法:
BOOL FromHandle(
   HFONT hFont
);

  •  hFont:现有的 GDI 字体句柄。


使用该方法,您可以将一个已经存在的字体句柄(由 CreateFont、CreatePointFont、CreateFontIndirect 等方法创建)关联到一个 CFont 对象上,以便在 MFC 程序中更方便地进行管理和使用。

下面是一个简单的示例:
// 假设已经有一个 HFONT 句柄
HFONT hFont = ::CreateFont(16, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET,
                            OUT_OUTLINE_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY,
                            FF_SWISS, _T("Arial"));

// 创建 CFont 对象并使用 FromHandle 方法
CFont font;
if (font.FromHandle(hFont)) {
    // 成功关联字体句柄到 CFont 对象
    // 可以将字体对象应用于控件、设备上下文等
    CDC* pDC = GetDC();
    CFont* pOldFont = pDC->SelectObject(&font);

    // 在设备上下文中使用字体进行绘制等操作

    pDC->SelectObject(pOldFont);
    ReleaseDC(pDC);
} else {
    // 关联字体句柄失败
    // 处理错误
}

在这个示例中,FromHandle 方法被用来将已存在的 GDI 字体句柄关联到 CFont 对象上,以便在后续的绘图操作中使用。


转载请注明出处:http://www.zyzy.cn/article/detail/17835/MFC/CFont