文本输出相关函数
TextOut(hdc,x,y,psText,iLength) 向窗口的客户区输出一个字符串。hdc设备环境句柄;psText是指向字符串的指针;iLength是字符串的长度(字符为单位);x,y定义了字符串在客户区的开始位置。是最常用的字符输出函数。
格式化输出iLength = wsprintf(szBuffer,"%.2d",12.3)
设备环境DC
DC是GDI(图形设备接口)内维护的一个数据结构。它的某些值是图形的“属性”,这些属性决定了GDI绘制函数的工作细节。例如在TextOut函数中,DC的属性决定着文本的颜色,文本背景的颜色,x,y如何映射到客户区,以及Windows用什么字体显示文本。
绘制前必须获得一个HDC,绘制完成后必须释放HDC。获取HDC的两种方法:
一、处理WM_PAINT消息
hdc = BeginPaint(hwnd, &ps);//获取句柄,返回无效区域并有效化
//使用GDI函数绘图
EndPaint(hwnd, &ps);//释放句柄
Windows会为每个窗口维护一个绘制信息结构PAINTSTRUCT,程序只能使用前三个字段,其他供Windows内部使用。
typedef struct tagPAINTSTRUCT{
HDC hdc;
BOOL fErase;
RECT rcPaint;//定义了无效矩形的边界
BOOL fRestore;
BOOL fIncUpdate;
BYTE rgbReserved(32);
}PAINTSTRUCT;
二、处理其他消息:一般处理键盘消息和鼠标消息。
hdc = GetDC(hwnd);//获取句柄,返回整个客户区,不会使无效区域有效化
//使用GDI函数
ReleaseDC(hwnd, hdc)//释放句柄
与GetDC类似的函数是GetWIndowDC,返回整个窗口的设备环境句柄,可以在窗口的标题栏绘制。