TextOut和TabbedTextOut、ExtTextOut的区别
TextOut是简单文本输出,不带格式的,可以控制文本的对齐方式
TabbedTextOut是可以控制带\t(制表符号)的文本
ExtTextOut是在TextOut的基础上,增加字符间距、背景颜色和剪裁框进行显示
TextOut 用当前选择的字体、背景颜色和正文颜色将一个字符串写到指定位置。
BOOL TextOut(
HDC hdc, // 设备描述表句柄
int nXStart, // 字符串的开始位置 x坐标
int nYStart, // 字符串的开始位置 y坐标
LPCTSTR lpString, // 字符串
int cbString // 字符串中字符的个数
);
TabbedTextOut 功能为该函数将一个字符串写到指定的位置,并按制表位位置数组里的值展开制表符。正文以当前选择的字体、背景色和字体写入。
TabbedTextOut函数定义
WINUSERAPI
LONG
WINAPI
TabbedTextOutW(
__in HDC hdc, //绘图设备上下文
__in int x, //起始X坐标
__in int y, //起始Y坐标
__in_ecount(chCount) LPCWSTR lpString, //要显示的字符串,字符串里面带制表符号\t
__in int chCount, //字符串的长度,如果设置-1,则全部显示,可以用lstrlen(szBuffer)函数获取
__in int nTabPositions, //制表符\t的各数,可以设置nArray数组长度,1,或是0
__in_ecount_opt(nTabPositions) CONST INT *lpnTabStopPositions, //设置为nArray时,使用数组里的长度,使用1时,使用指针所指长度,如设置为0时,则使用Windows系统默认长度(一般是指当前字符宽度的8位)
__in int nTabOrigin); //在起始位置上进行偏移的长度
#ifdef UNICODE
#define TabbedTextOut TabbedTextOutW
#else
#define TabbedTextOut TabbedTextOutA
#endif // !UNICODE
ExtTextOut 是在TextOut的基础上增加了字符间距、背景颜色和裁剪框进行控制
BOOL ExtTextOut(
HDC hdc, //绘图设备上下文
int X, //X起始位置
int Y, //Y起始位置
UINT fuOptions, //指定如何使用应用程序定义的矩形
CONST RECT *lprc, //用于裁剪或作不透明物矩形的