GetTextMetrics与GetTextExtent的区别

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得到给定字符串的尺寸:高和宽,对具体的文字是准确的输出占用的尺寸。

posted @ 2011-10-26 15:59  麦飞  阅读(805)  评论(0编辑  收藏  举报