TextOut是用于显示文本的最常用的图像设备接口(GDI)函数。语法是:
TextOut(hdc,x,y,psText,iLength);
第一个参数是设备描述表句柄,设备描述表的属性控制了被显示的文本串的特征。
当程序需要绘图时,它必须先获取设备描述表句柄。
获取了该句柄后,Windows用默认的属性值填充内部设备描述表结构。
获取设备描述表句柄的方法“
1、处理WM_PAINT消息时,形式如下:
case WM_PAINT:
hdc = BeginPaint(hwnd,&ps); //BeginPaint返回设备描述表句柄
[use GDI function]
EndPaint(hwnd,&ps); //EndPaint释放设备描述表句柄
注:BeginPaint与EndPaint需成对出现
BeginPaint一般在准备绘制时导致无效区域的背景被擦除。
窗口过程在调用了BeginPaint之后,整个客户区即变为有效。
2、调用GetDC来获取句柄,使用完后调用ReleaseDC:
hdc = GetDC(hwnd);
[use GDI functions]
ReleaseDC(hwnd,hdc);
GetDC返回的设备描述表句柄具有一个剪取矩形,它等于整个客户区。
可以在客户区的某一个部分绘图,而不只是在无效矩形上绘图。
GetDC不会使任何无效区域变为有效。
参数x,y定义客户区内字符串的开始位置,x是水平位置,y为垂直位置。默认设备描述表中,原点为客户区的左上角。
psText参数是指向字符长的指针,iLength是串中字符的个数。若psText指向Unicode字符串,则串中的字节数就是iLength的两倍。