GetTextMetrics:获取当前字体的信息
GetTextExtent:获取特定的字符串在屏幕上所占的宽度和高度
对于这两个函数的作用,我在编程的时候,也有一定的困惑。因此,我也想,其他人在编程的时候也肯定有 同样的困惑。所以我把他们解释一下。不足之处,还请大家多多的添加 批评~~其实,我们对什么困惑呢?函数的调用方法,还是在返回值上?
CDC::GetTextMetrics
作用:
返回当强设备描述表中的当前所用的字体的信息
函数原型:
BOOL GetTextMetrics(
LPTEXTMETRIC lpMetrics
) const;
参数:
lpMetrics (是一个指针)
返回指向TEXTMETRIC 结构的一个数据。
返回值:
非零值成功
要求:
包含头文件: afxwin.h
CDC::GetTextExtent
Call this member function to compute the width and height of a line of text using the current font to determine the dimensions.
调用这个函数,返回用当前字体写下的一行字符串的高度和宽度
函数原型:
CSize GetTextExtent(
LPCTSTR lpszString,
int nCount
) const;
CSize GetTextExtent(
const CString& str
) const;
参数
lpszString
指向一个字符串指针,也可以传递一个字符串对象。
nCount
指定字符在字符串中的数目
str
一个字符串对象,包含指定的字符。
返回值:
以逻辑单位返回字符串的尺寸,保存在一个CSize对象中
--------------------------------------------------------------------------
想得到当前DC中字体的信息,可以用GetTextMetrics,一般用得多的是取得字体高度。
GetTextExtent得到给定字符串的尺寸:高和宽,对具体的文字是准确的输出占用的尺寸。