在API函数CreateFont中,使用的默认字体高度是-12,表示使用12像素高的字体。
下面是一个使用CreateFont函数的代码示例,展示如何选择字体样式:
#include
int main() {
HWND hwnd = GetForegroundWindow();
HDC hdc = GetDC(hwnd);
// 设置字体属性
LOGFONT lf;
ZeroMemory(&lf, sizeof(LOGFONT));
lf.lfHeight = -12; // 默认字体高度为12像素
lf.lfWeight = FW_NORMAL; // 默认字体粗细为正常
lf.lfItalic = FALSE; // 默认字体为非斜体
lf.lfUnderline = FALSE; // 默认字体没有下划线
lf.lfStrikeOut = FALSE; // 默认字体没有删除线
lf.lfCharSet = DEFAULT_CHARSET; // 默认字符集
// 设置字体名称
lstrcpy(lf.lfFaceName, TEXT("Arial"));
// 创建字体
HFONT hFont = CreateFontIndirect(&lf);
// 将字体选入设备上下文
SelectObject(hdc, hFont);
// 在设备上下文中绘制文本
TextOut(hdc, 10, 10, TEXT("Hello, World!"), lstrlen(TEXT("Hello, World!")));
// 清理资源
DeleteObject(hFont);
ReleaseDC(hwnd, hdc);
return 0;
}
在上述代码中,我们首先获取了前台窗口的句柄和设备上下文,然后设置了字体属性,包括字体高度、粗细、斜体、下划线、删除线和字符集等。接下来,我们使用CreateFontIndirect函数根据设置的字体属性创建了一个字体对象,并将其选入设备上下文中。最后,使用TextOut函数在设备上下文中绘制了一段文本。
在这个示例中,我们将默认字体高度设置为-12,表示使用12像素高的字体。字体样式的选择通过设置LOGFONT结构中的各个属性来实现,比如字体粗细、斜体等。