用CreateFont创建字体
要使用CreateFont函数创建字体,你需要提供以下参数:
- 字体的高度(单位为像素)
- 字体的宽度(可以为零,默认为0)
- 字体的斜体(TRUE为斜体,FALSE为非斜体)
- 字体的下划线(TRUE为下划线,FALSE为非下划线)
- 字体的粗细(0为默认粗细,FW_BOLD为加粗)
- 字体的倾斜性(0为默认,大于0为右倾斜,小于0为左倾斜)
- 字体的下划线(TRUE为有下划线,FALSE为没有下划线)
- 字体的删除线(TRUE为有删除线,FALSE为没有删除线)
- 字体的字符集(具体值可以参考MSDN文档)
- 字体的输出精度(默认为OUT_DEFAULT_PRECIS)
- 字体的剪辑精度(默认为CLIP_DEFAULT_PRECIS)
- 字体的质量(默认为DEFAULT_QUALITY)
- 字体的族别(默认为DEFAULT_PITCH | FF_DONTCARE)
- 字体名称
以下是一个示例代码:
HFONT hFont = CreateFont(
20, // 字体高度
0, // 字体宽度
0, // 斜体
0, // 下划线
FW_NORMAL, // 字体粗细
0, // 倾斜性
0, // 下划线
0, // 删除线
DEFAULT_CHARSET, // 字符集
OUT_DEFAULT_PRECIS, // 输出精度
CLIP_DEFAULT_PRECIS, // 剪辑精度
DEFAULT_QUALITY, // 字体质量
DEFAULT_PITCH | FF_DONTCARE, // 字体族别
L"Arial" // 字体名称
);
// 使用字体
HDC hdc = GetDC(NULL);
HFONT hOldFont = (HFONT)SelectObject(hdc, hFont);
TextOut(hdc, 10, 10, L"Hello, World!", wcslen(L"Hello, World!"));
SelectObject(hdc, hOldFont);
DeleteObject(hFont);
ReleaseDC(NULL, hdc);
这个示例创建了一个高度为20像素,字体名称为Arial的字体,然后将其应用到设备上下文(HDC)中,并在窗口上方绘制了一段文本。