温馨提示×

c语言的默认字体,Windows CreateFont:创建自己的字体

小云
169
2023-09-14 03:10:30
栏目: 编程语言

在C语言中,使用Windows API函数CreateFont可以创建自定义的字体。

CreateFont函数的原型如下:

HFONT CreateFont(
int nHeight,
int nWidth,
int nEscapement,
int nOrientation,
int fnWeight,
DWORD fdwItalic,
DWORD fdwUnderline,
DWORD fdwStrikeOut,
DWORD fdwCharSet,
DWORD fdwOutputPrecision,
DWORD fdwClipPrecision,
DWORD fdwQuality,
DWORD fdwPitchAndFamily,
LPCTSTR lpszFace
);

参数说明如下:

  • nHeight:字体的高度

  • nWidth:字体的宽度

  • nEscapement:字体的倾斜度

  • nOrientation:字体的旋转度

  • fnWeight:字体的粗细程度

  • fdwItalic:是否为斜体

  • fdwUnderline:是否带下划线

  • fdwStrikeOut:是否带删除线

  • fdwCharSet:字符集

  • fdwOutputPrecision:输出精度

  • fdwClipPrecision:剪辑精度

  • fdwQuality:字体质量

  • fdwPitchAndFamily:字体的字间距和家族

  • lpszFace:字体名称

例如,创建一个红色、斜体、粗体、大小为20的字体,可以使用以下代码:

#include <windows.h>
int main()
{
HWND hWnd = GetConsoleWindow();
HDC hdc = GetDC(hWnd);
HFONT hFont = CreateFont(20, 0, 0, 0, FW_BOLD, TRUE, FALSE, FALSE, ANSI_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, TEXT("Arial"));
SelectObject(hdc, hFont);
SetTextColor(hdc, RGB(255, 0, 0));
TextOut(hdc, 10, 10, TEXT("Hello, world!"), 13);
ReleaseDC(hWnd, hdc);
DeleteObject(hFont);
return 0;
}

上述代码使用了CreateFont函数创建了一个红色、斜体、粗体、大小为20的Arial字体,然后使用SelectObject函数将该字体选入设备上下文(hdc)中,最后使用TextOut函数在指定位置输出文本。

注意:在使用CreateFont函数创建完字体后,需要使用DeleteObject函数将其删除,以释放内存。

0