WindowsAPI-GDI入门基础知识详解
现在我们已经知道了GDI的一些基本概念,接下来我们将学习GDI的一些常用函数。
TextOut函数
TextOut函数的作用是在我们指定的屏幕位置输出指定的字符串。
功能原型:
BOOL TextOut(XML:namespace prefix = o ns = " urn:schemas-Microsoft-com:Office:Office "/>
Hdperlink ' ' ' " > hdc,//设备描述表句柄
Nxstart,//输出的X轴水平位置
Intstart,//输出的y轴的垂直位置
Lpstr LP string,//指向要输出的字符串的长指针
int string//字符串长度
);
第一个参数是设备描述表的句柄,可以通过BeginPaint函数或GetDC函数获得。需要提到的是,设备描述表中的属性控制着显示字符串的一些细节,比如字体、字体颜色、文本背景等。但是需要注意的是,设备描述表的属性中存储的文本背景色和WNDCLASS结构中的屏幕背景是有区别的。文本背景指的是矩形/[窗口背景是一个画刷,Windows用它来擦除显示区域,它不是设备描述表结构的一部分。
第二个和第三个参数定义了字符串在显示区域的起始位置,其中x是水平位置,y是垂直位置,字符串的第一个字符位于坐标点(x,y)。在设备描述表的属性中,原点(x,y)都是0,也就是显示区域的左上角。至于坐标,坐标的不同映射方式决定了不同的单位。通常,传递给函数的坐标称为逻辑坐标。映射方法在设备描述表的属性中定义,默认的映射方法是MM_TEXT,可以在WinGdi.h头文件中找到。在MM_TEXT映射模式下,逻辑单位与实际单位相同,都是像素。对于坐标,X的值从左到右递增,Y的值从上到下递增(见下图)。MM_TEXT坐标系与paint structure中Windows定义的无效矩形使用的坐标系相同。
第四个参数是一个指向要输出的字符串的长指针。
第五个参数是要输出的字符串的实际长度。
在Windows下输出字符并不像我们想象的那么容易。我们已经知道输出字符与坐标有关。为了准确地输出字符,我们必须对系统的字体和字符大小有进一步的了解。
0条评论