GetTextMetrics

本文详细介绍了GetTextMetrics函数的功能及使用方法。该函数能够获取当前选定字体的度量值,并将其填充到指定的缓冲区中。适用于Windows NT 3.1及以上版本,Windows 95及以上版本以及Windows CE 1.0及以上版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GetTextMetrics

 

函数功能:该函数把指定缓冲区里的字体信息 填入当前选择字体的度量值。

函数原型:BOOL GetTextMetrics(HDC hdc, LPTEXTMETRIC lptm);

参数:

hdc:设备环境句柄。

lptm:指向结构TEXTMETRIC的指针,该结构用于接收度量值。

返回值:如果函数调用成功,返回值非零,如果函数调用失败,返回值是0。

Windows NT:若想获得更多错误信息,请调用GetLastError函数。

备注:Windows CE环境下,对任何给定的字体,其度量值并不必需与Windows桌面平台下的正文度量值相匹配。

速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:wingdi.h;库文件:gdi32.lib;Unicode:在Windows NT环境下实现为Unicode和ANSI两种版本。

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; HFONT hF_black, hF_big; PAINTSTRUCT ps; TEXTMETRIC tm; int X = 0, Y = 0; RECT rect; SIZE size; LPCWSTR lpsz_1 = L"这是一行红色的、字体为SYSTEM_FONT的字体,红色代表未来。"; LPCWSTR lpsz_2 = L"现在显示的是自定义字体,颜色为绿色,绿色代表生机勃勃。"; LPCWSTR lpsz_3 = L"现在展现在您面前的是蓝色的粗体字,蓝色代表广阔的海洋和天空。"; LPCWSTR lpsz_4 = L"当前字体为大号、斜体并带有下划线的文字。"; LPCWSTR lpsz_5 = L"现在您掌握了字体的操作了吗?祝您成功!"; switch (message) { case WM_CREATE: { SetTimer(hwnd, 9999, 50, NULL); break; } case WM_TIMER: { if (wParam == 9999) { InvalidateRect(hwnd, NULL, true); } break; } case WM_PAINT: { rect.right += 2; hdc = BeginPaint(hwnd, &ps); SetTextColor(hdc, RGB(255, 0, 0)); GetTextMetrics(hdc, &tm); TextOut(hdc, X, Y, lpsz_1, _tcsclen(lpsz_1)); Y = Y + tm.tmHeight + tm.tmExternalLeading; hF_black = CreateFont ( 20, 0, 0, 0, FW_HEAVY, 0, 0, 0, GB2312_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH|FF_DONTCARE, L"粗体字" ); SetTextColor(hdc, RGB(0, 255, 0)); SelectObject(hdc, hF_black); GetTextMetrics(hdc, &tm); TextOut(hdc, X, Y, lpsz_2, _tcsclen(lpsz_2)); Y = Y + tm.tmHeight + tm.tmExternalLeading; GetTextExtentPoint32(hdc, lpsz_2, _tcsclen(lpsz_2), &size); EndPaint(hwnd, &ps); return 0; } case WM_DESTROY: PostQuitMessage(0); return 0; default: return DefWindowProc(hwnd, message, wParam, lParam); } } 严重性 代码 说明 项目 文件 行 禁止显示状态 详细信息 错误(活动) E0167 "LPCWSTR" (aka "const WCHAR *") 类型的实参与 "LPCSTR" (aka "const CHAR *") 类型的形参不兼容 1 D:\桌面\win第5周作业\1\1.cpp 93 严重性 代码 说明 项目 文件 行 禁止显示状态 详细信息 错误(活动) E0167 "LPCWSTR" (aka "const WCHAR *") 类型的实参与 "const char *" 类型的形参不兼容 1 D:\桌面\win第5周作业\1\1.cpp 93 严重性 代码 说明 项目 文件 行 禁止显示状态 详细信息 错误(活动) E0167 "const wchar_t *" 类型的实参与 "LPCSTR" (aka "const CHAR *") 类型的形参不兼容 1 D:\桌面\win第5周作业\1\1.cpp 112
最新发布
03-19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值