Windows GDI:字体Font使用总结

来源:互联网 发布:php获取html表单数据 编辑:程序博客网 时间:2024/06/02 05:29

一、创建字体

1.CreatePointFont

示例:创建9号微软雅黑字体

CFont font;font.CreatePointFont(90, TEXT("微软雅黑"));

2.CreateFontIndirect

示例:创建9号微软雅黑字体

LOGFONT logFont;memset(&logFont, 0, sizeof(logFont));// 字体大小logFont.lfHeight = -MulDiv(9, GetDeviceCaps(dc.GetSafeHdc(), LOGPIXELSY), 72);logFont.lfWidth  = 0;    // 字体的宽度(默认)logFont.lfWeight = 0;    // 字体的磅数(默认,FW_BOLD为加粗)logFont.lfItalic = 0;    // 斜体logFont.lfUnderline = 0; // 下划线logFont.lfStrikeOut = 0; // 删除线logFont.lfCharSet = 0;   // 字符集(默认)// 字体名称_stprintf(logFont.lfFaceName, TEXT("%s"), TEXT("微软雅黑"));CFont font;font.CreateFontIndirect(&logFont);

二、获取系统字体

1.Win32

HGDIOBJ GetStockObject(      int fnObject   // stock object type);

常见系统字体如下:
DEFAULT_GUI_FONT
SYSTEM_FONT

示例:

HFONT hGuiFont = (HFONT)::GetStockObject(DEFAULT_GUI_FONT);

2.MFC

示例:

HFONT hGuiFont = (HFONT)::GetStockObject(DEFAULT_GUI_FONT);CFont* pGuiFont = CFont::FromHandle(hGuiFont);
0 0