[MFC]绘制文本、CFont类

1. DrawText:

    1) 是CDC类的成员函数,用于在客户区中绘制文本;

    2) 原型:virtual int CDC::DrawText(LPCTSTR lpszString, int nCount, LPRECT lpRect, UINT nFormat);

    3) lpszString是要显示的文本;

    4) nCount表示文本中字符的数量,如果为-1,则lpszString必须指定为以0结尾的C串,其长度会自动计算;

    5) lpRect存放文本所在矩形的坐标(客户区坐标),文本绘制会限制在该矩形中,如果想在整个客户区范围内绘制文本,则可以先使用GetClientRect的输出作为该参数;

    6) nFormat为文本格式,以DT_打头,即Draw Text的缩写,主要有:

DT_SINGLELINE:不换行,就一行,如果超出指定矩形范围将不显示

DT_CENTER:水平居中

DT_VCENTER:垂直居中


2. TextOut:

    1) 是运用最广泛的CDC函数绘制文本函数;

    2) 函数原型:有C串版本和CString版本的

         i. virtual BOOL TextOUt(int x, int y, LPCTSTR lpszString, int nCount);

         ii. BOOL TextOut(int x, int y, const CString& rString);

!!(x, y)为客户区坐标,即文本左上角的位置,因此这个函数是一行显示的;

    3) TextOut最大的缺点就是不支持制表符,如果在字符串中加入\t,则显示的时候将会是一个乱码,因此需要使用TabbedTextOut来支持制表符:

         i. 原型:

你可能感兴趣的:([MFC]绘制文本、CFont类)